Gerenciamento de identidade e acesso para AWS Database Migration Service - AWSDatabase 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á.

Gerenciamento de identidade e acesso para AWS Database Migration Service

AWS Identity and Access Management(IAM) é uma ferramenta AWS service (Serviço da AWS) que ajuda o administrador a controlar com segurança o acesso aos AWS recursos. Os administradores do IAM controlam quem pode ser autenticado (conectado) e autorizado (tem permissões) a usar AWS DMS os recursos. O IAM é um AWS service (Serviço da AWS) que você pode usar sem custo adicional.

Público

A forma como você usa AWS Identity and Access Management (IAM) difere com base na sua função:

Autenticação com identidades

A autenticação é a forma como você faz login AWS usando suas credenciais de identidade. Você deve estar autenticado como usuário do IAM ou assumindo uma função do IAM. Usuário raiz da conta da AWS

Você pode fazer login como uma identidade federada usando credenciais de uma fonte de identidade como Centro de Identidade do AWS IAM (IAM Identity Center), autenticação de login único ou credenciais. Google/Facebook Consulte mais informações sobre como fazer login em Como fazer login em sua Conta da AWS no Guia do usuário do Início de Sessão da AWS.

Para acesso programático, AWS fornece um SDK e uma CLI para assinar solicitações criptograficamente. Consulte mais informações em AWS Signature Version 4 para solicitações de API no Guia do usuário do IAM.

Conta da AWSusuário root

Ao criar umConta da AWS, você começa com uma identidade de login chamada usuário Conta da AWS raiz que tem acesso completo a todos Serviços da AWS os recursos. É altamente recomendável não usar o usuário-raiz em tarefas diárias. Consulte as tarefas que exigem credenciais de usuário-raiz em Tarefas que exigem credenciais de usuário-raiz no Guia do usuário do IAM.

Usuários e grupos do IAM

Um usuário do IAM é uma identidade com permissões específicas para uma única pessoa ou aplicação. É recomendável usar credenciais temporárias, em vez de usuários do IAM com credenciais de longo prazo. Para obter mais informações, consulte Exigir que usuários humanos usem a federação com um provedor de identidade para acessar AWS usando credenciais temporárias no Guia do usuário do IAM.

Um grupo do IAM especifica um conjunto de usuários do IAM e facilita o gerenciamento de permissões para grandes conjuntos de usuários. Consulte mais informações em Casos de uso de usuários do IAM no Guia do usuário do IAM.

Perfis do IAM

Uma perfil do IAM é uma identidade com permissões específicas que oferece credenciais temporárias. Você pode assumir uma função mudando de um usuário para uma função do IAM (console) ou chamando uma operação de AWS API AWS CLI ou. Para obter mais informações, consulte Métodos para assumir um perfil no Manual do usuário do IAM.

As funções do IAM são úteis para acesso de usuários federados, permissões temporárias de usuários do IAM, acesso entre contas, acesso entre serviços e aplicativos executados na Amazon. EC2 Consulte mais informações em Acesso a recursos entre contas no IAM no Guia do usuário do IAM.

Gerenciar o acesso usando políticas

Você controla o acesso AWS criando políticas e anexando-as a AWS identidades ou recursos. Uma política define permissões quando associada a uma identidade ou recurso. AWSavalia essas políticas quando um diretor faz uma solicitação. A maioria das políticas é armazenada AWS como documentos JSON. Consulte mais informações sobre documentos de política JSON em Visão geral das políticas JSON no Guia do usuário do IAM.

Por meio de políticas, os administradores especificam quem tem acesso a que, definindo qual entidade principal pode realizar ações em quais recursos e sob quais condições.

Por padrão, usuários e perfis não têm permissões. Um administrador do IAM cria políticas do IAM e as adiciona aos perfis, os quais os usuários podem então assumir. As políticas do IAM definem permissões, independentemente do método usado para realizar a operação.

Políticas baseadas em identidade

As políticas baseadas em identidade são documentos de políticas de permissão JSON que você anexa a uma identidade (usuário, grupo ou perfil). Essas políticas controlam quais ações as identidades podem realizar, em quais recursos e sob quais condições. Para saber como criar uma política baseada em identidade, consulte Definir permissões personalizadas do IAM com as políticas gerenciadas pelo cliente no Guia do Usuário do IAM.

As políticas baseadas em identidade podem ser políticas em linha (incorporadas diretamente em uma única identidade) ou políticas gerenciadas (políticas autônomas anexadas a várias identidades). Para saber como escolher entre uma política gerenciada e políticas em linha, consulte Escolher entre políticas gerenciadas e políticas em linha no Guia do usuário do IAM.

Políticas baseadas em recursos

