Права доступа к ролям Amazon AWS RDS MySQL не каскадируются - PullRequest
0 голосов
/ 09 июля 2019

У меня есть экземпляр RDS MySQL 8.0.13, где я пытаюсь реализовать разрешения на основе ролей, поэтому мне не нужно создавать / изменять каждого пользователя по отдельности.

Вот код, который я использую ...

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`@`%`

Мне кажется, что все правильные разрешения на месте, но я все еще получаю отказано в доступе.

Я могу предоставить этому пользователю индивидуальный доступ как обычно, но не через роль.

Что я делаю не так?

Спасибо

1 Ответ

0 голосов
/ 11 июля 2019

После некоторого исследования ответ, кажется, должен бежать

SET DEFAULT ROLE 'TEST_ROLE' TO 'dev3'@'%';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...