如何编辑我的 Amazon SNS 主题的访问策略?

上次更新日期:2021 年 9 月 20 日

我想允许其他 AWS Identity and Access Management(IAM)实体访问我的 Amazon Simple Notification Service(Amazon SNS)主题。如何编辑我的 Amazon SNS 主题的访问策略以授予所需的权限?

解决方法

要使用 Amazon SNS 控制台编辑您的 Amazon SNS 主题的访问策略,请执行以下操作:

1.    打开 Amazon SNS 控制台

2.    从左侧导航窗格中选择 Topics (主题)

3.    选择您的 Amazon SNS 主题的名称。

4.    选择 Edit (编辑) 按钮。

5.    展开 Access policy - optional (访问策略 – 可选) 部分。

6.    编辑访问策略以授予您的使用案例所需的权限。

注意:有关如何编写访问策略的更多信息,请参阅在 Amazon SNS 中管理访问权限概览

7.    选择 Save Changes (保存更改)

要使用 AWS CLI 编辑您的 Amazon SNS 主题的访问策略,请执行以下操作:

注意:如果您在运行 AWS Command Line Interface(AWS CLI)命令时遇到错误,请确保您使用的是最新版本的 AWS CLI

要修改、添加或移除权限,请运行以下 SetTopicAttributes 命令:

重要信息:<TopicARN> 替换为您的主题的 Amazon Resource Name(ARN)。将 testpolicy.json 替换为您的策略文档的路径。

aws sns set-topic-attributes --topic-arn '<TopicARN>' --attribute-name 'Policy' --attribute-value file://testpolicy.json

– 或者 –

要仅添加权限,请运行以下 AddPermission 命令:

重要信息:<TopicARN> 替换为您的主题的 ARN。将 AllowProdAccountsXXX 替换为新策略声明的唯一标识符。将 AWS Account ID 替换为您希望允许访问特定操作的 IAM 实体的账户 ID。将 PublishSubscribe 替换为您希望允许指定 IAM 实体执行的操作列表。

sns add-permission  --topic-arn '<TopicARN>' --label 'AllowProdAccountsXXX' --aws-account-id 'AWS Account ID' --action-name 'Publish' 'Subscribe'

这篇文章对您有帮助吗?


您是否需要账单或技术支持?