IAMポリシーは複雑な獣です。それらを作成するときにコメントを追加するといいでしょう。例えば、
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1422979261000",
"Effect": "Allow",
"Action": [
"route53:ListHostedZones",
],
"Comment": "Foo"
# or Bar
"Resource": [
"*"
]
}
]
}
これらはどちらも機能しません。これらのポリシーにコメントを追加する方法はありますか?
いいえ。一般的に、あなたが説明するコメントは JSONでは許可されていません です。コメントを効果的に作成するには、コメントを説明する新しい要素を許可する必要があります。 AWSはこのjsonオブジェクトのマスターであるため、これを許可する責任があります。
それらは現在 次の要素のみを許可します :
Hyper Anthonyの answer は「コメント」の厳密な意味で正しいですが、ほとんどの場合、疑似コメントにSid
を使用して、意図や制約などを伝えることができます。 :
Sid(ステートメントID)は、ポリシーステートメントに指定するオプションの識別子です。ステートメント配列の各ステートメントにSid値を割り当てることができます。 SQSやSNSなどのID要素を指定できるサービスでは、Sid値はポリシードキュメントのIDのサブ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/*"
}
]
}