amazon-web-services - AWS CloudFormation 条件仅在主组织(根)帐户上运行时执行?

标签 amazon-web-services aws-cloudformation

全部,

我正在创建一个 CloudFormation 模板。我想仅当模板在根组织的主账户中运行时有条件地添加 IAM 策略。

我四处搜索但找不到示例。

这就是我现在正在做的事情。我只是问模板是否应在创建过程中包含策略。

"Parameters": {
    "IncludeOrganizationPolicy": {
        "Description": "Only set to true for the root org",
        "Type": "String",
        "Default": "false",
        "AllowedValues": [
            "true",
            "false"
        ]
    },
}


理想情况下,我希望无需请求输入参数即可执行此操作。如下所示,但其中 AWS::AccountId 是主根账户。

"Conditions": {
    "CreateSPOrganizationPolicy": {
        "Fn::Equals": [
            {
                "Ref": "AWS::AccountId"
            },
            "<the root account id>"
        ]
    }
}

此外,我无法对 root 帐户 ID 进行硬编码。这些脚本将提供给客户在他们的 AWS 环境中运行。

谢谢!

粉色

最佳答案

这并没有回答问题,但这个问题出现在相关搜索中,所以我想我应该发布我所做的事情。

我希望单个 AWS 账户的条件成立,这样我就可以仅在单个账户中创建资源。我不想使用参数,因为我已经有很多参数,然后我必须再次运行堆栈集/模板。

这是有效的条件

Conditions: 
  Account123Only: !Equals [ !Ref AWS::AccountId, "123123123123"]

关于amazon-web-services - AWS CloudFormation 条件仅在主组织(根)帐户上运行时执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56484889/

相关文章:

frontend - amazon lex-发送凭证来查询数据库

amazon-web-services - AWS S3 Cloudformation 更新堆栈失败

amazon-web-services - Cloudformation 模板 Lambda 环境变量错误 - 属性变量的值必须是带有字符串的对象

aws-cloudformation - Tachyon 图像处理 - CloudFront 配置 - 指定的键不存在 - NoSuchKey

amazon-web-services - 我可以使用 VPC 终端节点从我的账户 ec2 连接到不同账户 AWS 服务(s3、dynamoDb)吗?

java - 将 AWS 签名 header 添加到所有放心请求中

amazon-web-services - AWS Lambda 热启动和冷启动

amazon-web-services - AWS CloudFormation 模板 - 必需值

amazon-web-services - 如何替换 AWS CloudFormation 中的某些字符串

amazon-web-services - 如何从 VSCode 更新我的 AWS Lambda 函数?