Ir para o conteúdo

Como faço para criar outro usuário de administração para minha instância de banco de dados do Amazon RDS para MySQL?

3 minuto de leitura
0

Quero criar outro usuário que tenha permissões de conta de administração para minha instância de banco de dados do Amazon Relational Database Service (Amazon RDS) para MySQL.

Resolução

Por padrão, o Amazon RDS para MySQL tem uma conta de administração principal. É uma prática recomendada criar outro usuário com permissões mínimas para usar com a aplicação. Para mais informações, consulte Modelo de privilégios baseados em perfis para o RDS para MySQL.

Observação: dependendo da versão do MySQL que você usa, também é possível executar o comando GRANT para anexar permissões dinâmicas a um usuário.

Para versões 8.0.36 e superiores do MySQL

Para usar rds_superuser_role para conceder permissões baseadas em perfis aos usuários, conclua as seguintes etapas:

  1. Como usuário de administração principal, execute o comando SHOW GRANTS para ver a lista de permissões para o perfil rds_superuser_role:

    SHOW GRANTS FOR rds_superuser_role@'%';
  2. Execute o comando CREATE USER para criar um novo usuário administrativo:

    CREATE USER 'new_admin_user'@'%' IDENTIFIED BY 'password';
  3. Execute o comando GRANT para conceder o novo perfil ao novo usuário:

    grant rds_superuser_role to 'new_admin_user'@'%';
  4. Execute o comando a seguir para ativar o rds_superuser_role para o novo usuário:

    set role all;
  5. Execute a consulta a seguir para verificar se você concedeu rds_superuser_role ao novo usuário:

    select current_role();

    Exemplo de saída:

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

Para versões do MySQL anteriores à 8.0.36

Conclua as etapas a seguir:

  1. Conecte-se à sua instância de banco de dados do RDS para MySQL.

  2. Execute o comando a seguir para obter uma lista das permissões atualmente disponíveis para a conta administrativa:

    SHOW GRANTS for admin_username;

    Observação: substitua admin_username pelo seu nome de usuário.

  3. Copie sua saída da lista de permissões para usar na etapa 5.
    Exemplo de saída:

    +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| 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. Execute o comando a seguir para criar um novo usuário:

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

    Observação: substitua new_admin_user e password pelo seu nome de usuário e senha.

  5. Execute o seguinte comando GRANT e inclua a lista de permissões que você obteve na etapa 2 para vincular ao novo usuário:

    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. Use o novo usuário para fazer login.

  7. Execute a consulta a seguir para verificar se você concedeu as permissões ao novo usuário administrativo:

    SHOW GRANTS for admin_username;

    Observação: substitua admin_username pelo seu nome de usuário.

Informações relacionadas

Tarefas comuns de DBA para instâncias de banco de dados MySQL

Como permitir que os usuários se autentiquem em uma instância de banco de dados do Amazon RDS para MySQL usando suas credenciais do IAM?