你如何给json IAM策略添加评论?

IAM政策是复杂的野兽。 在制作它们时添加评论会很好。 例如,

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1422979261000",
      "Effect": "Allow",
      "Action": [
        "route53:ListHostedZones",
      ],
      "Comment": "Foo"
      # or Bar
      "Resource": [
        "*"
      ]
    }
  ]
}

这些都不起作用。 是否存在向这些策略添加注释的方法?


不,一般情况下,您在JSON中不允许使用评论。 为了有效地创建评论,您需要允许描述评论的新元素。 由于AWS是这个json对象的主人,他们将负责允许这个。

他们目前只允许以下内容:

  • ID
  • 声明
  • 希德
  • 影响
  • 主要
  • NotPrincipal
  • 行动
  • NotAction
  • 资源
  • NotResource
  • 条件

  • 超安东尼的答案在严格意义上的“评论”是正确的 - 但是,在大多数情况下,您至少可以使用Sid作为伪评论来传达意图或任何约束等。

    Sid(语句ID)是为策略声明提供的可选标识符。 您可以将一个Sid值分配给语句数组中的每个语句。 在允许您指定ID元素(例如SQS和SNS)的服务中,Sid值只是策略文档ID的子标识。 在IAM中,Sid值在策略中必须是唯一的。 [强调我的]

    例如,在(非常有帮助的)AWS博客中使用TheseActionsSupportResourceLevelPermissions可以说明这一点。揭秘EC2资源级权限:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "TheseActionsSupportResourceLevelPermissions",
                "Effect": "Allow",
                "Action": [
                    "ec2:RunInstances",
                    "ec2:TerminateInstances",
                    "ec2:StopInstances",
                    "ec2:StartInstances"
                ],
                "Resource": "arn:aws:ec2:us-east-1:accountid:instance/*"
            }
        ]
    }
    
  • 正如在Sid中提到的一些服务可能需要这个元素并且对它有唯一性要求,但是我还没有经历由此产生的命名限制。
  • 链接地址: http://www.djcxy.com/p/3399.html

    上一篇: How do you add a comment to a json IAM policy?

    下一篇: How to parse json file with c