IAM JSON ポリシー要素Version
あいまいさに関する注意
この Version
JSON ポリシー要素はポリシーバージョンとは異なります。Version
ポリシー要素は、ポリシー内で使用され、ポリシー言語のバージョンを定義します。一方で、ポリシーバージョンは、IAM でカスタマー管理ポリシーを変更すると作成されます。変更されたポリシーによって既存のポリシーが上書きされることはありません。代わりに、IAM は管理ポリシーの新しいバージョンを作成します。管理ポリシーに対する複数のバージョンのサポートに関する情報を探している場合は、「IAM ポリシーのバージョニング」を参照してください。
Version
ポリシー要素は、このポリシーを処理するために使用される言語構文ルールを指定します。使用可能なポリシーの機能をすべて使用するには、すべてのポリシーの Statement
要素の外部にある以下の Version
要素を含めます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" } ] }
IAM は以下の Version
要素値をサポートしています。
-
2012-10-17
. これはポリシー言語の現行バージョンであり、常にVersion
要素を含め、2012-10-17
に設定する必要があります。このようにしない場合、このバージョンで導入されたポリシー変数などの機能は使用できません。 -
2008-10-17
. これはポリシー言語の旧バージョンです。既存のポリシーで古めのものでは、このバージョンが表示される場合があります。新規ポリシーを作成するときや既存ポリシーを更新するときは、この旧バージョンを使用しないでください。ポリシー変数などの新しい機能は、ポリシーでは機能しません。たとえば、${aws:username}
などの変数は変数として認識されず、代わりにポリシー内のリテラル文字列として扱われます。