

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

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

 混淆代理问题是一个安全性问题，即不具有某操作执行权限的实体可能会迫使具有更高权限的实体执行该操作。在中 AWS，跨服务模仿可能会导致混乱的副手问题。一个服务（*呼叫服务*) 调用另一项服务（*所谓的服务*)时，可能会发生跨服务模拟。可以操纵调用服务以使用其权限对另一个客户的资源进行操作，否则该服务不应有访问权限。为了防止这种情况， AWS 提供可帮助您保护所有服务的服务委托人数据的工具，这些服务委托人有权限访问账户中的资源。

 我们建议在资源策略中使用[`aws:SourceArn`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)和[`aws:SourceAccount`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)全局条件上下文密钥来限制 AWS HealthOmics 向该资源提供的其他服务的权限。

为防止所担任的角色出现混淆副手问题 HealthOmics，请在角色的信任策略`arn:aws:omics:{{region}}:{{accountNumber}}:*`中`aws:SourceArn`将的值设置为。通配符 (`*`) 将条件应用于所有 HealthOmics 资源。

 以下信任关系策略授予对您的资源的 HealthOmics 访问权限，并使用`aws:SourceArn`和`aws:SourceAccount`全局条件上下文密钥来防止出现混乱的副手问题。在为创建角色时，请使用此策略 HealthOmics。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "omics.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "{{123456789012}}"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:omics:{{us-east-1}}:{{123456789012}}:*"
        }
      }
    }
  ]
}
```

------