【发布时间】:2015-09-16 12:00:30
【问题描述】:
我正在为 java 中的数据库开发安全产品。该产品的一项功能是根据数据库权限和活动创建安全建议。
为此,我需要从 db2 中提取权限数据。 到目前为止,我已经阅读了很多关于 db2 安全性的文档,但我还没有找到解决以下问题的方法:
Db2 udb security, part 4 文章只解释了如何提取权限,但here 说:
实例级别权限级别(SYSADM、SYSCTRL、SYSMAINT 和 SYSMON)和组成员资格是在 DB2 UDB 之外定义的,因此不会反映在系统目录表中。
据我了解,权限会影响用户的权限,因此对于全面了解数据库的权限至关重要。
本文进一步解释了如何获取已连接用户的权限,但没有解释如何获取所有用户\组的所有权限。类似于这个答案:How to check DB2 SYSADM or SYSCTRL authorization for a user
所以我的问题是如何在单个查询中提取所有实体的权限?
【问题讨论】:
-
这是您要求的:INSTANCE db2 get dbm cfg | grep GROUP DATABASE db2 "select * from syscat.DBAUTH"
-
否,DBAUTH 为被授权者指定数据库权限。我想提取在目录表中找不到的权限。
标签: database db2 privileges