Usar a autenticação Kerberos para Aurora MySQL - Amazon Aurora

Usar a autenticação Kerberos para Aurora MySQL

É possível usar a autenticação Kerberos para autenticar usuários quando se conectam ao seu cluster de banco de dados do Aurora MySQL. Para fazer isso, configure seu cluster de banco de dados para usar o AWS Directory Service for Microsoft Active Directory para autenticação Kerberos. O AWS Directory Service for Microsoft Active Directory também é chamado de AWS Managed Microsoft AD. É um recurso disponível com o AWS Directory Service. Para saber mais, consulte What is AWS Directory Service? (O que é o ?) no Guia de administração do AWS Directory Service.

Para iniciar, crie um diretório AWS Managed Microsoft AD para armazenar credenciais de usuário. Depois, forneça o domínio do Active Directory e outras informações ao seu cluster de banco de dados do Aurora MySQL. Quando os usuários são autenticados com o cluster de banco de dados do Aurora MySQL, as solicitações de autenticação são encaminhadas ao diretório AWS Managed Microsoft AD.

Manter todas as suas credenciais no mesmo diretório pode economizar tempo e esforço. Com essa abordagem, há um lugar centralizado para armazenar e gerenciar credenciais para vários clusters de banco de dados. O uso de um diretório também pode melhorar o perfil de segurança geral.

Além disso, é possível acessar credenciais de seu próprio Microsoft Active Directory on-premises. Para fazer isso, crie uma relação de domínio confiável para que o diretório AWS Managed Microsoft AD confie no Microsoft Active Directory on-premises. Dessa forma, seus usuários podem acessar os clusters de banco de dados do Aurora MySQL com a mesma experiência de autenticação única (SSO) do Windows de quando eles acessam workloads em sua rede on-premises.

Um banco de dados pode usar autenticação Kerberos, do AWS Identity and Access Management (IAM) ou ambas. No entanto, como a autenticação Kerberos e o IAM oferecem métodos de autenticação diferentes, um usuário específico pode fazer login somente em um banco de dados usando um ou outro método de autenticação, mas não em ambos. Para ter mais informações sobre a autenticação do IAM, consulte Autenticação do banco de dados do IAM.

Visão geral da autenticação Kerberos para clusters do Aurora MySQL

Para configurar a autenticação Kerberos para um cluster de banco de dados do Aurora MySQL, conclua as etapas gerais a seguir. Essas etapas serão descritas em mais detalhes mais adiante.

  1. Use AWS Managed Microsoft AD para criar um diretório do AWS Managed Microsoft AD. É possível usar o AWS Management Console, o AWS CLI ou o AWS Directory Service para criar o diretório. Para obter instruções, consulte Criar seu diretório AWS Managed Microsoft AD no Guia de administração do AWS Directory Service.

  2. Crie uma função do AWS Identity and Access Management (IAM) que use a politica gerenciada AmazonRDSDirectoryServiceAccess do IAM. O perfil permite ao Amazon Aurora fazer chamadas para seu diretório.

    Para o perfil permitir o acesso, o endpoint do AWS Security Token Service (AWS STS) deve estar ativado na Região da AWS de sua conta da AWS. Os endpoints do AWS STS são ativados por padrão em todas as Regiões da AWS, e você pode usá-los sem precisar tomar medidas adicionais. Para ter mais informações, consulte Ativar e desativar o AWS STS em uma Região da AWS no Guia do usuário do IAM.

  3. Crie e configure usuários no diretório AWS Managed Microsoft AD usando as ferramentas do Microsoft Active Directory. Para ter mais informações sobre como criar usuários em seu Active Directory, consulte Gerenciar usuários e grupos no Microsoft AD gerenciado pela AWS no Guia de administração doAWS Directory Service.

  4. Crie ou modifique um cluster de banco de dados do Aurora MySQL. Se você usar a CLI ou a API do RDS na solicitação de criação, especifique um identificador de domínio com o parâmetro Domain. Use o identificador d-* que foi gerado quando você criou o diretório e o nome do perfil do IAM que você criou.

    Se você modificar um cluster de banco de dados do Aurora MySQL existente para usar a autenticação Kerberos, defina os parâmetros de domínio e perfil do IAM para o cluster de banco de dados. Localize o cluster de banco de dados na mesma VPC que o diretório de domínio.

  5. Use as credenciais de usuário primário do Amazon RDS para conectar-se ao cluster de banco de dados do Aurora MySQL. Crie o usuário do banco de dados no Aurora MySQL usando as instruções em Etapa 6: Criar usuários do Aurora MySQL que usam a autenticação Kerberos.

    Os usuários que você cria dessa maneira podem fazer login no cluster de banco de dados do Aurora MySQL usando a autenticação Kerberos. Para ter mais informações, consulte Conectar-se ao Aurora MySQL com a autenticação Kerberos.

