cfcT 清单文件的资源部分 - AWS Control Tower

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

  • 类型:字符串

  • 必需:是

  1. 以下示例显示了 resource_file,它是配置包中资源文件的相对位置。

    resources: - name: SecurityRoles resource_file: templates/custom-security.template
  2. 以下示例显示了以 Amazon S3 URI 形式提供的资源文件

    resources: - name: SecurityRoles resource_file: s3://amzn-s3-demo-bucket/[key-name]
  3. 以下示例显示了以 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

  4. 以下示例显示了 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 nameaccount number 字符串列表,表示此资源将部署到给定的账户列表中,或 OU names 字符串列表,表示此资源将部署到给定的 OU 列表中。

  • 必需accountsorganizational_units 中至少一个

    • accounts

      类型account nameaccount 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]
  • 类型namevalue 键值对的列表。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-namevalue 可能为 production

区域 — cfcT 将在其中部署 AWS CloudFormation 堆栈实例的区域列表。

  • 类型:任何 AWS 商业区域名称列表,表示此资源将部署到给定的区域列表中。如果清单文件中不存在此关键字,则资源将仅部署在主区域中。

  • 必需:否