Configurar um Active Directory autogerenciado - Amazon Relational Database Service

Configurar um Active Directory autogerenciado

Para configurar um AD autogerenciado, siga as etapas a seguir.

Etapa 1: Criar uma unidade organizacional no AD

Importante

Recomendamos criar uma OU e uma credencial de serviço dedicadas com escopo para essa OU para todas as contas da AWS que tenham uma instância de banco de dados do RDS para SQL Server associada ao seu domínio de AD autogerenciado. Ao dedicar uma OU e uma credencial de serviço, você pode evitar permissões conflitantes e seguir o princípio de 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. Clique com o botão direito do mouse no domínio, escolha Novo e selecione Unidade organizacional.

  4. Insira um nome para a OU.

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

  6. Clique em OK. A nova OU será exibida em seu domínio.

Etapa 2: Criar um usuário de domínio em seu AD

As credenciais do usuário de domínio serão usadas para o segredo no AWS Secrets Manager.

Como criar um usuário de domínio 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. Clique com o botão direito do mouse no objeto Usuários, escolha Novo e selecione Usuário.

  3. Insira um nome, sobrenome e nome de login para o usuário. Clique em Next.

  4. Insira uma senha para o usuário. Não selecione a opção “O usuário deve alterar a senha no próximo login”. Não selecione a opção “A conta está desabilitada”. Clique em Next.

  5. Clique em OK. O novo usuário será exibido em seu domínio.

Etapa 3: Delegar controle ao usuário de AD

Como delegar controle ao usuário do domínio de AD
  1. Abra o snap-in do MMC Usuários e computadores do Active Directory e selecione o domínio em que deseja criar o usuário.

  2. Clique com o botão direito do mouse na OU criada anteriormente e escolha Delegar controle.

  3. No Assistente de delegação de controle, clique em Próximo.

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

  5. Na seção Selecionar usuários, computadores ou grupos, insira o usuário do AD que você criou e clique em Verificar nomes. Se a verificação de usuário do AD for bem-sucedida, clique em OK.

  6. Na seção Usuários ou grupos, confirme se seu usuário do AD foi adicionado e clique em Próximo.

  7. Na página Tarefas para delegar, selecione Criar uma tarefa personalizada para delegar e escolha Próximo.

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

    1. Selecione Somente os objetos a seguir na pasta.

    2. Selecione Objetos do computador.

    3. Selecione Criar objetos selecionados nesta pasta.

    4. Selecione Excluir objetos selecionados nesta pasta e clique em Próximo.

  9. Na seção Permissões:

    1. Mantenha a opção Geral selecionada.

    2. Selecione Gravação validada no nome do host DNS.

    3. Selecione Gravação validada no nome da entidade principal de serviço e clique em Próximo.

  10. Em Concluir o assistente de delegação de controle, revise e confirme as configurações e clique em Concluir.

Etapa 4: Criar uma chave do AWS KMS

A chave do KMS é usada para criptografar o segredo da AWS.

Para criar uma chave do AWS KMS
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 de banco de dados do RDS para SQL Server que você deseja associar ao AD autogerenciado.

  1. No console do AWS 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 clique em 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 Etiquetas, forneça uma etiqueta 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 que administradores de chaves excluam esta chave selecionada e clique em Próximo.

  10. Em Usuários de chaves, informe o mesmo usuário do IAM da etapa anterior e selecione-o. Clique em Next.

  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. Clique em Finish (Concluir).

Etapa 5: Criar um segredo da AWS

Para criar um segredo
nota

Crie o segredo na mesma conta da AWS que contém a instância de banco de dados do RDS para SQL Server que você deseja associar ao AD autogerenciado.

  1. No AWS Secrets Manager, escolha Armazenar um novo segredo.

  2. Em Secret type (Tipo de segredo), escolha Other type of secret (Outro tipo de segredo).

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

    1. Para a primeira chave, insira CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME.

    2. Para o valor da primeira chave, insira o nome do usuário do AD que você criou no domínio em uma etapa anterior.

    3. Para a segunda chave, insira CUSTOMER_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, insira a chave do KMS que você criou em uma etapa anterior e clique em 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, clique em 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 SQL Server em aws:sourceArn. Para ter 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. Clique em Salvar, depois em Próximo.

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

  11. Revise as configurações do segredo e clique em Armazenar.

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

Etapa 6: Criar ou modificar a instância de banco de dados do SQL Server

Você pode usar o console, a CLI ou a API do RDS para associar uma instância de banco de dados do RDS para SQL Server a um domínio de AD autogerenciado. Você pode fazer isso por meio de uma das seguintes maneiras:

