source

AWS RDS - 'the_db.*'에서 'the_user'@%'에 대한 GRANT ALL Privileges ON을 사용할 때 관리 사용자에 대한 액세스가 거부되었습니다.

lovecheck 2022. 11. 19. 11:44
반응형

AWS RDS - 'the_db.*'에서 'the_user'@%'에 대한 GRANT ALL Privileges ON을 사용할 때 관리 사용자에 대한 액세스가 거부되었습니다.

특정 데이터베이스에 대해 사용자에게 모든 권한을 부여하려고 하면 데이터베이스의 관리자(슈퍼 사용자) 사용자가 다음 오류를 수신합니다.

Access denied for user 'admin'@'%' to database 'the_Db'

stackoverflow에서 다른 질문들을 살펴본 결과 해결책을 찾을 수 없었습니다.이미 * -> % 변경을 시도했지만 성공하지 못했습니다.다음 소스에서 제안하는 접근법입니다.

http://www.fidian.com/problems-only-tyler-has/using-grant-all-with-amazons-mysql-rds

RDS에 기반이 되는 설정이 있기 때문에 사용자에게 모든 권한을 부여할 수는 없지만, 어떻게 해야 하는지 알 수 없습니다.

갱신하다

몇 가지 회피책을 실행한 후 "버전 행 삭제" 권한이 문제의 원인임을 알게 되었습니다.그 권한을 제외한 모든 권한을 추가할 수 있습니다.

https://mariadb.com/kb/en/grant/

그래서 다른 권한을 부여할 수 있는 유일한 방법은 이러한 스크립트를 사용하여 각각의 권한을 지정하는 것이었습니다.

GRANT Alter ON *.* TO 'user_some_app'@'%';
GRANT Create ON *.* TO 'user_some_app'@'%';  
GRANT Create view ON *.* TO 'user_some_app'@'%';
GRANT Delete ON *.* TO 'user_some_app'@'%';
GRANT Drop ON *.* TO 'user_some_app'@'%';
GRANT Grant option ON *.* TO 'user_some_app'@'%';
GRANT Index ON *.* TO 'user_some_app'@'%';
GRANT Insert ON *.* TO 'user_some_app'@'%';
GRANT References ON *.* TO 'user_some_app'@'%';
GRANT Select ON *.* TO 'user_some_app'@'%';
GRANT Show view ON *.* TO 'user_some_app'@'%';
GRANT Trigger ON *.* TO 'user_some_app'@'%';
GRANT Update ON *.* TO 'user_some_app'@'%';
GRANT Alter routine ON *.* TO 'user_some_app'@'%';
GRANT Create routine ON *.* TO 'user_some_app'@'%';
GRANT Create temporary tables ON *.* TO 'user_some_app'@'%';
GRANT Execute ON *.* TO 'user_some_app'@'%';
GRANT Lock tables ON *.* TO 'user_some_app'@'%';

이거 드셔보세요

mysql -h your-rds-host-name -P 3306 -u rds-master-user -p

CREATE DATABASE sitedb;

CREATE USER 'siteuser'@'%' IDENTIFIED BY 'Password';

// MySQL 5.7 이하의 경우

GRANT ALL ON sitedb.* TO 'siteuser'@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION;

// MariaDB 10 Up

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, CREATE VIEW, EVENT, TRIGGER, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE ON `sitedb`.* TO 'siteuser'@'%';
FLUSH PRIVILEGES;
EXIT

언급URL : https://stackoverflow.com/questions/64974214/aws-rds-access-denied-to-admin-user-when-using-grant-all-privileges-on-the-db

반응형