本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
cfcT 清单文件的资源部分
本主题介绍了 cfcT 清单文件的资源部分,您将在其中定义自定义所需的资源。cfcT 清单文件的这一部分从关键字资源开始,一直持续到文件末尾。
清单文件的资源部分指定了 cfcT 通过代码管道自动部署的 AWS CloudFormation StackSets RCPs、或 AWS Organizations SCPs 和。您可以列出 OUs账户和区域来部署堆栈实例。
堆栈实例部署在账户级别,而不是 OU 级别。 SCPs 并 RCPs 在 OU 级别部署。有关更多信息,请参阅 Build your own customizations。
以下示例模板描述了清单文件的 resources 部分中可能可用的条目。
resources: # List of resources - name: [String] resource_file: [String] [Local File Path, S3 URI, S3 URL] deployment_targets: # account and/or organizational unit names accounts: # array of strings, [0-9]{12} - 012345678912 - AccountName1 organizational_units: #array of strings - OuName1 - OuName2 deploy_method: scp | stack_set | rcp parameters: # List of parameters [SSM, Alfred, Values] - parameter_key: [String] parameter_value: [String] export_outputs: # list of ssm parameters to store output values - name: /org/member/test-ssm/app-id value: $[output_ApplicationId] regions: #list of strings - [String]
本主题的其余部分将详细介绍前面代码示例中显示的关键字的定义。
名称-与关联的名称 AWS CloudFormation StackSets。 您提供的字符串为堆栈集分配了一个更便于用户使用的名称。
-
类型:字符串
-
必需:是
-
有效值:a-z、A-Z、0-9 和下划线(_)。任何其他字符都将自动替换为下划线(_)。
description – 资源的描述。
-
类型:字符串
-
必需:否
resource_ file — 可以将此文件指定为清单文件的相对位置、指向 JSON 格式的 AWS CloudFormation 模板或 AWS Organizations 服务控制策略的 Amazon S3 URI 或 URL,用于创建 AWS CloudFormation 资源, SCPs或。 RCPs
-
类型:字符串
-
必需:是
-
以下示例显示了
resource_file
,它是配置包中资源文件的相对位置。resources: - name: SecurityRoles resource_file: templates/custom-security.template
-
以下示例显示了以 Amazon S3 URI 形式提供的资源文件
resources: - name: SecurityRoles resource_file: s3://
amzn-s3-demo-bucket
/[key-name] -
以下示例显示了以 Amazon S3 HTTPS URL 形式提供的资源文件
resources: - name: SecurityRoles resource_file: https://bucket-name.s3.Region.amazonaws.com/key-name
注意
如果您提供的是 Amazon S3 URL,请验证存储桶策略是否允许您在其中部署 CfCT 的 AWS Control Tower 管理账户进行读取访问。如果您提供的是 Amazon S3 HTTPS URL,请验证该路径是否使用了点表示法。例如,
S3.us-west-1
。CfCT 不支持在 S3 与区域之间包含短划线的端点,例如S3‐us-west-2
。 -
以下示例显示了 Amazon S3 存储桶策略和存储资源的 ARN。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::
AccountId
:root"}, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::my-bucket
/*” } ] }您将使用正在部署 cfcT 的管理 AWS 账户的账户 ID 替换示例中显示的
AccountId
变量。有关更多示例,请参阅《Amazon Simple Storage Service 用户指南》中的存储桶策略示例。
parameters – 指定 AWS CloudFormation 参数的名称和值。
-
类型 MapList:
-
必需:否
parameters 部分包含成对的键/值参数。以下伪模板概述了 parameters 部分。
parameters: - parameter_key: [String] parameter_value: [String]
-
parameter_key – 与参数关联的键。
-
类型:字符串
-
必需:是(在参数属性下)
-
有效值:a-z、A-Z 和 0-9
-
-
parameter_value – 与参数关联的输入值。
-
类型:字符串
-
必需:是(在参数属性下)
-
deploy_method – 用于将资源部署到账户中的部署方法。当前,deploy_met hod 支持使用资源部署stack_set
选项(通过部署) AWS CloudFormation StackSets、scp
选项部署资源(如果您正在部署 SCPs)或rcp
选项(如果您正在部署)来部署资源。 RCPs
-
类型:字符串
-
有效值:
stack_set
|scp
|rcp
-
必需:是
deplo@@ yment_t argets — 账户或组织单位 (OUs) 列表,cfcT 将在其中部署 AWS CloudFormation 资源,指定为账户或组织单位。
注意
如果要部署 SCP 或 RCP,则目标必须是 OU,而不是账户。
-
类型:
account name
或account number
字符串列表,表示此资源将部署到给定的账户列表中,或OU names
字符串列表,表示此资源将部署到给定的 OU 列表中。 -
必需:accounts 或 organizational_units 中至少一个
-
accounts:
类型:
account name
或account number
字符串列表,表示此资源将部署到给定的账户列表中。 -
organizational_units:
类型:
OU names
字符串列表,表示此资源将部署到给定的 OU 列表中。如果您提供的 OU 不包含账户且未添加 accounts 属性,则 CfCT 只会创建堆栈集。注意
组织的管理账户 ID 不是允许的值。默认情况下,CfcT 不支持将堆栈实例部署到组织的管理账户中。如果您有特殊用例,请参阅 Root OU。
-
export_outputs – 表示 SSM 参数键的名称/值对列表。这些 SSM 参数键允许您将模板输出存储到 SSM Parameter Store 中。输出仅供清单文件前面定义的其他资源参考。
export_outputs: # List of SSM parameters - name: [String] value: [String]
-
类型:name 和 value 键值对的列表。name 包含 SSM Parameter Store 键的
name
字符串,value 包含该参数的value
字符串。 -
有效值:任何字符串或与模板输出
$[output_
变量CfnOutput-Logical-ID
]CfnOutput-Logical-ID
对应的变量。有关 AWS CloudFormation 模板中 “输出” 部分的更多信息,请参阅AWS CloudFormation 用户指南中的输出。 -
必需:否
例如,以下代码片段将模板 VPCID
输出变量存储到名为 /org/member/audit/vpc_id
的 SSM 参数键中。
export_outputs: # List of SSM parameters - name: /org/member/audit/VPC-ID value: $[output_VPCID]
注意
export_outputs 键名称可能包含一个 output
以外的值。例如,如果 name 为 /org/environment-name
,value 可能为 production
。
区域 — cfcT 将在其中部署 AWS CloudFormation 堆栈实例的区域列表。
-
类型:任何 AWS 商业区域名称列表,表示此资源将部署到给定的区域列表中。如果清单文件中不存在此关键字,则资源将仅部署在主区域中。
-
必需:否