Para obter a autenticação Kerberos com um Microsoft Active Directory on-premises ou auto-hospedado, crie uma confiança de floresta. Confiança de floresta é uma relação de confiança entre dois grupos de domínios. A confiança pode ser unidirecional ou bidirecional. Para ter mais informações sobre como configurar confianças de floresta usando o AWS Directory Service, consulte Quando criar um relacionamento de confiança no Guia de administração do AWS Directory Service.

Limitações da autenticação Kerberos para o Aurora MySQL

As seguintes limitações se aplicam à autenticação Kerberos para Aurora MySQL:

  • A autenticação Kerberos é compatível com o Aurora MySQL versão 3.03 e posterior.

    Para ter informações sobre a Região da AWS, consulte Autenticação do Kerberos com o Aurora MySQL.

  • Para usar a autenticação Kerberos com o Aurora MySQL, seu cliente ou conector MySQL deve usar a versão 8.0.26 ou posterior em plataformas Unix, 8.0.27 ou posterior no Windows. Caso contrário, o plug-in authentication_kerberos_client do lado do cliente não estará disponível e você não poderá se autenticar.

  • Só o AWS Managed Microsoft AD é compatível com o Aurora MySQL. Contudo, você pode associar os clusters de banco de dados do Aurora MySQL a domínios gerenciados do Microsoft AD compartilhados de propriedade de contas diferentes na mesma Região da AWS.

    Também é possível usar seu próprio Active Directory on-premises. Para obter mais informações, consulte Etapa 2: (Opcional) Criar uma confiança para um Active Directory on-premises.

  • Ao usar o Kerberos para autenticar um usuário conectado ao cluster do Aurora MySQL usando clientes MySQL ou drivers no sistema operacional Windows, a capitalização dos caracteres do nome de usuário do banco de dados deve corresponder à capitalização do usuário no Active Directory. Por exemplo, se o usuário no Active Directory for exibido como Admin, o nome de usuário do banco de dados deverá ser Admin.

    No entanto, agora você pode usar a comparação de nomes de usuário sem distinção entre maiúsculas e minúsculas com o plug-in authentication_kerberos. Para obter mais informações, consulte Etapa 8: (Opcional) Configurar a comparação de nomes de usuário sem distinção entre maiúsculas e minúsculas.

  • Você deve reinicializar as instâncias de banco de dados do leitor depois de ativar o recurso para instalar o plug-in authentication_kerberos.

  • A replicação para instâncias de banco de dados que não são compatíveis com o plug-in authentication_kerberos pode causar falha na replicação.

  • Para que os bancos de dados globais do Aurora usem a autenticação Kerberos, você deve configurá-la para cada cluster de banco de dados no banco de dados global.

  • O nome do domínio deve ter menos de 62 caracteres.

  • Não modifique a porta do cluster de banco de dados depois de ativar a autenticação Kerberos. Se você modificar a porta, a autenticação Kerberos deixará de funcionar.