Políticas baseadas em recursos são documentos de políticas JSON que você anexa a um recurso. Entre os exemplos estão políticas de confiança de perfil do IAM e políticas de bucket do Amazon S3. Em serviços compatíveis com políticas baseadas em recursos, os administradores de serviço podem usá-las para controlar o acesso a um recurso específico. É necessário especificar uma entidade principal em uma política baseada em recursos.

Políticas baseadas em recursos são políticas em linha localizadas nesse serviço. Você não pode usar políticas AWS gerenciadas do IAM em uma política baseada em recursos.

Listas de controle de acesso (ACLs)

As listas de controle de acesso (ACLs) controlam quais diretores (membros da conta, usuários ou funções) têm permissões para acessar um recurso. ACLs são semelhantes às políticas baseadas em recursos, embora não usem o formato de documento de política JSON.

O Amazon S3 e o AWS WAF Amazon VPC são exemplos de serviços que oferecem suporte. ACLs Para saber mais ACLs, consulte a visão geral da lista de controle de acesso (ACL) no Guia do desenvolvedor do Amazon Simple Storage Service.

Outros tipos de política

AWSoferece suporte a tipos de políticas adicionais que podem definir o máximo de permissões concedidas por tipos de políticas mais comuns:

  • Limites de permissões: definem o número máximo de permissões que uma política baseada em identidade pode conceder a uma entidade do IAM. Para obter mais informações, consulte Limites de permissões para entidades do IAM no Guia do usuário do IAM.

  • Políticas de controle de serviço (SCPs) — Especifique as permissões máximas para uma organização ou unidade organizacional emAWS Organizations. Para obter mais informações, consulte Políticas de controle de serviço no Guia do usuário do AWS Organizations.

  • Políticas de controle de recursos (RCPs) — Defina o máximo de permissões disponíveis para recursos em suas contas. Para obter mais informações, consulte Políticas de controle de recursos (RCPs) no Guia AWS Organizations do usuário.

  • Políticas de sessão: políticas avançadas transmitidas como um parâmetro durante a criação de uma sessão temporária para um perfil ou um usuário federado. Para obter mais informações, consulte Políticas de sessão no Guia do usuário do IAM.

Vários tipos de política

Quando vários tipos de política são aplicáveis a uma solicitação, é mais complicado compreender as permissões resultantes. Para saber como AWS determinar se uma solicitação deve ser permitida quando vários tipos de políticas estão envolvidos, consulte Lógica de avaliação de políticas no Guia do usuário do IAM.

Permissões do IAM necessárias para utilizar o AWS DMS

Você utiliza determinadas permissões e perfis do IAM para utilizar o AWS DMS. Se você estiver conectado como usuário do IAM e quiser usarAWS DMS, o administrador da sua conta deverá anexar a política discutida nesta seção ao usuário, grupo ou função do IAM que você usa para executarAWS DMS. Para obter mais informações sobre permissões do IAM, consulte o Guia do usuário do IAM.

A política a seguir fornece acesso AWS DMS e também permissões para determinadas ações necessárias de outros serviços da AmazonAWS KMS, como IAM EC2, Amazon e Amazon CloudWatch. CloudWatchmonitora sua AWS DMS migração em tempo real e coleta e rastreia métricas que indicam o progresso de sua migração. Você pode usar o CloudWatch Logs para depurar problemas com uma tarefa.

nota

