ডিবি 2-তে ব্যবহারকারীর ব্যবহারকারীর গোষ্ঠী এবং ভূমিকাগুলির মাধ্যমেও মঞ্জুর করা সুবিধা থাকতে পারে। ডিবি 2 কোনও বিধিনিষেধ নয়, বস্তুগুলিতে অনুমতি সঞ্চয় করে। আপনি যদি কোনও ব্যবহারকারীর কাছ থেকে কোনও বস্তুর উপর বিশেষাধিকার প্রত্যাহার করতে পারবেন না, যদি এই ব্যবহারকারীকে স্পষ্টভাবে এই অনুমতিটি না দেওয়া হয় (আপনি SQL0556N
এই জাতীয় প্রত্যাহার বিবৃতিতে পান)। কারণ আপনি দেখতে INSERTAUTH = 'N'
SYSCAT.TABAUTH (SYSIBM.SYSTABAUTH) এ এই ব্যবহারকারীর কিছু অন্যান্য রয়েছে *AUTH
এই টেবিলের উপর অনুমতি (গুলি), কিন্তু ঢোকাতে।
সুতরাং, আপনি কোনও ব্যবহারকারীর কাছ থেকে স্পষ্টভাবে কোনও বিশেষাধিকার প্রত্যাহার করতে পারবেন না, যদি এই ব্যবহারকারীর গোষ্ঠী বা ভূমিকাগুলির মাধ্যমে এই অধিকার থাকে (আমরা এখানে এলবিএসি বিবেচনা করি না)।
কিছু নির্দিষ্ট ব্যবহারকারীর কেন কোনও বস্তুর কিছু সুবিধা রয়েছে তা বুঝতে 2 টি চেক করা উচিত। ধ্রুবক পরিবর্তন 'MYUSER'
, 'MYSCHEMA'
, 'MYTABLE'
নিচের সেই অনুযায়ী।
1) ব্যবহারকারীর যদি ডেটাঅ্যাক্সেস ডাটাবেস কর্তৃপক্ষ থাকে:
SELECT P.GRANTEE, P.GRANTEETYPE
FROM SYSCAT.DBAUTH P
CROSS JOIN TABLE(VALUES 'MYUSER') A (AUTHID)
JOIN TABLE (
SELECT GROUP, 'G' FROM table(AUTH_LIST_GROUPS_FOR_AUTHID(A.AUTHID))
UNION ALL
select ROLENAME, 'R' from table(AUTH_LIST_ROLES_FOR_AUTHID(A.AUTHID, 'U'))
UNION ALL
SELECT * FROM TABLE(VALUES ('PUBLIC', 'G'), (A.AUTHID, 'U')) T (AUTHID, AUTHIDTYPE)
) U (AUTHID, AUTHIDTYPE) ON U.AUTHID=P.GRANTEE AND U.AUTHIDTYPE=P.GRANTEETYPE
WHERE P.DATAACCESSAUTH='Y';
2) যদি ব্যবহারকারীর টেবিলে সুবিধা থাকে:
SELECT
P.PRIVILEGE, P.OBJECTTYPE, P.OBJECTSCHEMA, P.OBJECTNAME
, U.AUTHID, U.AUTHIDTYPE
FROM SYSIBMADM.PRIVILEGES P
CROSS JOIN TABLE(VALUES 'MYUSER') A (AUTHID)
JOIN TABLE (
SELECT GROUP, 'G' FROM table(AUTH_LIST_GROUPS_FOR_AUTHID(A.AUTHID))
UNION ALL
select ROLENAME, 'R' from table(AUTH_LIST_ROLES_FOR_AUTHID(A.AUTHID, 'U'))
UNION ALL
SELECT * FROM TABLE(VALUES ('PUBLIC', 'G'), (A.AUTHID, 'U')) T (AUTHID, AUTHIDTYPE)
) U (AUTHID, AUTHIDTYPE) ON U.AUTHID=P.AUTHID AND U.AUTHIDTYPE=P.AUTHIDTYPE
WHERE P.OBJECTSCHEMA = 'MYSCHEMA' AND P.OBJECTNAME='MYTABLE' AND P.OBJECTTYPE='TABLE'
AND P.PRIVILEGE IN ('INSERT', 'CONTROL')
ORDER BY 2, 3, 4;
@ রেডহাট: উপরের প্রশ্নের ফলাফলগুলি দেখান MYSCHEMA=HVD121, MYTABLE=OAUTH20_TOKEN_CACHE, MYUSER=HVD121
।