本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Cross-service 困惑的副手预防
在中 AWS,当一项服务(呼叫服务)调用另一项服务(被调用服务)时,可能会发生跨服务模拟。尽管调用服务不应具有适当的权限,但仍可操纵以对另一个客户的资源进行操作,这会导致代理混淆。
为防止代表们感到困惑, AWS 提供工具来帮助您使用有权访问您账户中资源的服务主体保护所有服务的数据。本节重点介绍 Managed Service for Apache Flink 特有的跨服务代理混淆预防事宜,但是,您可以在 IAM 用户指南的代理混淆问题部分了解有关此主题的更多信息。
在 Apache Flink 托管服务的背景下,我们建议在角色信任策略中使用 a ws: SourceArn 和 aws: SourceAccount 全局条件上下文密钥,将对角色的访问权限限制为仅限由预期资源生成的请求。
如果您只希望将一个资源与跨服务访问相关联,请使用。aws:SourceArn如果您想允许该账户中的任何资源与跨服务使用操作相关联,请使用。aws:SourceAccount
aws:SourceArn 的值必须是 Managed Service for Apache Flink 使用的资源 ARN,该资源使用以下格式指定:arn:aws:kinesisanalytics:region:account:resource。
解决代理混淆问题的推荐方法,是将 aws:SourceArn 全局条件上下文键与完整资源 ARN 结合使用。
如果不知道资源的完整 ARN,或者正在指定多个资源,请针对 ARN 未知部分使用带有通配符 (*) 的 aws:SourceArn 键。例如:arn:aws:kinesisanalytics::111122223333:*。
您向 Managed Service for Apache Flink 提供的角色策略以及为您生成的角色的信任策略都可以使用这些密钥。
为了防止出现代理混淆的问题,请执行以下步骤:
防止出现代理混淆问题
-
登录 AWS 管理控制台并在上打开 IAM 控制台https://console.aws.amazon.com/iam/
。 -
选择角色,然后选择要修改的角色。
选择编辑信任策略。
在编辑信任策略页面上,将默认 JSON 策略替换为使用
aws:SourceArn和aws:SourceAccount全局条件上下文密钥中的一个或两个的策略。请参阅以下示例策略:选择更新策略。