Oracle Database : User access control – 2

Object Privilege: কোন অবজেক্ট এর উপর বিশেষ কর্ম সম্পাদনের জন্য যে অধিকার দেওয়া হয় তাকে Object Privilege বলে। নিচের টেবিলে বিভিন্ন Object Privilege এর
জন্য প্রদত্ত প্রিভিলেজ এর তালিকা দেওয়া হল……

Object Privilege 
Object Privilege
Table
View
Sequence
Procedure
ALTER
*
*
DELETE
*
*
EXECUTE
*
INDEX
*
INSERT
*
*
REFERENCES
*
SELECT
*
*
*
UPDATE
*
*
[একটি অবজেক্ট এর যে সকল প্রিভিলেজ কাজ করে সে গুলো এস্টারিস্ট  মার্ক দিয়ে দেখান হয়েছে]

          Syntax: GRANT object_priv [(columns)]
    ON object
    TO {user|role|PUBLIC}
    [WITH GRANT OPTION];

উদাহরণঃ GRANT লিখে প্রিভিলেজ এর নাম, On লিখে অবজেক্ট এর নাম এবং To এর পর যে ইউজার কে দিব তার নাম দিতে হবে। কোন নির্দিষ্ট কলামের উপরে দিতে চাইলে প্রিভিলেজ এর পর কলামের নাম উল্লেখ করে দিতে হবে। যেমন……

GRANT  update (department_name, location_id)
ON     departments
TO     scott, manager;
Passing Privilege: একটি Object এর উপর কোন ইউজারকে দেওয়া প্রিভিলেজ অন্য কোন ইউজারকে দেওয়ার প্রয়োজন হতে পারে। অর্থাৎ আমাকে দেওয়া প্রিভিলেজ যখন অন্য কাওকে আমি দিব এইটাই হল Passing Privilege এটা আমি কোন নির্দিষ্ট ইউজারকে দিতে পারি আবার সবাইকে (Public) দিতে পারি। প্রিভিলেজ Passing এর সময় WITH   GRANT OPTION এবং PUBLIC এই দুটি কিওয়ার্ড ব্যাবহার করা হয়
WITH   GRANT OPTION: কোন অবজেক্ট এর উপর ইউজারকে প্রিভিলেজ দেবার সময় অনুরুপ প্রিভিলেজ অন্য ইউজারকে দেবার জন্য WITH GRANT OPTION ব্যবহার করা হয়
যেমনঃ GRANT  select, insert
ON departments
TO scott
WITH   GRANT OPTION;
এখানে scott কে departments টেবিলের উপরselect এবং insert প্রিভিলেজ দেওয়া হয়েছে WITH GRANT OPTION দেবার ফলেscott অনুরুপ প্রিভিলেজ অন্যান্য ইউজার কে দিতে পারবে
PUBLIC: একই সাথে সকল ইউজারকে প্রিভিলেজ দেবার জন্য PUBLIC কিওয়ার্ড ব্যবহার করা হয়
যেমনঃ GRANT  select
ON alice.departments
TO PUBLIC;
এখানে alice ইউজারের departments টেবিলে সবাইকেselect করার প্রিভিলেজ দেওয়া হয়েছে
Dictionary View থেকে প্রিভিলেজ দেখাঃ Session Privs থেকে কোন ইউজারকে দেওয়া সমস্ত প্রিভিলেজ দেখা যায়। যেমন HR এ কানেক্ট থাকা অবস্থায় এর প্রিভিলেজ দেখার জন্য……
          select * from session_privs;  
Role View: কোন ইউজারকে দেওয়া রোল দেখার জন্য……
          select * from user_role_privs;
Privilege View: রোল এবং System Privilege দেখার জন্য………
          select * from role_sys_privs;
রোল এবং Object Privilege দেখার জন্য………
          select * from role_tab_privs;
Revoke: কোন ইউজারের কাছ থেকে প্রিভিলেজ প্রত্যাহার করে নেওয়া হল Revoke
          Syntax: REVOKE {privilege [, privilege…]|ALL}
ON object
FROM {user[, user…]|role|PUBLIC}
[CASCADE CONSTRAINTS];
          Example: Revoke System Privilege-
REVOKE  CREATE USER, CREATE SESSION
FROM scott;
          Example: Revoke Object Privilege-
REVOKE  select, insert
ON departments
FROM scott;
……………………End……………………

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.