Как показать текущие привилегии для таблицы в IBM DB2 Z/OS с SQL

Существует ли способ SQL для отображения привилегий, имеющихся в таблице или представлении в DB2 Z/OS? Я хотел бы добиться чего-то вроде этого:

select * from sysibm.magic_table where table_name = 'users'

|TABLE_NAME|PRIVILEGE_TYPE|USER_OR_GROUP_NAME|
|     USERS|        INSERT|              ANDI|
|     USERS|        SELECT|            ADMINS|

Это возможно?


person andy    schedule 29.06.2016    source источник
comment
вряд ли так просто. Взгляните на системные таблицы БД ibm.com/support/knowledgecenter/SSEPEK_10.0.0/, Sysresauth выглядит как тот, на который стоит обратить внимание   -  person Bruce Martin    schedule 29.06.2016
comment
Для программ Cics именно Bind получает доступ (а не фактический конечный пользователь).   -  person Bruce Martin    schedule 29.06.2016
comment
Это будет SYSIBM.SYSTABAUTH Думаю.   -  person mustaccio    schedule 29.06.2016
comment
Спасибо, @mustaccio, думаю, ты прав. SELECT grantee, screator, stname, tcreator, ttname, updatecols, alterauth, deleteauth, indexauth, insertauth, selectauth, updateauth FROM SYSIBM.SYSTABAUTH WHERE TTNAME = 'MY_TABLE' AND TCREATOR = 'MY_SCHEMA'. Завтра протестирую.   -  person andy    schedule 30.06.2016


Ответы (1)


Этот запрос сообщает имена пользователей/ролей в столбце grantee и различные назначенные права в столбцах ...auth, где Y = право присутствует, G = право присутствует и право предоставлять его другим.

SELECT
    grantee,
    screator,
    stname,
    tcreator,
    ttname,
    updatecols,
    alterauth,
    deleteauth,
    indexauth,
    insertauth,
    selectauth,
    updateauth
FROM
    SYSIBM.SYSTABAUTH
WHERE
    TTNAME = 'MY_TABLE'
    AND TCREATOR = 'MY_SCHEMA' 

Пример набора результатов:

|GRANTEE  |SCREATOR |STNAME  |TCREATOR |TTNAME  |UPDATECOLS|ALTERAUTH|DELETEAUTH|INDEXAUTH|INSERTAUTH|SELECTAUTH|UPDATEAUTH|
============================================================================================================================
|MY_SCHEMA|MY_SCHEMA|MY_TABLE|MY_SCHEMA|MY_TABLE|          |         |         G|         |         G|         G|         G|
|USER2    |MY_SCHEMA|MY_TABLE|MY_SCHEMA|MY_TABLE|          |         |         Y|         |         Y|         Y|         Y|
|USER3    |MY_SCHEMA|MY_TABLE|MY_SCHEMA|MY_TABLE|          |         |         Y|         |         Y|         Y|         Y|
|GROUP1   |MY_SCHEMA|MY_TABLE|MY_SCHEMA|MY_TABLE|          |         |         Y|         |         Y|         Y|         Y|
|GROUP2   |MY_SCHEMA|MY_TABLE|MY_SCHEMA|MY_TABLE|          |         |         Y|         |         Y|         Y|         Y|
|GROUP3   |MY_SCHEMA|MY_TABLE|MY_SCHEMA|MY_TABLE|          |         |          |         |          |         Y|          |
|GROUP4   |MY_SCHEMA|MY_TABLE|MY_SCHEMA|MY_TABLE|          |         |         Y|         |         Y|         Y|         Y|

документация IBM по SYSIBM.SYSTABAUTH ( Спасибо @mustaccio)

person andy    schedule 06.07.2016
comment
Ссылка на документацию IBM мертва. Не могли бы вы обновить, пожалуйста? - person Minh-Triet LÊ; 10.01.2019
comment
Вот ты @Minh-TrietLÊ - person andy; 10.01.2019