Passer au contenu

Comment créer un autre utilisateur d'administration pour mon instance de base de données Amazon RDS for MySQL ?

Lecture de 3 minute(s)
0

Je souhaite créer un autre utilisateur disposant d’autorisations de compte d’administration pour mon instance de base de données Amazon Relational Database Service (Amazon RDS) for MySQL.

Résolution

Par défaut, Amazon RDS for MySQL dispose d’un compte d'administration principal. Il est recommandé de créer un autre utilisateur disposant d’autorisations minimales à utiliser avec votre application. Pour plus d'informations, consultez la section Modèle de privilège basé sur les rôles pour RDS for MySQL.

Remarque : Selon la version de MySQL que vous utilisez, vous pouvez également exécuter la commande GRANT pour attribuer des autorisations dynamiques à un utilisateur.

Pour les versions 8.0.36 et supérieures de MySQL

Pour utiliser rds_superuser_role afin d'accorder des autorisations basées sur les rôles aux utilisateurs, procédez comme suit :

  1. En tant qu'utilisateur d'administration principal, exécutez la commande SHOW GRANTS pour afficher la liste d’autorisations pour le rôle rds_superuser_role :

    SHOW GRANTS FOR rds_superuser_role@'%';
  2. Exécutez la commande CREATE USER pour créer un nouvel utilisateur administratif :

    CREATE USER 'new_admin_user'@'%' IDENTIFIED BY 'password';
  3. Exécutez la commande GRANT pour attribuer le nouveau rôle au nouvel utilisateur :

    grant rds_superuser_role to 'new_admin_user'@'%';
  4. Exécutez la commande suivante pour activer le rôle rds_superuser_role pour le nouvel utilisateur :

    set role all;
  5. Exécutez la requête suivante pour vérifier que vous avez accordé le rôle rds_superuser_role au nouvel utilisateur :

    select current_role();

    Exemple de sortie :

    +--------------------------+  
    | current_role() |  
    +--------------------------+  
    | `rds_superuser_role`@`%` |  
    +--------------------------+

Pour les versions de MySQL inférieures à 8.0.36

Procédez comme suit :

  1. Connectez-vous à votre instance de base de données RDS for MySQL.

  2. Exécutez la commande suivante pour obtenir la liste des autorisations dont dispose actuellement le compte administratif :

    SHOW GRANTS for admin_username;

    Remarque : Remplacez admin_username par votre nom d'utilisateur.

  3. Copiez le résultat de la liste d’autorisations à utiliser à l'étape 5.
    Exemple de sortie :

    +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Grants for admin@% |  
    +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+  
    | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'admin'@'%' WITH GRANT OPTION |  
    +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  4. Exécutez la commande suivante pour créer un nouvel utilisateur :

    CREATE USER 'new_admin_user'@'%' IDENTIFIED BY 'password';

    Remarque : Remplacez new_admin_user et password par votre nom d'utilisateur et votre mot de passe.

  5. Exécutez la commande GRANT suivante et incluez la liste d’autorisations que vous avez obtenues à l'étape 2 en vue de l’associer au nouvel utilisateur :

    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'new_admin_user'@'%' WITH GRANT OPTION;
  6. Utilisez le nouvel utilisateur pour vous connecter.

  7. Exécutez la requête suivante pour vérifier que vous avez accordé les autorisations au nouvel utilisateur administratif :

    SHOW GRANTS for admin_username;

    Remarque : Remplacez admin_username par votre nom d'utilisateur.

Informations connexes

Tâches DBA courantes pour les instances de base de données MySQL

Comment puis-je autoriser les utilisateurs à s’authentifier auprès d’une instance de base de données Amazon RDS for MySQL avec leurs informations d’identification IAM ?