내용으로 건너뛰기

Amazon RDS for MySQL DB 인스턴스의 다른 관리 사용자를 만들려면 어떻게 해야 합니까?

3분 분량
0

Amazon Relational Database Service(Amazon RDS) for MySQL DB 인스턴스에 대한 관리 계정 권한이 있는 다른 사용자를 만들고 싶습니다.

해결 방법

기본적으로 Amazon RDS for MySQL에는 기본 관리 계정이 하나 있습니다. 애플리케이션에 사용할 수 있는 최소한의 권한으로 다른 사용자를 만드는 것이 가장 좋습니다. 자세한 내용은 RDS for MySQL의 역할 기반 권한 모델을 참조하십시오.

참고: 사용하는 MySQL 버전에 따라 GRANT 명령을 실행하여 사용자에게 동적 권한을 연결할 수도 있습니다.

MySQL 버전 8.0.36 이상의 경우

rds_superuser_role을 사용하여 사용자에게 역할 기반 권한을 부여하려면 다음 단계를 완료하십시오.

  1. 기본 관리 사용자로서 SHOW GRANTS 명령을 실행하여 rds_superuser_role 역할에 대한 권한 목록을 확인합니다.

    SHOW GRANTS FOR rds_superuser_role@'%';
  2. CREATE USER 명령을 실행하여 새 관리 사용자를 만듭니다.

    CREATE USER 'new_admin_user'@'%' IDENTIFIED BY 'password';
  3. GRANT 명령을 실행하여 새 사용자에게 새 역할을 부여합니다.

    grant rds_superuser_role to 'new_admin_user'@'%';
  4. 다음 명령을 실행하여 새 사용자의 rds_superuser_role을 활성화합니다.

    set role all;
  5. 다음 쿼리를 실행하여 새 사용자에게 rds_superuser_role을 부여했는지 확인합니다.

    select current_role();

    출력 예시:

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

MySQL 버전 8.0.36 미만의 경우

다음 단계를 완료하십시오.

  1. RDS for MySQL DB 인스턴스에 연결합니다.

  2. 다음 명령을 실행하여 관리 계정에 현재 사용할 수 있는 권한 목록을 가져옵니다.

    SHOW GRANTS for admin_username;

    참고: admin_username을 사용자 이름으로 바꾸십시오.

  3. 5번 단계에서 사용할 권한 목록의 출력을 복사합니다.
    출력 예시:

    +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| 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. 다음 명령을 실행하여 새 사용자를 만듭니다.

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

    참고: new_admin_userpassword를 사용자 이름과 암호로 바꾸십시오.

  5. 다음 GRANT 명령을 실행하고 2번 단계에서 얻은 권한 목록을 포함하여 새 사용자에게 연결합니다.

    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. 새 사용자로 로그인합니다.

  7. 다음 쿼리를 실행하여 새 관리 사용자에게 권한을 부여했는지 확인합니다.

    SHOW GRANTS for admin_username;

    참고: admin_username을 사용자 이름으로 바꾸십시오.

관련 정보

MySQL DB 인스턴스의 일반적인 DBA 작업

사용자가 IAM 자격 증명을 통해 Amazon RDS for MySQL DB 인스턴스에 인증하도록 허용하려면 어떻게 해야 합니까?