Connexion à Aurora MySQL avec l'authentification Kerberos - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connexion à Aurora MySQL avec l'authentification Kerberos

Pour éviter les erreurs, utilisez un client MySQL avec la version 8.0.26 ou ultérieure sur les plateformes Unix, ou 8.0.27 ou ultérieure sur Windows.

Utilisation de l'identifiant Kerberos Aurora MySQL pour se connecter au cluster de bases de données

Pour vous connecter à Aurora MySQL à l'aide de l'authentification Kerberos, vous devez vous connecter comme l'utilisateur de base de données que vous avez créé à l'aide des instructions fournies dans Étape 6 : Créer des utilisateurs Aurora MySQL utilisant l'authentification Kerberos.

À partir d'une invite de commande, connectez-vous à un des points de terminaison associés à votre cluster de bases de données Aurora MySQL. Lorsque vous êtes invité à entrer le mot de passe, entrez le mot de passe Kerberos associé à ce nom d'utilisateur.

Lorsque vous vous authentifiez avec Kerberos, un ticket d'attribution de tickets (TGT) est généré s'il n'en existe pas déjà un. Le plug-in authentication_kerberos utilise le TGT pour obtenir un ticket de service, qui est ensuite présenté au serveur de base de données Aurora MySQL.

Vous pouvez utiliser le client MySQL pour vous connecter à Aurora MySQL avec une authentification Kerberos sous Windows ou Unix.

Vous pouvez vous connecter avec l'une des méthodes suivantes :

  • Obtenez le TGT manuellement. Dans ce cas, il n'est pas nécessaire de fournir le mot de passe au client MySQL.

  • Fournissez le mot de passe pour la connexion Active Directory directement au client MySQL.

Le plug-in côté client est pris en charge sur les plateformes Unix pour les versions client de MySQL 8.0.26 et ultérieures.

Pour vous connecter en obtenant le TGT manuellement
  1. Sur l'interface de ligne de commande, utilisez la commande suivante pour obtenir le TGT.

    kinit user_name
  2. Utilisez la commande mysql suivante pour vous connecter au point de terminaison de l'instance de base de données de votre cluster de bases de données.

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

    L'authentification peut échouer si le keytab a fait l'objet d'une rotation sur l'instance de base de données. Dans ce cas, obtenez un nouveau TGT en exécutant à nouveau kinit.

Pour vous connecter directement
  1. Sur l'interface de ligne de commande, utilisez la commande mysql suivante pour vous connecter au point de terminaison de l'instance de base de données de votre cluster de bases de données.

    mysql -h DB_instance_endpoint -P 3306 -u user_name -p
  2. Saisissez le mot de passe de l'utilisateur Active Directory.

Sous Windows, l'authentification est généralement effectuée au moment de la connexion. Vous n'avez donc pas besoin d'obtenir le TGT manuellement pour vous connecter au cluster de bases de données Aurora MySQL. La casse du nom d'utilisateur de base de données doit correspondre à la casse des caractères de l'utilisateur dans Active Directory. Par exemple, si l'utilisateur apparaît dans Active Directory en tant qu'Admin, le nom d'utilisateur de base de données doit être Admin.

Le plug-in côté client est pris en charge sur les plateformes Windows pour les versions client de MySQL 8.0.27 et ultérieures.

Pour vous connecter directement
  • Sur l'interface de ligne de commande, utilisez la commande mysql suivante pour vous connecter au point de terminaison de l'instance de base de données de votre cluster de bases de données.

    mysql -h DB_instance_endpoint -P 3306 -u user_name

Authentification Kerberos avec des bases de données globales Aurora

L'authentification Kerberos for Aurora MySQL est prise en charge pour les bases de données globales Aurora. Pour authentifier les utilisateurs du cluster de bases de données secondaire à l'aide de l'Active Directory du cluster de bases de données principal, répliquez l'Active Directory sur la Région AWS secondaire. Vous activez l'authentification Kerberos sur le cluster secondaire en utilisant le même ID de domaine que pour le cluster principal. La réplication AWS Managed Microsoft AD est prise en charge uniquement avec la version Enterprise d'Active Directory. Pour plus d'informations, consultez Multi-Region replication (Réplication multi-régions) dans le Guide d'administration AWS Directory Service.

Migration de RDS for MySQL vers Aurora MySQL

Après avoir migré de RDS for MySQL avec l'authentification Kerberos activée vers Aurora MySQL, modifiez les utilisateurs créés avec le plug-in auth_pam pour qu'ils utilisent le plug-in authentication_kerberos. Par exemple :

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

Prévention de la mise en cache des tickets

Si aucun TGT valide n'existe au démarrage de l'application cliente MySQL, l'application peut obtenir le TGT et le mettre en cache. Si vous souhaitez empêcher la mise en cache du TGT, définissez un paramètre de configuration dans le fichier /etc/krb5.conf.

Note

Cette configuration s'applique uniquement aux hôtes clients exécutant Unix, et non Windows.

Pour empêcher la mise en cache du TGT
  • Ajoutez une section [appdefaults] à /etc/krb5.conf comme suit :

    [appdefaults] mysql = { destroy_tickets = true }

Journalisation pour l'authentification Kerberos

La variable d'environnement AUTHENTICATION_KERBEROS_CLIENT_LOG définit le niveau de journalisation pour l'authentification Kerberos. Vous pouvez utiliser les journaux pour le débogage côté client.

Les valeurs autorisées sont comprises entre 1 et 5. Les messages du journal sont écrits sur la sortie d'erreur standard. La table suivante décrit chaque niveau de journalisation.

Logging level (Niveau de journalisation) Description
1 ou non défini Aucune journalisation
2 Messages d'erreur
3 Messages d'erreur et d'avertissement
4 Messages d'erreur, d'avertissement et d'information
5 Messages d'erreur, d'avertissement, d'information et de débogage