【问题标题】:Is there a way in Cloudformation to make IAM policies use conditional ResourcesCloudformation 中有没有办法让 IAM 策略使用条件资源
【发布时间】:2017-09-15 02:41:11
【问题描述】:

我有一堆云形成模板,其中包含用于警报的条件资源。只有产品堆栈才能创建这些资源。我需要我在堆栈中创建的 IAM 策略来反映这些条件资源。到目前为止,我还没有找到一种方法来做到这一点。我曾尝试在单独的政策文档中使用 Condition:,但它似乎忽略了它。

【问题讨论】:

    标签: amazon-cloudformation


    【解决方案1】:

    我会检查 Fn::If 内在函数。对于这样的东西真的很有用。例如,如果我有一个 ShouldGenerateBucket 条件和两个存储桶,constant-bucket 将始终被创建,conditional-bucket 可能会被创建,我可以在我的策略中使用它:

    Type: "AWS::IAM::Policy"
    Properties: 
      PolicyName: "RoleAccess"
      PolicyDocument: 
        Version: "2012-10-17"
        Statement: 
          -
            Effect: "Allow"
            Action: "s3:*""
            Resource:
              - arn:aws:s3:::constant-bucket
              - !If
                - ShouldGenerateBucket
                - arn:aws:s3:::conditional-bucket
                - !Ref AWS::NoValue
    

    如果ShouldGenerateBuckettrue,这将添加额外的资源资源,否则忽略它。

    【讨论】:

    • 好的,谢谢,我要测试一下。我试图对此进行测试,因为 CF 似乎正在给我发布上传我的模板。我认为他们遇到了问题。
    • 哦,是的,如果你在us-east-1,它似乎有一个increased error rate at the moment,它对 CloudFormation 有相当大的依赖
    猜你喜欢
    • 2021-07-31
    • 2020-11-09
    • 2023-03-29
    • 2020-07-21
    • 2020-09-04
    • 2020-10-23
    • 2018-02-28
    • 2020-09-22
    • 2016-10-17
    相关资源
    最近更新 更多