形式 - jsonのIAMポリシーにコメントをどのように追加しますか?




sns http aws (2)

IAMの方針は複雑な獣です。 それらを作るときにコメントを追加するとよいでしょう。 例えば、

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

これらのどちらも機能しません。 これらのポリシーにコメントを追加する方法はありますか?


ハイパー・アンソニーの答えは、厳密な「コメント」の意味では正しいですが、ほとんどの状況では、意図や拘束などを伝達するために少なくとも擬似コメントにSidを使用できます。

Sid(ステートメントID)は、ポリシーステートメントに指定するオプションの識別子です 。 ステートメント配列の各ステートメントにSid値を割り当てることができます。 SQSやSNSなどのID要素を指定できるサービスでは、Sid値はポリシー文書のIDのサブIDに過ぎません。 IAMでは、Sid値はポリシー内で一意でなければなりません。 [強調する]

これは、(非常に有益な)AWSブログの投稿内でTheseActionsSupportResourceLevelPermissions使用することによって例示されますTheseActionsSupportResourceLevelPermissions リソースレベルの権限の解読

{
    "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で述べたように、いくつかのサービスではこの要素が必要となる可能性があり、固有の要件がありますが、名前付けの制約はまだありません。

いいえ。一般的に、あなたが記述したコメントはJSONでは使用できません 。 効果的にコメントを作成するには、コメントを記述する新しい要素を許可する必要があります。 AWSはこのjsonオブジェクトのマスターなので、これを許可する責任はAWSにあります。

現在、次の要素のみが許可されています

  • バージョン
  • イド
  • ステートメント
  • シド
  • 効果
  • 主要な
  • NotPrincipal
  • アクション
  • NotAction
  • リソース
  • NotResource
  • 調子




amazon-iam