本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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键,account-id是Amazon主题所有者的账号。适用于账户 id1、账户 id2, 和账户 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 主题。
使用服务相关角色时Amazon SNS 主题的必需权限
授权Amazon 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键,account-id是Amazon主题所有者的账号。适用于账户 id1、账户 id2, 和账户 id3,请使用Amazon将数据发送到 Amazon SNS 主题的账户。你可以用适当的值替换领域和我的话题.
您可以使用AWS:SourceAccount条件,以限制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权限。