View a markdown version of this page

Configurar um Active Directory autogerenciado - Amazon Relational Database Service

Configurar um Active Directory autogerenciado

Para configurar um AD autogerenciado, siga as etapas abaixo.

Etapa 1: Criar uma unidade organizacional no AD

Importante

Recomendamos criar uma UO dedicada e credenciais de serviço restritas a essa UO para cada conta da AWS proprietária de uma instância de banco de dados do RDS para Db2 ingressada no domínio do AD autogerenciado. Ao dedicar uma UO e credenciais de serviço, você evita conflitos de permissões e segue o princípio do privilégio mínimo.

Como criar uma OU no AD
  1. Conecte-se ao seu domínio de AD como administrador do domínio.

  2. Abra Usuários e computadores do Active Directory e selecione o domínio em que deseja criar a OU.

  3. Abra o menu de contexto do domínio, escolha Novo e, depois, Unidade organizacional.

  4. Insira um nome para a OU.

  5. Mantenha a caixa Proteger o contêiner contra exclusão acidental selecionada.

  6. Escolha OK. A nova UO será exibida no domínio.

Etapa 2: criar uma conta de serviço de domínio AD em seu AD

Use as credenciais da conta de serviço do domínio como o segredo no AWS Secrets Manager.

Como criar uma conta de serviço de domínio AD em seu AD
  1. Abra Usuários e computadores do Active Directory e selecione o domínio e a OU em que deseja criar o usuário.

  2. Abra o menu de contexto de Usuários, escolha Novo e, depois, Usuário.

  3. Insira um nome, sobrenome e nome de login para o usuário. Escolha Próximo.

  4. Insira uma senha para o usuário. Não selecione Usuário deve alterar a senha no próximo login. Não selecione A conta está desabilitada. Escolha Próximo.

  5. Escolha OK. O novo usuário aparecerá no domínio.

Etapa 3: delegar controle à conta de serviço de domínio AD

Parte A: delegar permissões usando o Assistente para Delegação de Controle

Como delegar controle à conta de serviço de domínio AD em seu domínio
  1. Abra o snap-in do Console de Gerenciamento Microsoft (MMC) Usuários e computadores do Active Directory e selecione o domínio no qual deseja criar o usuário.

  2. Abra o menu de contexto da UO criada anteriormente e escolha Delegar controle.

  3. No Assistente para Delegação de Controle, escolha Próximo.

  4. Na seção Usuários ou grupos, escolha Adicionar.

  5. Na seção Selecionar usuários, computadores ou grupos, informe a conta de serviço do domínio do AD criada anteriormente e escolha Verificar nomes. Se a validação da conta de serviço do domínio for bem-sucedida, escolha OK.

  6. Na seção Usuários ou grupos, confirme que a conta de serviço do domínio foi adicionada e escolha Avançar.

  7. Na seção Tarefas para delegar, selecione Criar uma tarefa personalizada para delegar e escolha Avançar.

  8. Na seção Tipo de objeto do Active Directory:

    1. Selecione Somente os objetos a seguir na pasta.

    2. Selecione Objetos de usuário.

    3. Selecione Criar objetos selecionados nesta pasta.

    4. Selecione Excluir os objetos selecionados nesta pasta e escolha Avançar.

  9. Na seção Permissões:

    1. Mantenha a opção Geral selecionada.

    2. Selecione Específico da propriedade.

    3. Selecione Criação/exclusão de objetos secundários específicos.

    4. Selecione Redefinir senha.

    5. Selecione Ler msDS-SupportedEncryptionTypes.

    6. Selecione Gravar msDS-SupportedEncryptionTypes.

  10. Em Concluir o Assistente para Delegação de Controle, revise e confirme as configurações e escolha Concluir.

Parte B: delegar permissões de servicePrincipalName usando o PowerShell

O Assistente para Delegação de Controle não expõe a propriedade servicePrincipalName para objetos de usuário. Execute o script do PowerShell a seguir no controlador de domínio para conceder à conta de serviço do domínio do AD permissão de leitura e gravação do atributo servicePrincipalName em objetos de usuário na UO.

Substitua service-account pelo nome da conta de serviço do domínio criada na Etapa 2 e atualize o nome distinto da UO para corresponder à UO criada na Etapa 1.

$ou = "OU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain" $user = Get-ADUser "service-account" $acl = Get-Acl "AD:\$ou" $schemaPath = (Get-ADRootDSE).schemaNamingContext $spnSchema = Get-ADObject -SearchBase $schemaPath -Filter {lDAPDisplayName -eq "servicePrincipalName"} -Properties schemaIDGUID $spnGuid = New-Object Guid (,$spnSchema.schemaIDGUID) $userGuid = New-Object Guid "bf967aba-0de6-11d0-a285-00aa003049e2" $ace = New-Object System.DirectoryServices.ActiveDirectoryAccessRule( $user.SID, "ReadProperty,WriteProperty", "Allow", $spnGuid, "Descendents", $userGuid ) $acl.AddAccessRule($ace) Set-Acl "AD:\$ou" $acl

Para verificar se as permissões foram aplicadas corretamente, execute o seguinte script do PowerShell:

$acl = Get-Acl "AD:\$ou" $acl.Access | Where-Object { $_.IdentityReference -like "*service-account*" } | Format-List

Etapa 4: criar uma chave do AWS KMS

A chave do KMS criptografa o seu segredo do AWS.

nota

Em Chave de criptografia, não use a chave do KMS padrão da AWS. Crie a chave do AWS KMS na mesma conta da AWS que contém a instância do RDS para Db2 que será associada ao domínio do AD autogerenciado.

