Отмените роль, у битового пользователя все еще есть привилегия, которую он получил через роль - PullRequest
0 голосов
/ 25 апреля 2020

У меня проблема с командой Revoke. Я создал роль и предоставил ей роль «SELECTE on table». Тогда я даю роль пользователю. Затем я отменяю роль у пользователя. Но у пользователя все еще есть привилегия «SELECT on table», которую он получил через роль. Что я делаю не так?

HR-пользователь:

create table testtable (id number);--Table TESTTABLE created 
create role trole;--Role TROLE created 
grant select on testtable to trole;--Grant succeeded 
grant trole to test_user;--Grant succeeded 

test_user:

set role trole;--Role TROLE succeeded. 
select * from hr.testtable;--working 

HR-пользователь:

revoke trole from test_user;--Revoke succeeded. 

Test_user:

select * from hr.testtable;--working again despite that the fact the role is revoked. 

примечание: нет никаких других грантов для test_user

1 Ответ

0 голосов
/ 25 апреля 2020

Revoke удалит роль и все привилегии, которые являются частью этой роли, у пользователя. В вашем случае это звучит так, как будто у test_user есть какая-то дополнительная привилегия, например SELECT ANY TABLE, предоставленная напрямую или унаследованная через роль PUBLI C. Проверьте это сообщение, чтобы найти все предоставленные привилегии: Как показать все привилегии от пользователя в oracle?

...