範例容器政策:角色的跨帳戶完整存取 - AWS Elemental MediaStore

支援終止通知:2025 年 11 月 13 日, AWS 將停止對 AWS Elemental 的支援 MediaStore。2025 年 11 月 13 日後,您將無法再存取 MediaStore 主控台或 MediaStore 資源。如需詳細資訊,請造訪此部落格文章

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

範例容器政策:角色的跨帳戶完整存取

此範例政策允許跨帳戶存取來更新帳戶中的任何物件,只要使用者是透過 HTTP 登入即可。這也允許對已擔任指定角色的帳戶進行跨帳戶存取,透過 HTTP 或 HTTPS 來刪除、下載和描述物件:

  • 第一個陳述式是 CrossAccountRolePostOverHttps。這允許對任何物件進行 PutObject 操作存取,並允許指定之帳戶的任何使用者進行此存取 (如果該帳戶有擔任 <角色名稱> 所指定的角色)。政策會指定此存取有其必要條件,也就是必須使用 HTTPS 進行操作 (提供 PutObject 存取權時,務必要包含此條件)。

    換言之,任何擁有跨帳戶存取權的委託人都可以存取 PutObject,但只能透過 HTTPS 進行。

  • 第二個陳述式是 CrossAccountFullAccessExceptPost。這允許對任何物件進行除了 PutObject 以外的所有操作存取。這允許指定之帳戶的任何使用者進行此存取 (如果該帳戶有擔任 <角色名稱> 所指定的角色)。此存取沒有限定條件要求使用 HTTPS 進行操作。

    換言之,任何具有跨帳戶存取權的帳戶都可以進行 DeleteObjectGetObject 等存取 (但 PutObject 除外),而且可以透過 HTTP 或 HTTPS 進行此存取。

    如果沒有將 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>/*" } ] }