如何使用 SQL 在 IBM DB2 Z/OS 中的表上显示当前权限
Posted
技术标签:
【中文标题】如何使用 SQL 在 IBM DB2 Z/OS 中的表上显示当前权限【英文标题】:How to show present privileges on table in IBM DB2 Z/OS with SQL 【发布时间】:2016-06-29 06:22:26 【问题描述】:有没有一种 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|
这可能吗?
【问题讨论】:
不可能这么简单。看看 DB System 表 ibm.com/support/knowledgecenter/SSEPEK_10.0.0/…,Sysresauth 看起来很像 对于 Cics 程序,获得访问权限的是 Bind(而不是实际的最终用户)。 我想应该是SYSIBM.SYSTABAUTH。 谢谢@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'
。我明天去考试。
【参考方案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 documentation of SYSIBM.SYSTABAUTH(感谢@mustaccio)
【讨论】:
IBM 文档的链接已失效。请问可以更新吗? 给你@Minh-TrietLÊ以上是关于如何使用 SQL 在 IBM DB2 Z/OS 中的表上显示当前权限的主要内容,如果未能解决你的问题,请参考以下文章
Oracle GoldenGate 对IBM大型机 z/OS 2.1 和DB2 v11的支持
如何通过 Java Web 应用在 IBM z OS 中提交 JCL?
查询以选择具有特定最后一列的所有表 Ibm Db2 z/os