[英]Amazon AWS RDS MySQL Role Privileges not cascading
我有一个MySQL 8.0.13的RDS实例,试图在该实例中实现基于角色的权限,因此不必单独创建/更改每个用户。
这是我正在使用的代码...
GRANT ROLE_ADMIN ON *.* TO mymasteruser; -- Need to do this or line 5 doesn't work.
CREATE ROLE 'TEST_ROLE';
GRANT ALL PRIVILEGES ON test_data.* TO 'TEST_ROLE';
CREATE USER 'dev3'@'%' IDENTIFIED BY '$uper$ecretP@ssw0rd';
GRANT TEST_ROLE TO 'dev3'@'%';
FLUSH PRIVILEGES;
运行上面的代码时没有收到任何错误消息,但是当我尝试使用dev3登录数据库时,用户'dev3'@'%'访问数据库'test_data'的访问被拒绝。
当我跑步
SHOW GRANTS FOR TEST_ROLE
我懂了
GRANT USAGE ON *.* TO `TEST_ROLE`@`%`
GRANT ALL PRIVILEGES ON `test_data`.* TO `TEST_ROLE`@`%`
当我跑步
SHOW GRANTS FOR 'dev3'@'%'
我懂了
GRANT USAGE ON *.* TO `dev3`@`%`
GRANT `TEST_ROLE`@`%` TO `dev3`@`%`
在我看来,所有正确的权限都已到位,但我仍然遇到“访问被拒绝”的问题。
我可以像平常一样授予该用户个人访问权限,而不仅仅是通过角色。
我究竟做错了什么?
谢谢
经过一些研究,答案似乎正在运行
SET DEFAULT ROLE 'TEST_ROLE' TO 'dev3'@'%';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.