Conectar-se ao Aurora MySQL com a autenticação Kerberos - Amazon Aurora

Conectar-se ao Aurora MySQL com a autenticação Kerberos

Para evitar erros, utilize um cliente MySQL com a versão 8.0.26 ou posterior em plataformas Unix, 8.0.27 ou posterior no Windows.

Utilizar o login do Kerberos do Aurora MySQL para se conectar ao cluster de banco de dados

Para se conectar ao Aurora MySQL com a autenticação Kerberos, você faz login como um usuário do banco de dados que você criou seguindo as instruções em Etapa 6: Criar usuários do Aurora MySQL que usam a autenticação Kerberos.

No prompt de comando, conecte-se a um dos endpoints associados ao cluster de banco de dados do Aurora MySQL. Quando a senha for solicitada, insira a senha do Kerberos associada a esse nome de usuário.

Quando você se autentica com o Kerberos, um tíquete de concessão de tíquetes (TGT) é gerado, caso ainda não exista. O plug-in da authentication_kerberos utiliza o TGT para obter um tíquete de serviço, que é então apresentado ao servidor de banco de dados do Aurora MySQL.

Você pode usar o cliente MySQL para se conectar ao Aurora MySQL com a autenticação Kerberos utilizando Windows ou Unix.

Você pode se conectar utilizando um dos seguintes métodos:

  • Obtenha o TGT manualmente. Nesse caso, você não precisa fornecer a senha para o cliente MySQL.

  • Forneça a senha para o login do Active Directory diretamente ao cliente MySQL.

O plug-in do lado do cliente é compatível com as plataformas Unix para as versões 8.0.26 e versões posteriores do cliente MySQL.

Como se conectar obtendo o TGT manualmente
  1. Na interface de linha de comando, utilize o comando a seguir para obter o TGT.

    kinit user_name
  2. Utilize o comando mysql a seguir para fazer login no endpoint de instância de banco de dados de seu cluster de banco de dados.

    mysql -h DB_instance_endpoint -P 3306 -u user_name -p
    nota

    A autenticação poderá falhar se o keytab for alternado na instância de banco de dados. Nesse caso, obtenha um novo TGT executando novamente kinit.

Como se conectar diretamente
  1. Na interface de linha de comando, utilize o comando mysql a seguir para fazer login no endpoint de instância de banco de dados de seu cluster de banco de dados.

    mysql -h DB_instance_endpoint -P 3306 -u user_name -p
  2. Insira a senha do usuário do Active Directory.

No Windows, a autenticação geralmente é feita no momento do login; portanto, você não precisa obter o TGT manualmente para se conectar ao cluster de banco de dados do Aurora MySQL. A capitalização das letras do nome de usuário do banco de dados deve corresponder à capitalização das letras 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.

O plug-in do lado do cliente é compatível com o Windows para as versões 8.0.27 e posteriores do cliente MySQL.

Como se conectar diretamente
  • Na interface de linha de comando, utilize o comando mysql a seguir para fazer login no endpoint de instância de banco de dados de seu cluster de banco de dados.

    mysql -h DB_instance_endpoint -P 3306 -u user_name

Autenticação Kerberos com bancos de dados globais Aurora

A autenticação Kerberos para o Aurora MySQL é compatível com bancos de dados globais do Aurora. Para autenticar usuários no cluster de banco de dados secundário utilizando o Active Directory do cluster de banco de dados primário, replique o Active Directory para a Região da AWS secundária. Você ativa a autenticação Kerberos no cluster secundário utilizando o mesmo ID de domínio do cluster primário. A replicação AWS Managed Microsoft AD é compatível somente com a versão Enterprise do Active Directory. Para ter mais informações, consulte Replicação em várias regiões no Guia de administração do AWS Directory Service.

Migração do RDS para MySQL para o Aurora MySQL

Depois de migrar do RDS para MySQL com a autenticação Kerberos habilitada para o Aurora MySQL, modifique os usuários criados com o plug-in auth_pam para usar o plug-in authentication_kerberos. Por exemplo:

ALTER USER user_name IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name';

Evitar o armazenamento em cache de tíquetes

Se um TGT válido não existir quando a aplicação cliente MySQL for iniciada, a aplicação poderá obter o TGT e armazená-lo em cache. Se você quiser evitar que o TGT seja armazenado em cache, defina um parâmetro de configuração no arquivo /etc/krb5.conf.

nota

Essa configuração só se aplica a hosts de clientes que executam Unix, não Windows.

Para evitar o armazenamento em cache do TGT
  • Adicione uma seção [appdefaults] a /etc/krb5.conf da seguinte forma:

    [appdefaults] mysql = { destroy_tickets = true }

Registro em log da autenticação Kerberos

A variável de ambiente AUTHENTICATION_KERBEROS_CLIENT_LOG define o nível de registro em log para a autenticação Kerberos. Você pode usar os logs para depuração do lado do cliente.

Os valores permitidos são 1 a 5. As mensagens de log são gravadas na saída de erro padrão. A tabela a seguir descreve cada nível de registro em log.

Nível de registro Descrição
1 ou não definido Sem registro em log
2 Mensagens de erro
3 Mensagens de erro e aviso
4 Mensagens de erro, aviso e informação
5 Mensagens de erro, aviso, informação e depuração