我想允许其他 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。将 Publish 和 Subscribe 替换为您希望允许指定 IAM 实体执行的操作列表。
sns add-permission --topic-arn '<TopicARN>' --label 'AllowProdAccountsXXX' --aws-account-id 'AWS Account ID' --action-name 'Publish' 'Subscribe'
相关信息
Amazon SNS 访问控制的示例案例
Amazon SNS 的操作、资源和条件键