本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
防止 Incident Manager 中的跨服务混淆代理
混淆代理问题属于信息安全问题,当无权执行操作的实体调用权限更高的实体代为执行操作时,就会出现这个问题。恶意行为者会借此机会运行原本无权运行的命令或修改原本无权访问的资源。
在中 AWS,跨服务模仿可能会导致副手场景混乱。跨服务模拟是指一种服务(正在调用服务)调用另一种服务(被调用的服务)。恶意行为者可以使用调用服务,使用他们通常不会拥有的权限更改另一种服务中的资源。
AWS 为服务委托人提供对您账户中资源的托管访问权限,以帮助您保护资源的安全。我们建议在资源策略中使用 aws:SourceArn
和 aws:SourceAccount
全局条件上下文密钥。这些密钥限制了向该资源 AWS Systems Manager Incident Manager 提供其他服务的权限。如果您使用两个全局条件上下文密钥,则在同一策略语句中使用 aws:SourceAccount
值和 aws:SourceArn
值中引用的账户时,必须使用相同的账户 ID。
aws:SourceArn
的值必须为受影响的事件记录的 ARN。如果您不知道资源的完整 ARN,或者正在指定多个资源,请针对 ARN 未知部分使用带有通配符 (*
) 的 aws:SourceArn
全局上下文条件密钥。例如,您可以将 aws:SourceArn
设置为 arn:aws:ssm-incidents::
。111122223333
:*
在以下信任策略示例中,我们可以使用 aws:SourceArn
条件密钥,用于根据事件记录 ARN 限制对服务角色的访问。只有从响应计划 myresponseplan
创建的事件记录才能使用此角色。
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ssm-incidents.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "
arn:aws:ssm-incidents:*:111122223333:incident-record/myresponseplan/*
" } } } }