

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Cross-service prevenção delegada confusa
<a name="security_confused_deputy"></a>

O problema do “confused deputy” é um problema de segurança em que uma entidade que não tem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executar a ação. Em AWS, a falsificação de identidade entre serviços pode resultar em um problema confuso de delegado. Cross-service a representação pode ocorrer quando um serviço (o serviço de chamada) chama outro serviço (o serviço chamado). O serviço de chamada pode ser manipulado de modo a usar suas permissões para atuar nos recursos de outro cliente de uma forma na qual ele não deveria ter permissão para acessar. Para evitar isso, AWS fornece ferramentas que ajudam você a proteger seus dados para todos os serviços com diretores de serviços que receberam acesso aos recursos em sua conta. 

Recomendamos usar as chaves de contexto de condição SourceAccount global [aws: SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) [e aws:](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) nas políticas de recursos para limitar as permissões que CodeDeploy concedem outro serviço ao recurso. Se você utilizar ambas as chaves de contexto de condição global e o valor de `aws:SourceArn` contiver o ID da conta, o valor de `aws:SourceAccount` e a conta no valor de `aws:SourceArn` deverão utilizar o mesmo ID de conta quando utilizados na mesma declaração da política. Use `aws:SourceArn` se quiser que apenas um recurso seja associado ao acesso entre serviços. Use `aws:SourceAccount` se quiser que qualquer recurso nessa conta seja associado ao uso entre serviços.

Para EC2/On-Premises implantações do AWS Lambda e do Amazon ECS regulares, o valor de `aws:SourceArn` deve incluir o ARN do CodeDeploy grupo de implantação com o qual pode assumir a função do CodeDeploy IAM.

Para [ blue/greenimplantações do Amazon ECS criadas por meio](deployments-create-ecs-cfn.md) de CloudFormation, o valor de `aws:SourceArn` deve incluir o ARN da CloudFormation pilha com o CodeDeploy qual é permitido assumir a função do IAM.

A maneira mais eficaz de se proteger contra o problema do substituto confuso é usar a chave `aws:SourceArn` com o ARN completo do recurso. Se você não souber o ARN completo ou estiver especificando vários recursos, use caracteres curingas (\*) para as partes desconhecidas.

Por exemplo, você pode usar a seguinte política de confiança com uma implantação EC2/On-Premises AWS Lambda ou regular do Amazon ECS:

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

****  

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

------

Para uma [ blue/greenimplantação do Amazon ECS criada por meio de CloudFormation](deployments-create-ecs-cfn.md), você pode usar:

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

****  

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

------