Configurar um Active Directory autogerenciado
Para configurar um AD autogerenciado, siga as etapas abaixo.
Tópicos
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
-
Conecte-se ao seu domínio de AD como administrador do domínio.
-
Abra Usuários e computadores do Active Directory e selecione o domínio em que deseja criar a OU.
-
Abra o menu de contexto do domínio, escolha Novo e, depois, Unidade organizacional.
-
Insira um nome para a OU.
-
Mantenha a caixa Proteger o contêiner contra exclusão acidental selecionada.
-
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
-
Abra Usuários e computadores do Active Directory e selecione o domínio e a OU em que deseja criar o usuário.
-
Abra o menu de contexto de Usuários, escolha Novo e, depois, Usuário.
-
Insira um nome, sobrenome e nome de login para o usuário. Escolha Próximo.
-
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.
-
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
-
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.
-
Abra o menu de contexto da UO criada anteriormente e escolha Delegar controle.
-
No Assistente para Delegação de Controle, escolha Próximo.
-
Na seção Usuários ou grupos, escolha Adicionar.
-
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.
-
Na seção Usuários ou grupos, confirme que a conta de serviço do domínio foi adicionada e escolha Avançar.
-
Na seção Tarefas para delegar, selecione Criar uma tarefa personalizada para delegar e escolha Avançar.
-
Na seção Tipo de objeto do Active Directory:
-
Selecione Somente os objetos a seguir na pasta.
-
Selecione Objetos de usuário.
-
Selecione Criar objetos selecionados nesta pasta.
-
Selecione Excluir os objetos selecionados nesta pasta e escolha Avançar.
-
-
Na seção Permissões:
-
Mantenha a opção Geral selecionada.
-
Selecione Específico da propriedade.
-
Selecione Criação/exclusão de objetos secundários específicos.
-
Selecione Redefinir senha.
-
Selecione Ler msDS-SupportedEncryptionTypes.
-
Selecione Gravar msDS-SupportedEncryptionTypes.
-
-
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
-
Abra o console do AWS KMS em https://console.aws.amazon.com/kms/
. Escolha Criar chave. -
Em Tipo de chave, escolha Simétrica.
-
Em Uso da chave, escolha Criptografar e descriptografar.
-
Em Advanced options (Opções avançadas):
-
Em Origem do material de chaves, escolha Externa.
-
Em Regionalidade, escolha Chave de região única e escolha Próximo.
-
-
Em Alias, forneça um nome para a chave do KMS.
-
(Opcional) Em Descrição, forneça uma descrição da chave do KMS.
-
(Opcional) Em Tags, forneça uma tag da chave do KMS e clique em Próximo.
-
Em Administradores de chaves, forneça o nome de um usuário do IAM e selecione-o.
-
Em Exclusão de chaves, mantenha a caixa Permitir administradores de chaves selecionada para que eles possam excluir essa chave, e escolha Próximo.
-
Em Usuários de chaves, informe o mesmo usuário do IAM da etapa anterior e selecione-o. Escolha Próximo.
-
Revise a configuração.
-
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": "*" } -
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
-
Abra o console do AWS Secrets Manager emhttps://console.aws.amazon.com/secretsmanager/
. Selecione Armazenar um novo segredo. -
Em Tipo de segredo, escolha Outro tipo de segredo.
-
Em Pares de chave/valor, adicione suas duas chaves:
-
Para a primeira chave, insira
SELF_MANAGED_ACTIVE_DIRECTORY_USERNAME. -
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.
-
Para a segunda chave, insira
SELF_MANAGED_ACTIVE_DIRECTORY_PASSWORD. -
Para o valor da segunda chave, insira a senha que você criou para o usuário do AD no domínio.
-
-
Em Chave de criptografia, selecione a chave do KMS criada na etapa anterior e escolha Próximo.
-
Em Nome do secreto, insira um nome descritivo que ajude você a encontrar o segredo posteriormente.
-
(Opcional) Em Descrição, insira uma descrição para o nome do segredo.
-
Em Permissão de recurso, escolha Editar.
-
Adicione a política a seguir à política de permissões:
nota
Recomendamos que você use as condições
aws:sourceAccounteaws:sourceArnna política para evitar o problema de representante confuso. Use sua conta da AWS emaws:sourceAccounte o ARN da instância de banco de dados do RDS para Db2 emaws: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:*" } } } ] } -
Escolha Salvar e Próximo.
-
Em Definir configurações de rotação, mantenha os valores padrão e escolha Próximo.
-
Consulte as configurações do segredo e escolha Armazenar.
-
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:
-
Crie uma instância de banco de dados do Db2 usando o comando da CLI create-db-instance. Para instruções, consulte Criar uma instância de banco de dados do Amazon RDS.
-
Modifique uma instância de banco de dados existente do Db2 usando o comando da CLI modify-db-instance. Para instruções, consulte Modificar uma instância de banco de dados do Amazon RDS.
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-identifiermy-DB-instance\ --db-instance-class db.m6i.large \ --allocated-storage 50 \ --engine db2-se \ --engine-version 11.5 \ --master-usernamemy-master-username\ --master-user-passwordmy-master-password\ --domain-fqdnmy_AD_domain.my_AD.my_domain\ --domain-ouOU=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-identifiermy-DB-instance^ --db-instance-class db.m6i.large ^ --allocated-storage 50 ^ --engine db2-se ^ --engine-version 11.5 ^ --master-usernamemy-master-username^ --master-user-passwordmy-master-password^ --domain-fqdnmy_AD_domain.my_AD.my_domain^ --domain-ouOU=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"