【问题标题】:create AWS IAM Policy using cloudformation使用 cloudformation 创建 AWS IAM 策略
【发布时间】:2018-04-13 08:51:59
【问题描述】:

我有一个已创建的 IAM 角色 (MyIAMrole)。我想使用 Cloudformation 模板将策略附加到此角色。

"Mypolicy":{
      "Type": "AWS::IAM::Policy",
      "Properties": {
        "PolicyName": "assume-role-policy",
        "PolicyDocument": {
          "Version" : "2012-10-17",
        "Statement": [
        { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "*" }
      ]
    },
    "Roles": [ { "Ref": "arn:aws:iam::*:role/MyIAMrole" } ]
  }
}

当我尝试验证这一点时,我收到一条错误消息,提示“未解决的参考选项”。

如何将此策略附加到现有角色?

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation amazon-iam


    【解决方案1】:

    通过引用角色的名称而不是 ARN,我设法让您的代码 sn-p 工作。

    根据AWS::IAM::Policy documentation

    角色:此策略将附加到的 AWS::IAM::Roles 的名称

    但是,当堆栈进入 CREATE_COMPLETE 时,我看不到 IAM 的“策略”部分中列出的策略,也看不到附加到引用角色的策略。

    可能您不能使用 CloudFormation 将策略附加到现有角色。您可能需要创建角色作为 CloudFormation 模板的一部分才能附加角色。

    【讨论】:

    • 您是如何通过仅提供名称来验证模板的?即使在那里我也遇到了问题。From this link,它表明“资源逻辑 ID 存在或在您的模板中定义,或者您的环境中资源的物理 ID 存在”。那么这意味着如果我提供物理 ID,它应该可以正常工作?
    • 文档(如我的回答所示)说 Roles 想要角色的 names。我没有运行验证——我把它放在一个实际的堆栈中并运行它。
    • 我能够使用角色名称并将其附加到现有角色
    • 嗨@vkr,如果这个或任何答案解决了您的问题,请点击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。
    • 你好@JohnRotenstein! FWIW - 我还可以在此处将策略附加到 Beanstalk 资源中的现有角色:github.com/russau/renew-certs-flask/blob/master/.ebextensions/…
    猜你喜欢
    • 2018-02-28
    • 1970-01-01
    • 2017-01-31
    • 2017-06-09
    • 2020-12-16
    • 1970-01-01
    • 2021-10-15
    • 2022-01-19
    • 2020-02-12
    相关资源
    最近更新 更多