Para criar uma chave de KMS da AWS
  1. Abra o console do AWS KMS em https://console.aws.amazon.com/kms/. Escolha Criar chave.

  2. Em Tipo de chave, escolha Simétrica.

  3. Em Uso da chave, escolha Criptografar e descriptografar.

  4. Em Advanced options (Opções avançadas):

    1. Em Origem do material de chaves, escolha Externa.

    2. Em Regionalidade, escolha Chave de região única e escolha Próximo.

  5. Em Alias, forneça um nome para a chave do KMS.

  6. (Opcional) Em Descrição, forneça uma descrição da chave do KMS.

  7. (Opcional) Em Tags, forneça uma tag da chave do KMS e clique em Próximo.

  8. Em Administradores de chaves, forneça o nome de um usuário do IAM e selecione-o.

  9. Em Exclusão de chaves, mantenha a caixa Permitir administradores de chaves selecionada para que eles possam excluir essa chave, e escolha Próximo.

  10. Em Usuários de chaves, informe o mesmo usuário do IAM da etapa anterior e selecione-o. Escolha Próximo.

  11. Revise a configuração.

  12. Em Política de chave, inclua o seguinte na Instrução da política:

    { "Sid": "Allow use of the KMS key on behalf of RDS", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com" ] }, "Action": "kms:Decrypt", "Resource": "*" }
  13. Escolha Terminar.

Etapa 5: Criar um segredo da AWS

nota

Crie o segredo na mesma conta da AWS que contém a instância do RDS para Db2 que será associada ao domínio do AD autogerenciado.

Como criar um segredo
  1. Abra o console do AWS Secrets Manager emhttps://console.aws.amazon.com/secretsmanager/. Selecione Armazenar um novo segredo.

  2. Em Tipo de segredo, escolha Outro tipo de segredo.

  3. Em Pares de chave/valor, adicione suas duas chaves:

    1. Para a primeira chave, insira SELF_MANAGED_ACTIVE_DIRECTORY_USERNAME.

    2. Para o valor da primeira chave, insira somente o nome de usuário (sem o prefixo do domínio) do usuário do AD. Não inclua o nome do domínio, pois isso faz com que a criação da instância falhe.

    3. Para a segunda chave, insira SELF_MANAGED_ACTIVE_DIRECTORY_PASSWORD.

    4. Para o valor da segunda chave, insira a senha que você criou para o usuário do AD no domínio.

  4. Em Chave de criptografia, selecione a chave do KMS criada na etapa anterior e escolha Próximo.

  5. Em Nome do secreto, insira um nome descritivo que ajude você a encontrar o segredo posteriormente.

  6. (Opcional) Em Descrição, insira uma descrição para o nome do segredo.

  7. Em Permissão de recurso, escolha Editar.

  8. Adicione a política a seguir à política de permissões:

    nota

    Recomendamos que você use as condições aws:sourceAccount e aws:sourceArn na política para evitar o problema de representante confuso. Use sua conta da AWS em aws:sourceAccount e o ARN da instância de banco de dados do RDS para Db2 em aws:sourceArn. Para obter mais informações, consulte Prevenção do problema do substituto confuso entre serviços.

    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*", "Condition": { "StringEquals": { "aws:sourceAccount": "123456789012" }, "ArnLike": { "aws:sourceArn": "arn:aws:rds:us-west-2:123456789012:db:*" } } } ] }
  9. Escolha Salvar e Próximo.

  10. Em Definir configurações de rotação, mantenha os valores padrão e escolha Próximo.

  11. Consulte as configurações do segredo e escolha Armazenar.

  12. Escolha o segredo que você criou e copie o valor do ARN do segredo. Use esse valor na próxima etapa para configurar o Active Directory autogerenciado.

Etapa 6: criar ou modificar uma instância de banco de dados do Db2

É possível usar a AWS CLI para associar uma instância do RDS para Db2 a um domínio do AD autogerenciado. É possível fazer isso por meio de uma das seguintes maneiras:

Ao usar a AWS CLI, os seguintes parâmetros são obrigatórios para que a instância de banco de dados possa usar o domínio do AD autogerenciado criado.

  • Em relação ao parâmetro --domain-fqdn, use o nome de domínio totalmente qualificado (FQDN) do seu AD autogerenciado.

  • Para o parâmetro --domain-ou, use a OU criada em seu AD autogerenciado.

  • Para o parâmetro --domain-auth-secret-arn, use o valor do ARN do segredo criado em uma etapa anterior.

  • Para o parâmetro --domain-dns-ips, use os endereços IPv4 primário e secundário dos servidores DNS para seu AD autogerenciado. Se você não tiver um endereço IP de servidor DNS secundário, insira o endereço IP principal duas vezes.

O comando da CLI a seguir cria uma instância do RDS para Db2 e a associa a um domínio do AD autogerenciado.

Para Linux, macOS ou Unix:

aws rds create-db-instance \ --db-instance-identifier my-DB-instance \ --db-instance-class db.m6i.large \ --allocated-storage 50 \ --engine db2-se \ --engine-version 11.5 \ --master-username my-master-username \ --master-user-password my-master-password \ --domain-fqdn my_AD_domain.my_AD.my_domain \ --domain-ou OU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain \ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456" \ --domain-dns-ips "10.11.12.13" "10.11.12.14"

Para Windows:

aws rds create-db-instance ^ --db-instance-identifier my-DB-instance ^ --db-instance-class db.m6i.large ^ --allocated-storage 50 ^ --engine db2-se ^ --engine-version 11.5 ^ --master-username my-master-username ^ --master-user-password my-master-password ^ --domain-fqdn my_AD_domain.my_AD.my_domain ^ --domain-ou OU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain ^ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456" ^ --domain-dns-ips "10.11.12.13" "10.11.12.14"