本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
混淆代理问题防范
混淆代理问题是一个安全性问题,即不具有操作执行权限的实体可能会迫使具有更高权限的实体执行该操作。在中 Amazon,跨服务模仿可能会导致混乱的副手问题。一个服务(呼叫服务)调用另一项服务(所谓的服务)时,可能会发生跨服务模拟。可以操纵调用服务以使用其权限对另一个客户的资源进行操作,否则该服务不应有访问权限。为了防止这种情况,我们 Amazon 提供了一些工具,帮助您保护所有服务的数据,这些服务委托人已被授予对您账户中资源的访问权限。
我们建议在资源策略中使用 aws:SourceArn
、aws:SourceAccount
、aws:SourceOrgID
和 aws:SourceOrgPaths
全局条件上下文键,以限制为其他服务提供的资源访问权限。使用 aws:SourceArn
来仅将一个资源与跨服务访问相关联。使用 aws:SourceAccount
来让该账户中的任何资源与跨服务使用相关联。使用 aws:SourceOrgID
来允许某组织内的任何账户中的任何资源与跨服务使用相关联。使用 aws:SourceOrgPaths
来将 Amazon Organizations 路径内账户中的任何资源与跨服务使用相关联。有关使用和理解路径的更多信息,请参阅了解 Amazon Organizations 实体路径。
防止混乱的副手问题的最有效方法是使用具有全部资源的全aws:SourceArn
ARN局条件上下文密钥。如果您不知道资源的全部ARN内容,或者要指定多个资源,请使用带有通配符 (*
) 的aws:SourceArn
全局上下文条件键来表示未知部分。ARN例如,arn:aws:
。servicename
:*:123456789012
:*
如果该aws:SourceArn
值不包含账户 ID,例如 Amazon S3 存储桶ARN,则必须同时使用aws:SourceAccount
和aws:SourceArn
来限制权限。
要防范大规模混淆代理问题,请在基于资源的策略中将 aws:SourceOrgID
或 aws:SourceOrgPaths
全局条件上下文键与资源的组织 ID 或组织路径一起使用。包含 aws:SourceOrgID
或 aws:SourceOrgPaths
键的策略将自动包含正确的账户,并且当您在组织中添加、删除或移动账户时,无需手动更新策略。
记录的策略用于授予访问 CloudWatch 日志的权限,以便将数据写入 Kinesis Data Streams 和 Firehose步骤 1:创建目标,步骤 2:创建目标并展示了如何使用 awsSourceArn : 全局条件上下文密钥来帮助防止混乱的副手问题。