步驟 5:選用 - 提供使用者發佈至 Amazon SNS 主題的許可 - Amazon Simple Notification Service

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

步驟 5:選用 - 提供使用者發佈至 Amazon SNS 主題的許可

根據預設,主題擁有者擁有發佈至主題的許可。若要讓其他使用者或應用程式發佈至主題,您應該使用 AWS Identity and Access Management (IAM) 授予主題的發佈許可。如需將 Amazon SNS 動作的許可授予 IAM 使用者的詳細資訊,請參閱 使用以身分為基礎的政策搭配 Amazon SNS

控制對主題的存取有兩種方式:

  • 新增政策到 IAM 使用者或群組。提供使用者主題的許可的最簡單方式,是建立群組和新增適當的政策到群組,然後新增使用者到該群組。從群組新增和移除使用者比起追蹤對個別使用者設定了哪些政策要來得簡單多。

  • 新增政策到主題。如果您想要提供主題的許可給其他 AWS 帳戶,您可以做的唯一方式是透過加入已經有的政策,做為您想要提供許可的 AWS 帳戶 帳戶的委託人。

對於大多數案例,您應使用第一個方式 (透過新增或移除適當使用者到群組,來套用政策到群組和管理許可)。如果您需要提供許可給其他帳戶中的使用者,請使用第二個方式。

如果已新增下列政策到 IAM 使用者或群組,您要提供該使用者或該群組的成員許可,以對主題取得 MyTopic 執行 sns:Publish 動作。

{ "Statement":[{ "Sid":"AllowPublishToMyTopic", "Effect":"Allow", "Action":"sns:Publish", "Resource":"arn:aws:sns:us-east-2:123456789012:MyTopic" }] }

下列範例政策顯示如何提供其他帳戶主題的許可。

注意

當您授予帳戶中資源的另一個 AWS 帳戶 存取權時,您也會授予對該資源具有管理員層級存取 (萬用字元存取) 許可的 IAM 使用者。其他帳戶中的所有其他 IAM 使用者都會自動拒絕存取您的資源。如果您想要提供該 AWS 帳戶 資源存取權的特定 IAM 使用者,則具有管理員層級存取權的帳戶或 IAM 使用者必須將資源的許可委派給這些 IAM 使用者。如需跨帳戶委派的詳細資訊,請參閱使用 IAM 指南中的啟用跨帳戶存取權

如果您已新增下列政策到帳戶 123456789012 中的主題「我的主題」,您要提供帳戶 111122223333 許可,以對該主題執行 sns:Publish 動作。

{ "Statement":[{ "Sid":"Allow-publish-to-topic", "Effect":"Allow", "Principal":{ "AWS":"111122223333" }, "Action":"sns:Publish", "Resource":"arn:aws:sns:us-east-2:123456789012:MyTopic" }] }