Direkt zum Inhalt

Wie erstelle ich einen weiteren Adminbenutzer für meine Amazon RDS für MySQL-DB-Instance?

Lesedauer: 3 Minute
0

Ich möchte einen weiteren Benutzer mit Admin-Kontoberechtigungen für meine DB-Instance in Amazon Relational Database Service (Amazon RDS) für MySQL erstellen.

Lösung

Standardmäßig hat Amazon RDS für MySQL ein primäres Adminkonto. Es empfiehlt sich, einen weiteren Benutzer mit minimalen Berechtigungen für die Verwendung deiner Anwendung anzulegen. Weitere Informationen findest du unter Rollenbasiertes Berechtigungsmodell für RDS für MySQL.

Hinweis: Abhängig von der Version von MySQL, die du verwendest, kannst du auch den GRANT-Befehl ausführen, um einem Benutzer dynamische Berechtigungen zuzuweisen.

Für MySQL-Versionen 8.0.36 und höher

Gehe wie folgt vor, um rds_superuser_role zu verwenden, um Benutzern rollenbasierte Berechtigungen zu gewähren:

  1. Führe als primärer Adminbenutzer den Befehl SHOW GRANTS aus, um die Liste der Berechtigungen für die Rolle rds_superuser_role anzuzeigen:

    SHOW GRANTS FOR rds_superuser_role@'%';
  2. Führe den Befehl CREATE USER aus, um einen neuen Adminbenutzer zu erstellen:

    CREATE USER 'new_admin_user'@'%' IDENTIFIED BY 'password';
  3. Führe den Befehl GRANT aus, um dem neuen Benutzer die neue Rolle zuzuweisen:

    grant rds_superuser_role to 'new_admin_user'@'%';
  4. Führe den folgenden Befehl aus, um die rds_superuser_role für den neuen Benutzer zu aktivieren:

    set role all;
  5. Führe die folgende Abfrage aus, um zu überprüfen, ob du dem neuen Benutzer rds_superuser_role gewährt hast:

    select current_role();

    Beispielausgabe:

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

Für MySQL-Versionen unter 8.0.36

Führe die folgenden Schritte aus:

  1. Stelle eine Verbindung zu deiner RDS für MySQL-DB-Instance her.

  2. Führe den folgenden Befehl aus, um eine Liste der Berechtigungen abzurufen, die derzeit für das Adminkonto verfügbar sind:

    SHOW GRANTS for admin_username;

    Hinweis: Ersetze admin_username durch deinen Benutzernamen.

  3. Kopiere deine Ausgabe der Liste der Berechtigungen, die du in Schritt 5 verwenden möchtest.
    Beispielausgabe:

    +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| 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. Führe den folgenden Befehl aus, um einen neuen Benutzer zu erstellen:

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

    Hinweis: Ersetze new_admin_user und password durch deinen Benutzernamen und dein Passwort.

  5. Führe den folgenden Befehl GRANT aus und füge die Liste der Berechtigungen hinzu, die du in Schritt 2 erhalten hast, um sie dem neuen Benutzer zuzuweisen:

    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. Verwende den neuen Benutzer, um dich anzumelden.

  7. Führe die folgende Abfrage aus, um zu überprüfen, ob du dem neuen Adminbenutzer die Berechtigungen erteilt hast:

    SHOW GRANTS for admin_username;

    Hinweis: Ersetze admin_username durch deinen Benutzernamen.

Ähnliche Informationen

Allgemeine DBA-Aufgaben für MySQL-DB-Instances

Wie erlaube ich Benutzern, sich mit ihren IAM-Anmeldeinformationen bei einer DB-Instance bei Amazon RDS für MySQL zu authentifizieren?