Prevenção contra o ataque “Confused deputy” entre serviços - AWS Database Migration Service

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 “Confused deputy” entre serviços

O problema “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 executá-la. Em AWS, a falsificação de identidade entre serviços pode resultar no problema confuso do deputado. A imitaçã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 para utilizar as suas permissões para atuar nos recursos de outro cliente em que, de outra forma, ele não teria 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 aws:SourceAccountglobal aws:SourceArne 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. Utilize aws:SourceArn se quiser que apenas um recurso seja associado ao acesso entre serviços. 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 ter mais informações, consulte AWS Notas de versão do Database Migration Service 3.4.7. 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 estiver especificando vários recursos, utilize a chave de condição de contexto global aws:SourceArn com caracteres curingas (*) para as partes desconhecidas do ARN. Por exemplo, .arn:aws:dms:*:123456789012:rep:*

Funções do IAM a serem usadas com a AWS DMS API para prevenção auxiliar confusa entre serviços

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 ter mais informações, consulte Criando as IAM funções a serem usadas com o AWS CLI e AWS DMS API.

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

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account_id" }, "ArnEqual": { "AWS:SourceArn": "arn:aws:dms:your_region:your_account_id:rep:my-replication-instance" } } } ] }

Política do IAM para armazenar avaliações de pré-processamento no Amazon S3 para prevenção de ataques “confused deputy” entre serviços

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 ter mais informações, consulte Crie IAM recursos .

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.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account_id" }, "ArnLike": { "AWS:SourceArn": [ "arn:aws:dms:your_region:your_account_id:assessment-run:*", "arn:aws:dms:region:your_account_id:task:*" ] } } } ] }

Usando o Amazon DynamoDB como um endpoint de destino AWS DMS com a prevenção confusa de delegações entre serviços

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 ter mais informações, consulte Utilizar o Amazon DynamoDB como destino.

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.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account_id" }, "ArnLike": { "AWS:SourceArn": "arn:aws:dms:your_region:your_account_id:endpoint:*" } } } ] }