Database Tutorials Privileges এবং Access Control গাইড ও নোট

293

Privileges এবং Access Control হল ডেটাবেস সিকিউরিটির দুটি গুরুত্বপূর্ণ ধারণা, যা ডেটাবেসের তথ্যের সুরক্ষা এবং নিয়ন্ত্রণ নিশ্চিত করে। এগুলি ব্যবহারকারীদের নির্দিষ্ট ডেটাবেস সম্পদ (যেমন টেবিল, কলাম, বা অন্যান্য অবজেক্ট) অ্যাক্সেস করার অনুমতি দেয় বা সীমিত করে।


১. Privileges (অনুমতিসমূহ)

Privileges হল এমন অনুমতিগুলি যা ব্যবহারকারীদের ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করার জন্য দেয়া হয়। এগুলি ডেটাবেসের নির্দিষ্ট কার্যক্রম সম্পাদন করার অনুমতি প্রদান করে, যেমন ডেটা নির্বাচন, আপডেট করা, ডিলিট করা, এবং অন্যান্য কার্যক্রম। SQL ডেটাবেসে বিভিন্ন ধরনের privileges থাকতে পারে।

Types of Privileges:

  1. SELECT: টেবিল থেকে ডেটা নির্বাচন করার অনুমতি।
  2. INSERT: টেবিলে নতুন ডেটা ইনসার্ট করার অনুমতি।
  3. UPDATE: টেবিলের ডেটা আপডেট করার অনুমতি।
  4. DELETE: টেবিল থেকে ডেটা মুছে ফেলার অনুমতি।
  5. CREATE: নতুন টেবিল, ভিউ বা ডেটাবেস তৈরি করার অনুমতি।
  6. DROP: টেবিল, ভিউ বা ডেটাবেস মুছে ফেলার অনুমতি।
  7. ALTER: টেবিলের গঠন পরিবর্তন করার (যেমন কলাম যোগ করা বা মুছে ফেলা) অনুমতি।
  8. INDEX: টেবিলের উপর ইনডেক্স তৈরি করার অনুমতি।
  9. GRANT: অন্য ব্যবহারকারীকে নির্দিষ্ট privileges প্রদান করার অনুমতি।
  10. REVOKE: পূর্বে প্রদত্ত privileges প্রত্যাহার করার অনুমতি।

Privileges এর উদাহরণ:

-- ব্যবহারকারীকে SELECT privilege দেয়া হচ্ছে
GRANT SELECT ON employees TO user1;

-- ব্যবহারকারীকে INSERT এবং UPDATE privilege দেয়া হচ্ছে
GRANT INSERT, UPDATE ON employees TO user2;

এই উদাহরণে, user1 কে employees টেবিল থেকে ডেটা নির্বাচন করার অনুমতি দেওয়া হয়েছে, এবং user2 কে ডেটা ইনসার্ট এবং আপডেট করার অনুমতি দেওয়া হয়েছে।


২. Access Control (অ্যাক্সেস কন্ট্রোল)

Access Control হল এমন একটি প্রক্রিয়া যা নির্ধারণ করে কোন ব্যবহারকারী কোন ডেটাবেস অবজেক্ট বা সম্পদ (যেমন টেবিল, ভিউ, স্টোরড প্রোসিডিউর) অ্যাক্সেস করতে পারে এবং কোন কাজ করতে পারে। এটি ডেটাবেসের নিরাপত্তা নিশ্চিত করার জন্য অত্যন্ত গুরুত্বপূর্ণ। ডেটাবেসে Access Control সঠিকভাবে কাজ করলে, শুধুমাত্র অনুমোদিত ব্যবহারকারীরা সংবেদনশীল ডেটা অ্যাক্সেস করতে পারে এবং অন্যরা তা করতে পারে না।

