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á.
“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 aws:SourceAccount
global aws: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. 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:*
Tópicos
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 obter mais informações, consulte Criação das funções do IAM para usar com AWS DMS.
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 obter mais informações, consulte Criar recursos do 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.
{ "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 obter 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:*" } } } ] }