ポリシー ステートメントでリソースへのアクセスを許可または拒否するユーザ、グループ、またはテナント アカウントを指定するには、Principal要素を使用します。
- バケット ポリシーの各ポリシー ステートメントには、Principal要素を含める必要があります。グループはプリンシパルとみなされるため、グループ ポリシーのポリシー ステートメントにはPrincipal要素は不要です。
- ポリシーでは、「Principal」要素または「NotPrincipal」要素(除外の場合)でプリンシパルを指定します。
- IDまたはARNを使用してアカウントベースのアイデンティティを指定する必要があります。
"Principal": { "AWS": "account_id"}
"Principal": { "AWS": "identity_arn" }
- 次の例では、テナント アカウントID 27233906934684427525を使用しています。この場合、rootアカウントとそのすべてのユーザが含まれます。
"Principal": { "AWS": "27233906934684427525" }
- rootアカウントのみを指定する場合は次のようになります。
"Principal": { "AWS": "arn:aws:iam::27233906934684427525:root" }
- 特定のフェデレーション ユーザ(「Bob」)のみを指定する場合は次のようになります。
"Principal": { "AWS": "arn:aws:iam::27233906934684427525:federated-user/Bob" }
- 特定のフェデレーション グループ(「Managers」)のみを指定する場合は次のようになります。
"Principal": { "AWS": "arn:aws:iam::27233906934684427525:federated-group/Managers" }
- 匿名プリンシパルを指定する場合は次のようになります。
"Principal": "*"
Bobが組織を離れてユーザ名
Bobを削除したあとに、新たに加わったBobに同じユーザ名
Bobを割り当てた場合、以前に在籍していたBobに付与されていた権限が意図せずに継承されることがあります。このようなあいまいさを排除するために、ユーザ名の代わりにUUIDを使用できます。次に例を示します。
arn:aws:iam::27233906934684427525:user-uuid/de305d54-75b4-431b-adb2-eb6b9e546013
グループ ポリシーの作成時は、まだ存在しないグループやユーザの名前もプリンシパルの値で指定することができます。