Quando você usa a AWS CLI, são necessários os seguintes parâmetros para que a instância de banco de dados possa usar o domínio de Active Directory autogerenciado que você criou:

  • Para o parâmetro --domain-fqdn, use o nome de domínio totalmente qualificado (FQDN) do seu Active Directory 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 exemplo a seguir de comandos da CLI mostra como criar, modificar e remover uma instância de banco de dados do RDS para SQL Server com um domínio de AD autogerenciado.

Importante

Se você modificar uma instância de banco de dados para associá-la ou removê-la de um domínio de AD autogerenciado, será necessária uma reinicialização da instância de banco de dados para que a modificação entre em vigor. Você pode optar por aplicar as alterações imediatamente ou esperar até a próxima janela de manutenção. Escolher a opção Aplicar imediatamente causará tempo de inatividade para uma instância de banco de dados single-AZ. Uma instância de banco de dados multi-AZ realizará um failover antes de concluir a reinicialização. Para ter mais informações, consulte Usar a configuração de programação de modificações.

O comando da CLI a seguir cria uma instância de banco de dados do RDS para SQL Server e a associa a um domínio de AD autogerenciado.

Para Linux, macOS ou Unix:

aws rds create-db-instance \ --db-instance-identifier my-DB-instance \ --db-instance-class db.m5.xlarge \ --allocated-storage 50 \ --engine sqlserver-se \ --engine-version 15.00.4043.16.v1 \ --license-model license-included \ --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.m5.xlarge ^ --allocated-storage 50 ^ --engine sqlserver-se ^ --engine-version 15.00.4043.16.v1 ^ --license-model license-included ^ --master-username my-master-username ^ --master-user-password my-master-password ^ --domain-fqdn my-AD-test.my-AD.mydomain ^ --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"

O comando da CLI a seguir modifica uma instância de banco de dados do RDS para SQL Server existente para usar um domínio de Active Directory autogerenciado.

Para Linux, macOS ou Unix:

aws rds modify-db-instance \ --db-instance-identifier my-DB-instance \ --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 modify-db-instance ^ --db-instance-identifier my-DBinstance ^ --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"

O comando da CLI a seguir remove uma instância de banco de dados do RDS para SQL Server de um domínio de Active Directory autogerenciado.

Para Linux, macOS ou Unix:

aws rds modify-db-instance \ --db-instance-identifier my-DB-instance \ --disable-domain

Para Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-DB-instance ^ --disable-domain

Etapa 7: Criar logins do SQL Server de Autenticação do Windows

Use as credenciais de usuário mestre do Amazon RDS para se conectar à instância de banco de dados do SQL Server como você faria para qualquer outra instância de banco de dados. Como a instância de banco de dados é associada ao domínio de AD autogerenciado, você pode provisionar logins e usuários do SQL Server. Você faz isso usando o utilitário de usuários e grupos de AD em seu domínio de AD autogerenciado. As permissões de banco de dados são gerenciadas por meio de permissões padrão do SQL Server concedidas e revogadas a esses logins do Windows.

Para que um usuário de AD autogerenciado se autentique com o SQL Server, deve existir um login do Windows SQL Server para o usuário de AD autogerenciado ou um grupo de Active Directory autogerenciado do qual o usuário é membro. O controle de acesso refinado é gerenciado por meio da concessão e revogação de permissões nesses logins do SQL Server. Um usuário de AD autogerenciado que não tem um login do SQL Server ou que pertence a um grupo de AD autogerenciado ao qual um login não consegue obter acesso à instância de banco de dados do SQL Server.

A permissão ALTER ANY LOGIN é necessária para criar um login de AD autogerenciado do SQL Server. Se você ainda não criou logins com essa permissão, conecte-se como o usuário mestre da instância de banco de dados usando a autenticação do SQL Server e crie logins de AD autogerenciado do SQL Server no contexto do usuário principal.

Você pode executar um comando de linguagem de definição de dados (DDL) como o seguinte para criar um login do SQL Server para um usuário ou grupo de AD autogerenciado.

nota

Especifique usuários e grupos que usam o nome de login anterior ao Windows 2000 no formato my_AD_domain\my_AD_domain_user. Não é possível usar um User Principal Name (UPN – Nome de usuário principal) no formato my_AD_domain_user@my_AD_domain.

USE [master] GO CREATE LOGIN [my_AD_domain\my_AD_domain_user] FROM WINDOWS WITH DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english]; GO

Para obter mais informações, consulte CREATE LOGIN (Transact-SQL) na documentação da Microsoft Developer Network.

Os usuários (humanos e aplicações) do seu domínio agora podem se conectar à instância do RDS para SQL Server por meio de uma máquina cliente associada ao domínio de AD autogerenciado usando a autenticação do Windows.