コンテナポリシーの例: ロールへのクロスアカウントフルアクセス - AWS Elemental MediaStore

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コンテナポリシーの例: ロールへのクロスアカウントフルアクセス

このポリシー例では、ユーザーが HTTP 経由でログインしていることを条件として、ユーザーにアカウント内のすべてのオブジェクトを更新するクロスアカウントアクセスが許可されます。また、クロスアカウントアクセスでは、指定されたロールを引き受けたアカウントへ HTTP または HTTPS 経由でのオブジェクトの削除、ダウンロード、紹介が許可されます。

  • 最初のステートメントは CrossAccountRolePostOverHttps です。これにより、任意のオブジェクトに対する PutObject オペレーションへのアクセスが許可されます。また、このアクセスは、指定したアカウントが <role name> に指定されたロールを引き受けた場合、そのアカウントのすべてのユーザーに許可されます。このアクセスの条件として、オペレーションでは HTTPS を使用する必要があります (この条件は、PutObject へのアクセスを提供する場合に必ず含める必要があります)。

    つまり、クロスアカウントアクセスを持つすべてのプリンシパルが PutObject にアクセスできますが、アクセス方法は HTTPS 経由に限られます。

  • 2 番目のステートメントは CrossAccountFullAccessExceptPost です。任意のオブジェクトに対する、PutObject 以外のすべてのオペレーションへのアクセスが許可されます。このアクセスは、指定したアカウントが <role name> に指定されたロールを引き受けた場合、そのアカウントのすべてのユーザーに許可されます。このアクセスでは、オペレーションで HTTPS を使用することが条件として要求されません。

    つまり、クロスアカウントアクセス権限を持つすべてのアカウントが DeleteObjectGetObject など (ただし、PutObject を除く) にアクセスできます。また、アクセスには HTTP または HTTPS を使用できます。

    2 番目のステートメントから PutObject を除外しない場合、ステートメントを有効になりません (PutObject を含める場合は、HTTPS を条件として明示的に設定する必要があるためです)。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CrossAccountRolePostOverHttps", "Effect": "Allow", "Action": "mediastore:PutObject", "Principal":{ "AWS": "arn:aws:iam::<other acct number>:role/<role name>"}, "Resource": "arn:aws:mediastore:<region>:<owner acct number>:container/<container name>/*", "Condition": { "Bool": { "aws:SecureTransport": "true" } } }, { "Sid": "CrossAccountFullAccessExceptPost", "Effect": "Allow", "NotAction": "mediastore:PutObject", "Principal":{ "AWS": "arn:aws:iam::<other acct number>:role/<role name>"}, "Resource": "arn:aws:mediastore:<region>:<owner acct number>:container/<container name>/*" } ] }