Você pode restringir ainda mais o acesso aos AWS DMS recursos usando a marcação. Para obter mais informações sobre como restringir o acesso a AWS DMS recursos usando marcação, consulte. Controle de acesso minucioso com o uso de nomes de recursos e tags

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:*:123456789012:*" }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "arn:aws:kms:*:123456789012:key/*" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:iam::123456789012:role/*", "Condition": { "StringEquals": { "iam:PassedToService": "dms.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:ModifyNetworkInterfaceAttribute", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:logs:*:123456789012:*" } ] }

A discriminação das permissões a seguir pode ajudar a compreender melhor a necessidade de cada uma.

A seção a seguir é necessária para permitir que o usuário chame operações de AWS DMS API.

{ "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:region:account:resourcetype/id" }

A seção a seguir é necessária para permitir que o usuário liste suas AWS KMS chaves e alias disponíveis para exibição no console. Essa entrada não é necessária se você souber o Amazon Resource Name (ARN) da chave KMS e estiver usando somente o AWS Command Line Interface (). AWS CLI

{ "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

A seção a seguir é necessária para determinados tipos de endpoints que exigem que um ARN de perfil do IAM seja transmitido com o endpoint. Além disso, se as AWS DMS funções necessárias não forem criadas com antecedência, o AWS DMS console poderá criar a função. Se todos os perfis forem configurados com antecedência, bastará ter iam:GetRole e iam:PassRole. Para ter mais informações sobre funções, consulte Criação das funções do IAM para usar com AWS DMS.

{ "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

A seção a seguir é obrigatória porque AWS DMS precisa criar a EC2 instância da Amazon e configurar a rede para a instância de replicação criada. Esses recursos existem na conta do cliente, por isso, a capacidade de executar essas ações em nome do cliente é necessária.

{ "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:ModifyNetworkInterfaceAttribute", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

A seção a seguir é necessária para permitir que o usuário possa visualizar as métricas da instância de replicação.

{ "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

Esta seção é necessária para permitir que o usuário veja os logs de replicação.

{ "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

Se você usa o AWS DMS console, o AWS Command Line Interface (AWS CLI) ou a AWS DMS API para sua migração, você precisa adicionar várias funções à sua conta. Para obter mais informações sobre essas funções, consulte Criação das funções do IAM para usar com AWS DMS.

Criação das funções do IAM para usar com AWS DMS

Se você usa o AWS DMS console, o AWS CLI ou a AWS DMS API para sua migração de banco de dados, você deve adicionar três funções do IAM à sua AWS conta antes de poder usar os recursos doAWS DMS. Duas delas são dms-vpc-role e dms-cloudwatch-logs-role. Se você usa o Amazon Redshift como banco de dados de destino, você também deve adicionar a função do IAM dms-access-for-endpoint à sua AWS conta.

As políticas gerenciadas são atualizadas automaticamente. Se estiver utilizando uma política personalizada com os perfis do IAM, verifique periodicamente se há atualizações para a política gerenciada nesta documentação. Veja os detalhes da política gerenciada utilizando uma combinação dos comandos get-policy e get-policy-version.

Por exemplo, o comando get-policy a seguir recupera informações sobre o perfil do IAM especificado.

aws iam get-policy --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole

As informações retornadas do comando são as seguintes.

{ "Policy": { "PolicyName": "AmazonDMSVPCManagementRole", "PolicyId": "ANPAJHKIGMBQI4AEFFSYO", "Arn": "arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole", "Path": "/service-role/", "DefaultVersionId": "v4", "AttachmentCount": 1, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "Description": "Provides access to manage VPC settings for AWS managed customer configurations", "CreateDate": "2015-11-18T16:33:19+00:00", "UpdateDate": "2024-07-25T15:19:01+00:00", "Tags": [] } }

O comando get-policy-version a seguir recupera informações de políticas do IAM.

aws iam get-policy-version --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole --version-id v4

As informações retornadas do comando são as seguintes.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ExampleStatementID", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeAvailabilityZones", "ec2:DescribeDhcpOptions", "ec2:DescribeInternetGateways", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "*" } ] }

É possível utilizar os mesmos comandos para obter informações sobre AmazonDMSCloudWatchLogsRole e a política gerenciada AmazonDMSRedshiftS3Role.

Os procedimentos a seguir criam os perfis do IAM dms-vpc-role, dms-cloudwatch-logs-role e dms-access-for-endpoint.

Para criar a função dms-vpc-role do IAM para uso com a AWS DMS API AWS CLI ou
  1. Crie um arquivo JSON com a seguinte política do IAM. Nomeie o arquivo como dmsAssumeRolePolicyDocument.json.json.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    Crie a função AWS CLI usando o comando a seguir.

    aws iam create-role --role-name dms-vpc-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument.json
  2. Anexe a política AmazonDMSVPCManagementRole a dms-vpc-role usando o seguinte comando.

    aws iam attach-role-policy --role-name dms-vpc-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole
Para criar a função dms-cloudwatch-logs-role do IAM para uso com a AWS DMS API AWS CLI ou
  1. Crie um arquivo JSON com a seguinte política do IAM. Nomeie o arquivo como dmsAssumeRolePolicyDocument2.json.json.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    Crie a função AWS CLI usando o comando a seguir.

    aws iam create-role --role-name dms-cloudwatch-logs-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument2.json
  2. Anexe a política AmazonDMSCloudWatchLogsRole a dms-cloudwatch-logs-role usando o seguinte comando.

    aws iam attach-role-policy --role-name dms-cloudwatch-logs-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole

Se você utilizar o Amazon Redshift como o banco de dados de destino, precisará criar ao perfil do IAM dms-access-for-endpoint para fornecer acesso ao Amazon S3.

Para criar a função dms-access-for-endpoint do IAM para uso com o Amazon Redshift como banco de dados de destino
  1. Crie um arquivo JSON com a seguinte política do IAM. Nomeie o arquivo como dmsAssumeRolePolicyDocument3.json.json.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "2", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Crie a função AWS CLI usando o comando a seguir.

    aws iam create-role --role-name dms-access-for-endpoint --assume-role-policy-document file://dmsAssumeRolePolicyDocument3.json
  3. Anexe a política AmazonDMSRedshiftS3Role ao perfil dms-access-for-endpoint utilizando o seguinte comando.

    aws iam attach-role-policy --role-name dms-access-for-endpoint \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role

Agora você deve ter as políticas do IAM em vigor para usar a AWS DMS API AWS CLI ou.