

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 防止跨服务混淆代理
<a name="security-iam-confused-deputy"></a>

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

为了防止混淆代理，AWS 提供相应的工具，来帮您保护所有服务的服务委托人数据，这些服务委托人有权限访问 AWS 账户中的资源。本节重点介绍的是 Amazon Transcribe 特有的跨服务混淆代理人问题防范功能，您可以在《IAM 用户指南》**的[混淆代理人问题](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) 部分了解更多相关信息。

要限制 IAM 为 Amazon Transcribe 提供的资源访问权限，我们建议使用资源策略中的全局条件上下文键 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) 和 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)。

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

如果您只希望将一个资源与跨服务访问相关联，请使用 `aws:SourceArn`。如果您想将该 AWS 账户中的任何资源与跨服务访问相关联，请使用 `aws:SourceAccount`。

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

有关说明如何防范出现混淆代理问题的代入角色策略的示例，请参阅[混淆代理问题防范策略](security_iam_id-based-policy-examples.md#confused-deputy-policy)。