Types of Access Control:

  1. Discretionary Access Control (DAC):
    ব্যবহারকারীকে তাদের নিজস্ব সম্পদের উপর নিয়ন্ত্রণ দেওয়ার অনুমতি দেয়। এটি সাধারণত GRANT এবং REVOKE কমান্ড ব্যবহার করে পরিচালিত হয়।
  2. Mandatory Access Control (MAC):
    এ ধরনের নিয়ন্ত্রণ সিস্টেমে, ডেটাবেস অ্যাডমিনিস্ট্রেটররা সমস্ত অ্যাক্সেস অনুমতি নির্ধারণ করেন, এবং ব্যবহারকারীরা তা পরিবর্তন করতে পারেন না। এটি সাধারণত সেন্সিটিভ ডেটা বা সরকারি সিস্টেমে ব্যবহৃত হয়।
  3. Role-Based Access Control (RBAC):
    এখানে, ব্যবহারকারীদের নির্দিষ্ট ভূমিকা (role) দেয়া হয় এবং সেই অনুযায়ী তারা ডেটাবেসে কার্যক্রম করতে পারে। উদাহরণস্বরূপ, Admin, User, Manager ইত্যাদি রোল হতে পারে, যেখানে প্রত্যেক রোলের আলাদা privileges থাকে।
    • Admin: সমস্ত privileges থাকে।
    • User: শুধুমাত্র SELECT privilege থাকতে পারে।
    • Manager: SELECT, INSERT, UPDATE privileges থাকতে পারে।

Access Control উদাহরণ (GRANT এবং REVOKE):

-- ব্যবহারকারী 'user1' কে SELECT privilege প্রদান করা হচ্ছে
GRANT SELECT ON employees TO user1;

-- ব্যবহারকারী 'user1' এর SELECT privilege প্রত্যাহার করা হচ্ছে
REVOKE SELECT ON employees FROM user1;

৩. GRANT এবং REVOKE কমান্ড

GRANT এবং REVOKE কমান্ড ব্যবহারকারীদের নির্দিষ্ট privileges প্রদান বা প্রত্যাহার করার জন্য ব্যবহৃত হয়।

GRANT:

GRANT কমান্ড ব্যবহার করা হয় একটি নির্দিষ্ট ব্যবহারকারী বা রোলকে ডেটাবেসের উপর বিশেষ privileges দিতে।

GRANT SELECT, INSERT ON employees TO user1;

এই কিউরিটি user1 কে employees টেবিলের উপর SELECT এবং INSERT privileges দেয়।

REVOKE:

REVOKE কমান্ড ব্যবহার করা হয় পূর্বে দেয়া privileges প্রত্যাহার করার জন্য।

REVOKE SELECT ON employees FROM user1;

এই কিউরিটি user1 এর employees টেবিলের উপর SELECT privilege প্রত্যাহার করবে।


Access Control এবং Privileges এর মধ্যে সম্পর্ক:

  • Privileges নির্ধারণ করে আপনি কোন ডেটাবেস কার্যক্রম (যেমন SELECT, INSERT) সম্পাদন করতে পারবেন।
  • Access Control মূলত সিস্টেমের বিভিন্ন রকমের নিরাপত্তা নিয়ন্ত্রণ ব্যবস্থা এবং কৌশল যেমন DAC, MAC, RBAC ব্যবহার করে এগুলি কার্যকরী করে তোলে।

সারাংশ:

  • Privileges হল ব্যবহারকারী বা রোলকে ডেটাবেসে কার্যক্রম সম্পাদনের অনুমতি দেয়।
  • Access Control হল ব্যবহারকারীদের ডেটাবেসের সম্পদে অ্যাক্সেস নিয়ন্ত্রণ করার প্রক্রিয়া।
  • GRANT এবং REVOKE ব্যবহার করে আপনি নির্দিষ্ট privileges প্রদান বা প্রত্যাহার করতে পারেন।

এই দুটি ধারণা একসাথে ব্যবহৃত হলে ডেটাবেসের নিরাপত্তা নিশ্চিত করা সম্ভব, এবং ডেটার সঠিক ব্যবহার এবং সুরক্ষা নিশ্চিত করা হয়।

Content added By
Promotion

Are you sure to start over?

Loading...