2016-06-29 2 views
1

DB2 Z/OS의 테이블 또는 뷰에있는 특권을 표시하는 SQL 방법이 있습니까? 다음과 같은 것을 얻고 싶습니다.SQL이있는 IBM 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| 

그럴 수 있습니까?

+0

가능성은 간단합니다. DB 시스템 테이블을보십시오. https://www.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/com.ibm.db2z10.doc.sqlref/src/tpc/db2z_catalogtablesintro.html, Sysresauth는 하나처럼 보입니다. –

+0

Cics 프로그램의 경우 실제 최종 사용자가 아닌 액세스 권한을 얻는 것이 Bind입니다. –

+1

그러면 [SYSIBM.SYSTABAUTH] (https://www.ibm.com/support/knowledgecenter/SSEPEK_11.0.0/com.ibm.db2z11.doc.sqlref/src/tpc/db2z_sysibmsystabauthtable.html)라고 생각합니다. – mustaccio

답변

1

이 쿼리는 Y = 바로 현재, G = 바로 현재와 권리를 다른 사람에게 부여 할 수있는 ...auth 열의 grantee 열에서 사용자/역할 이름 및 다양한 할당 rigths을 알려줍니다.

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하는)