Oracle Database: User access control – 1

আজ কে যা শিখবঃ
  • User Privilege এবং System Privilege
  • কোন টেবিলকে Privilege প্রদান 
  • Data Dictionary থেকে Privilege দেখা
  • Role তৈরি এবং প্রদান
  • Role এবং Privilege এর পার্থক্য

Privilege: কোন বিশেষ এসকিউএল স্টেটমেন্ট চালানোর অধিকারকে Privilege বলা হয়। Privilege দুই ধরণের- ১. System Privilege এবং ২. Object Privilege 
System Privilege: ডাটাবেজের সাথে সম্পর্কিত Privilege গুলো হল System Privilege। ওরাকল ডাটাবেজে একশর বেশী Privilege রয়েছে। মূলত ডাটাবেজ Administrator প্রিভিলেজ গুলো দিয়ে থাকে। নিম্নে System Privilege এর একটি তালিকা দেওয়া হলো… 
System Privilege
Privilege
Description
DBA
Grantee can Database Administrator
CREATE USER
Grantee can create other Oracle users.
DROP USER
Grantee can drop another user.
ALTER ANY INDEX
Enables a user to alter any index in the database.
Note: There is no ALTER INDEX statement.
ALTER ANY MATERIALIZED VIEW
Enables a user to alter any materialized view in the database.
Note: There is no ALTER MATERIALIZED VIEW statement.
ALTER ANY PROCEDURE
Enables a user to alter any PL/SQL procedure, function or package in the database.
ALTER ANY SEQUENCE
Enables a user to alter any sequence in the database.
Note: There is no ALTER SEQUENCE statement.
ALTER ANY TABLE
Enables a user to alter any table in the database.
ALTER ANY VIEW
Enables a user to alter any view in the database.
Note: There is no ALTER VIEW statement.
CACHE_MANAGER
Enables a user to perform operations related to cache groups.
CREATE ANY CACHE GROUP
Enables a user to create a cache group owned by any user in the database.
CREATE ANY INDEX
Enables a user to create an index on any table or materialized view in the database.
CREATE ANY MATERIALIZED VIEW
Enables a user to create a materialized view owned by any user in the database.
CREATE ANY PROCEDURE
Enables a user to create a PL/SQL procedure, function or package owned by any user in the database.
CREATE ANY SEQUENCE
Enables a user to create a sequence owned by any user in the database.
CREATE ANY SYNONYM
Enables a user to create a private synonym owned by any user in the database.
CREATE ANY TABLE
Enables a user to create a table owned by any user in the database.
CREATE ANY VIEW
Enables a user to create a view owned by any user in the database.
CREATE CACHE GROUP
Enables a user to create a cache group owned by that user.
CREATE MATERIALIZED VIEW
Enables a user to create a materialized view owned by that user.
CREATE PROCEDURE
Enables a user to create a PL/SQL procedure, function or package owned by that user.
CREATE PUBLIC SYNONYM
Enables a user to create a public synonym.
CREATE SEQUENCE
Enables a user to create a sequence owned by that user.
CREATE SESSION
Enables a user to create a connection to the database.
CREATE SYNONYM
Enables a user to create a private synonym.
CREATE TABLE
Enables a user to create a table owned by that user.
CREATE VIEW
Enables a user to create a view owned by that user.
DELETE ANY TABLE
Enables a user to delete from any table in the database.
DROP ANY CACHE GROUP
Enables a user to drop any cache group in the database.
DROP ANY INDEX
Enables a user to drop any index in the database.
DROP ANY MATERIALIZED VIEW
Enables a user to drop any materialized view in the database.
DROP ANY PROCEDURE
Enables a user to drop any PL/SQL procedure, function or package in the database.
DROP ANY SEQUENCE
Enables a user to drop any sequence in the database.
DROP ANY SYNONYM
Enables a user to drop a synonym owned by any user in the database.
DROP ANY TABLE
Enables a user to drop any table in the database.
DROP ANY VIEW
Enables a user to drop any view in the database.
DROP PUBLIC SYNONYM
Enables a user to drop a public synonym.
EXECUTE ANY PROCEDURE
Enables a user to execute any PL/SQL procedure, function or package in the database.
FLUSH ANY CACHE GROUP
Enables a user to flush any cache group in the database.
INSERT ANY TABLE
Enables a user to insert into any table in the database. It also enables the user to insert into any table using the synonym, public or private, to that table.
LOAD ANY CACHE GROUP
Enables a user to load any cache group in the database.
REFRESH ANY CACHE GROUP
Enables a user to flush any cache group in the database.
SELECT ANY SEQUENCE
Enables a user to select from any sequence or synonym on a sequence in the database.
SELECT ANY TABLE
Enables a user to select from any table, view, materialized view, or synonym in the database.
UNLOAD ANY CACHE GROUP
Enables a user to unload any cache group in the database.
UPDATE ANY TABLE
Enables a user to update any table, or synonym in the database.
XLA
Enables a user to connect to a database as an XLA reader.

User তৈরি করাঃ ডিবিএ এবং যে সকল User কে Create User প্রিভিলেজ দেওয়া আছে শুধুমাত্র তারাই ইউজার তৈরি করতে পারবে।
Syntax: Create User user
Identified by password;
Example: Create User emp
Identified by 123;
ইউজার এর পাসওয়ার্ড পরিবর্তন করাঃAlter User লিখে User এর নাম এবং শেষে নতুন পাসওয়ার্ড দিতে হবে।
     Example: ALTER USER HR                       
IDENTIFIED BY employ;
প্রিভিলেজ প্রদানঃ কোন ইউজারকে ডাটাবেজে কানেক্ট করার জন্য Create Session প্রিভিলেজ দেওয়া হয়। তাই প্রথমে ইউজারকে আমরা Create Session প্রিভিলেজ দিব। এবং এর মাধ্যমে কোন ইউজারকে প্রিভিলেজ কিভাবে দেওয়া হয় তা শিখব।
Syntax: GRANT privilege [, privilege…]            
TO user [, user| role, PUBLIC…];
       Example: GRANT create session
TO scott;

Role: Role হল অনেক গুলো প্রিভিলেজ এর একটি গ্রুপ। যদি কোন ডাটাবেজ এ অনেক ইউজার থাকে তাহলে প্রত্যেককে আলাদা ভাবে একই প্রিভিলেজ প্রদান করা বেশ সময় সাপেক্ষ ব্যাপার। তাই রিলেটেড প্রিভিলেজ গুলকে নিয়ে একটি রোল তৈরি করে তা ইউজারকে প্রদান করা হয়।
Role তৈরিঃ CREATE ROLE  লিখে তারপর রোলের নাম দিতে হবে……
          Example: CREATE ROLE manager;
Role কে প্রিভিলেজ দেওয়াঃ GRANT লিখে প্রিভিলেজ গুলোর নাম দিতে হবে এবং শেষে যে রোলকে দিব তার নাম দিতে হবে……
          Example: GRANT create table, create view               
       TO manager;
কোন ইউজারকে রোল প্রদানঃ GRANT লিখে রোলের নাম তারপর যে সকল ইউজারকে দিব তার নাম……
          Example: GRANT manager TO DE HAAN, KOCHHAR;    
   
চলবে………

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.