防止跨服务混淆代理 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

防止跨服务混淆代理

混淆代理是指被其它实体强迫执行操作的实体(服务或账户)。这种类型的模拟可能跨账户和跨服务发生。

为了防止混淆代理,Amazon 提供相应的工具,来帮您保护所有服务的服务委托人数据,这些服务委托人有权限访问 Amazon Web Services 账户中的资源。本节重点介绍的是网络监测仪特有的跨服务混淆代理人问题防范功能,您可以在《IAM 用户指南》的混淆代理人问题部分了解更多相关信息。

要限制 IAM 为网络监测仪提供的资源访问权限,我们建议使用资源策略中的全局条件上下文键 aws:SourceArnaws:SourceAccount

如果同时使用这些全局条件上下文键和包含 Amazon Web Services 账户 ID 的 aws:SourceArn 值,则 aws:SourceAccount 值和 aws:SourceArn 中的 Amazon Web Services 账户在同一策略语句中使用时,必须使用相同的 Amazon Web Services 账户 ID。

对于网络监测仪,您需要为 aws:SourceAccount 指定您的账户 ID,并为 aws:SourceArn 指定您的监控器 ARN。在跨服务访问场景中,您还需为 aws:SourceArn 使用监视器 ARN。

注意

防范混淆代理问题最有效的方法是使用 aws:SourceArn 全局条件上下文键和资源的完整 ARN。如果您不知道完整 ARN,或正在指定多个资源,请针对 ARN 未知部分使用带有通配符 (*) 的 aws:SourceArn 全局上下文条件键。例如 arn:aws:internetmonitor:us-east-1:111122223333:*

以下是有关说明如何防范出现混淆代理问题的代入角色策略的示例。

{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "internetmonitor.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/confused-deputy-monitor" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } }