上次更新时间:2021 年 2 月 17 日
我希望 AWS 账户中的 Amazon Simple Notification Service (Amazon SNS) 主题接受我在 AWS Organizations 中的组织的任何 AWS 账户发布的消息。该如何进行设置?
简短描述配置 Amazon SNS 主题的访问策略,以允许组织中的任何账户将消息发布到主题。在访问策略中,包括全局条件键 aws:PrincipalOrgID 并指定您组织的 ID。
解决方法1.在 Organizations 控制台中查找您组织的 ID。有关更多信息,请参阅从管理账户查看组织的详细信息。
2.在 Amazon SNS 控制台中创建主题。记下新主题的 Amazon 资源名称 (ARN)。
3.在 Amazon SNS 控制台中,编辑主题。在编辑 <topicName> 页面上,展开访问策略 - 可选,然后将以下示例策略粘贴到 JSON 编辑器:
重要:将 snsTopicArn 替换为主题的 ARN。然后将 myOrgId 替换为您组织的 ID。
{
"Version": "2008-10-17",
"Id": "__default_policy_ID",
"Statement": ,
"Resource": "snsTopicArn",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "myOrgId"
}
}
}
]
}
提示:要允许组织中的账户执行更多 Amazon SNS API 操作(如 GetTopicAttributes),请在策略的“操作”下添加操作。
4.利用您的电子邮件地址订阅 SNS 主题以进行测试。在创建订阅时,请确保指定您主题的 ARN。
5.在您的电子邮件中,找到来自 AWS 通知的订阅确认消息,并确认订阅。
6.使用组织中的任何 AWS 账户,将消息发布到您账户中的 SNS 主题。在发布请求中,请确保指定主题的 ARN。
您将在电子邮件中收到已发布的消息。