Amazon SNS 主题的权限 - Amazon Config
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon SNS 主题的权限

如果要配置,请使用本主题中的信息Amazon Config提供其他账户拥有的 Amazon SNS 主题。Amazon Config必须具备向 Amazon SNS 主题发送通知所需的权限。对于同一个账户设置,当Amazon Config控制台创建 Amazon SNS 主题,或者您从自己的账户中选择一个 Amazon SNS 主题,Amazon Config确保 Amazon SNS 主题包含所需的权限并遵循安全最佳实践。

注意

Amazon Config目前仅支持相同区域和跨账户访问。用于补救的 SNS 主题Amazon Systems Manager(SSM) 文档或录音机传送渠道的文档不能跨区域。

使用 IAM 角色时 Amazon SNS 主题所需的权限

您可以将权限策略附加到其他账户拥有的 Amazon SNS 主题。如果您想使用来自其他账户的 Amazon SNS 主题,请务必将以下政策附加到现有的 Amazon SNS 主题中。

{ "Id": "Policy_ID", "Statement": [ { "Sid": "AWSConfigSNSPolicy", "Action": [ "sns:Publish" ], "Effect": "Allow", "Resource": "arn:aws:sns:region:account-id:myTopic", "Principal": { "AWS": [ "account-id1", "account-id2", "account-id3" ] } } ] }

对于Resource钥匙,账户 ID是Amazon主题所有者的账号。对于账户 ID1,账户 ID2,以及account-id3,使用Amazon将数据发送到 Amazon SNS 主题的账户。您可以用相应的值替换领域我的话题.

当Amazon Config向 Amazon SNS 主题发送通知,它首先尝试使用 IAM 角色,但如果该角色或Amazon账户没有发布到主题的权限。在本次活动中,Amazon Config再次发送通知,这次是以 Config 服务主体名称 (SPN) 的形式发送通知。在成功发布之前,该主题的访问策略必须授予sns:Publish访问config.amazonaws.com委托人名称。您必须向 Amazon SNS 主题附加如下所述的访问策略才能授予Amazon Config如果 IAM 角色无权发布该主题,则可以访问该主题。

使用服务相关角色时 Amazon SNS 主题所需的权限

granteAmazon Config从另一个账户访问 Amazon SNS 主题,您需要附加以下权限政策。这是因为需要Config 服务主体名称 (SPN)Amazon Config服务相关角色 (SLR),用于从其他账户访问 Amazon SNS 主题。以下权限策略包括安全最佳实践,以确保Amazon Config仅通过限制中列出的资源的访问权限来代表预期用户访问资源AWS:SourceAccount条件。强烈建议采用这种安全最佳做法。

对于同账户设置,当 Amazon SNS 主题和 SLR 位于同一个账户中,并且 Amazon SNS 政策授予了 SLR 时”sns:Publish“权限,您不需要使用Amazon ConfigSPN。以下权限策略和安全最佳实践适用于跨账户设置。

{ "Id": "Policy_ID", "Statement": [ { "Sid": "AWSConfigSNSPolicy", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "sns:Publish", "Resource": "arn:aws:sns:region:account-id:myTopic", "Condition" : { "StringEquals": { "AWS:SourceAccount": [ "account-id1", "account-id2", "account-id3" ] } } } ] }

对于Resource钥匙,账户 ID是Amazon主题所有者的账号。对于账户 ID1,账户 ID2,以及account-id3,使用Amazon将数据发送到 Amazon SNS 主题的账户。您可以用相应的值替换领域我的话题.

您可以使用AWS:SourceAccount上述 Amazon SNS 主题策略中的条件限制Config 服务主体名称 (SPN) 仅在代表特定账户执行操作时与 Amazon SNS 主题交互。

Amazon Config还支持AWS:SourceArn条件限制Config 服务主体名称 (SPN) 仅在代表特定用户执行操作时与 Amazon S3 存储桶交互Amazon Config交付渠道。使用Config 服务主体名称 (SPN) 时,AWS:SourceArn属性将始终设置为arn:aws:config:sourceRegion:sourceAccountID:*哪里sourceRegion是配送渠道的区域,sourceAccountID是包含传送渠道的账户的 ID。有关更多信息Amazon Config配送渠道,请参阅管理传输通道. 例如,添加以下条件以限制 Config 服务主体名称 (SPN) 仅代表传送通道与您的 Amazon S3 存储桶交互us-east-1账户中的区域123456789012"ArnLike": {"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:*"}.

Amazon SNS 主题的疑难解答

Amazon Config必须拥有向 Amazon SNS 主题发送通知的权限。如果 Amazon SNS 主题无法接收通知,请验证 IAM 角色是Amazon Config我假设一定有sns:Publish权限。