mysql - Amazon AWS RDS MySQL 角色权限不级联

标签 mysql rds

我有一个 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'@'%';

关于mysql - Amazon AWS RDS MySQL 角色权限不级联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56955306/

相关文章:

python - Django DateTimeField 日期过滤器不起作用

php - MySQL Select - 连接所有匹配的表

Heroku:与 RDS 的连接时间真的很慢

wordpress - 在 AWS Elastic Beanstalk 上使用 Wordpress CMS - 部署时遇到问题(页面未加载)

python - 使用python多处理器将数据导入到mysql RDS - RDS

mysql - Django MySQL 连接中的 SSL 错误(2026 SSL_CTX_set_tmp_dh 失败)

mysql - SQL : selecting all values that meet one criteria from 2 tables

php - 获取两个日期之间的年份和月份

ruby-on-rails - 更新 Amazon RDS SSL/TLS 证书 - Elastic Beanstalk

mysql - Codeigniter/mySQL 问题。在实际插入之前检查是否可以进行多次插入