

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á.

# Prevenção contra o ataque do “substituto confuso” em todos os serviços
<a name="cross-service-confused-deputy-prevention"></a>

“Confused deputy” é um problema de segurança no qual uma entidade sem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executá-la. Em AWS, a falsificação de identidade entre serviços pode resultar no problema confuso do deputado. A personificação entre serviços 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, a AWS fornece ferramentas que ajudam você a proteger seus dados para todos os serviços com entidades principais de serviço que receberam acesso aos recursos em sua conta.

Recomendamos usar as chaves de contexto de condição [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)global [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)e as chaves de contexto nas políticas de recursos para limitar as permissões que AWS Database Migration Service concedem outro serviço ao recurso. Se o valor de `aws:SourceArn` não contiver o ID da conta, como um nome de instância de replicação (ARN) do AWS DMS , utilize ambas as chaves de contexto de condição global para limitar as permissões. 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 apenas um recurso associado a acessibilidade de serviço. Use `aws:SourceAccount` se quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços.

AWS DMS suporta opções confusas de delegados a partir da versão 3.4.7 e superior. Para obter mais informações, consulte [AWS Notas de versão do Database Migration Service 3.4.7](CHAP_ReleaseNotes.md#CHAP_ReleaseNotes.DMS347). Se a instância de replicação utilizar o AWS DMS versão 3.4.6 ou inferior, atualize para a versão mais recente antes de definir as opções de “confused deputy”.

A maneira mais eficiente de se proteger contra o problema “confused deputy” é utilizar a chave de contexto de condição global `aws:SourceArn` com o ARN completo do recurso. Se você não souber o ARN completo do recurso ou especificar vários recursos, use a chave de condição de contexto global `aws:SourceArn` com caracteres curinga (`*`) para as partes desconhecidas do ARN. Por exemplo, .`arn:aws:dms:*:123456789012:rep:*` 

**Topics**
+ [Funções do IAM a serem usadas com a AWS DMS API para prevenção auxiliar confusa entre serviços](#cross-service-confused-deputy-prevention-dms-api)
+ [Política do IAM para armazenar avaliações de pré-processamento no Amazon S3 para prevenção de ataques “confused deputy” entre serviços](#cross-service-confused-deputy-prevention-s3)
+ [Usando o Amazon DynamoDB como um endpoint de destino AWS DMS com a prevenção confusa de delegações entre serviços](#cross-service-confused-deputy-prevention-dynamodb)

## Funções do IAM a serem usadas com a AWS DMS API para prevenção auxiliar confusa entre serviços
<a name="cross-service-confused-deputy-prevention-dms-api"></a>

Para usar a API AWS CLI ou a AWS DMS API para sua migração de banco de dados, você deve adicionar as funções `dms-vpc-role` e `dms-cloudwatch-logs-role` IAM à sua AWS conta antes de poder usar os recursos do AWS DMS. Para obter mais informações, consulte [Criação das funções do IAM para usar com AWS DMS](security-iam.md#CHAP_Security.APIRole).

O exemplo a seguir mostra as políticas para utilizar o perfil `dms-vpc-role` com a instância de replicação `my-replication-instance`. Utilize essas políticas para evitar o problema “deputy confused”.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
        "Sid": "AllowDMSAssumeRole",
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "AWS:SourceAccount": "111122223333"
         },
         "ArnLike": {
             "aws:SourceArn": "arn:aws:dms:*:123456789012:*"
         }
      }
    }
  ]
}
```

------

## Política do IAM para armazenar avaliações de pré-processamento no Amazon S3 para prevenção de ataques “confused deputy” entre serviços
<a name="cross-service-confused-deputy-prevention-s3"></a>

Para armazenar os resultados da pré-avaliação no bucket do S3, crie uma política do IAM que permita que o AWS DMS gerencie objetos no Amazon S3. Para obter mais informações, consulte [Criar recursos do IAM](CHAP_Tasks.AssessmentReport.Prerequisites.md#CHAP_Tasks.AssessmentReport.Prerequisites.IAM).

O exemplo a seguir mostra uma política de confiança com condições substitutas confusas definidas em uma função do IAM que permite AWS DMS acessar todas as tarefas e execuções de avaliação em uma conta de usuário especificada.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowDMSAssumeRole",
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "AWS:SourceAccount": "111122223333"
        },
        "ArnLike": {
            "aws:SourceArn": [
                "arn:aws:dms:*:123456789012:assessment-run:*",
                "arn:aws:dms:*:123456789012:task:*"
          ]
        }
      }
    }
  ]
}
```

------

## Usando o Amazon DynamoDB como um endpoint de destino AWS DMS com a prevenção confusa de delegações entre serviços
<a name="cross-service-confused-deputy-prevention-dynamodb"></a>

Para usar o Amazon DynamoDB como um endpoint de destino para sua migração de banco de dados, você deve criar a função do IAM que AWS DMS permita assumir e conceder acesso às tabelas do DynamoDB. Utilize este perfil ao criar o endpoint de destino do DynamoDB no AWS DMS. Para obter mais informações, consulte [Utilizar o Amazon DynamoDB como destino](CHAP_Target.DynamoDB.md).

O exemplo a seguir mostra uma política de confiança com condições adjuntas confusas definidas em uma função do IAM que permite que todos os AWS DMS endpoints acessem as tabelas do DynamoDB.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowDMSAssumeRole",
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "*",
      "Condition": {
      "StringEquals": {
          "AWS:SourceAccount": "111122223333"
        },
        "ArnLike": {
        "aws:SourceArn": [
            "arn:aws:dms:*:123456789012:assessment-run:*",
            "arn:aws:dms:*:123456789012:task:*"
            ]
         }
      }
    }
  ]
}
```

------