User Roles এবং Privileges ম্যানেজমেন্ট

MariaDB সিকিউরিটি এবং ইউজার ম্যানেজমেন্ট - মারিয়া ডিবি (MariaDB) - Database Tutorials

250

মারিয়া ডিবি (MariaDB)-তে User Roles এবং Privileges ম্যানেজমেন্টের মাধ্যমে ডেটাবেস ব্যবহারকারীদের বিভিন্ন অধিকার (permissions) এবং কর্তব্য (duties) নির্ধারণ করা হয়। এর মাধ্যমে আপনি ডেটাবেসের নিরাপত্তা এবং অ্যাক্সেস কন্ট্রোল পরিচালনা করতে পারেন। প্রতিটি ব্যবহারকারীকে নির্দিষ্ট রোল এবং প্রিভিলেজ প্রদান করে, ডেটাবেসে কি ধরনের কার্যকলাপ তারা করতে পারবে তা নিয়ন্ত্রণ করা হয়।


User Roles

User Roles হলো একটি সংগঠিত রোল বা গ্রুপ, যেগুলির মধ্যে বিভিন্ন প্রিভিলেজ একত্রিত থাকে। ব্যবহারকারীকে একটি নির্দিষ্ট রোল প্রদান করলে তারা সেই রোলের সব অধিকার পাবেন, যা সহজে অ্যাক্সেস এবং কন্ট্রোল ম্যানেজমেন্টে সহায়ক। মারিয়া ডিবি ১০.০ সংস্করণ থেকে রোল সাপোর্ট করে, যা প্রশাসনিক কাজকে আরও সহজ করে।

রোল তৈরি করা

রোল তৈরি করতে CREATE ROLE কমান্ড ব্যবহার করা হয়। একটি রোল তৈরি হলে, আপনি ব্যবহারকারীকে সেই রোলটি অ্যাসাইন করতে পারেন।

CREATE ROLE 'admin';

এখানে, 'admin' নামক একটি রোল তৈরি করা হয়েছে।

রোল অ্যাসাইন করা

নতুন রোল তৈরি হওয়ার পর, আপনি ব্যবহারকারীকে সেই রোল অ্যাসাইন করতে পারেন। এজন্য GRANT কমান্ড ব্যবহার করা হয়।

GRANT 'admin' TO 'username'@'localhost';

এখানে, 'username' ব্যবহারকারীকে 'admin' রোল দেওয়া হয়েছে।

রোলের প্রিভিলেজ নির্ধারণ

একটি রোলকে নির্দিষ্ট প্রিভিলেজ দিয়ে কনফিগার করা যায়। আপনি যেমন একটি রোলকে ডেটাবেসের সব ডাটা পড়া এবং লেখা অনুমতি দিতে পারেন।

GRANT ALL PRIVILEGES ON database_name.* TO 'admin';

এটি 'admin' রোলকে database_name ডেটাবেসে সব ধরনের প্রিভিলেজ প্রদান করবে।

রোল বাতিল করা

যদি কোন রোল আর প্রয়োজন না হয়, তবে DROP ROLE কমান্ড ব্যবহার করে তা বাতিল করা যায়।

DROP ROLE 'admin';

Privileges

Privileges হলো একটি ব্যবহারকারীর ডেটাবেসের ওপর বিভিন্ন কর্মকাণ্ড করার অনুমতি। প্রতিটি প্রিভিলেজ বিভিন্ন ডেটাবেস কার্যক্রম যেমন, ডেটা দেখতে, আপডেট করতে, ডিলিট করতে এবং নতুন টেবিল তৈরি করতে অনুমতি দেয়।

প্রিভিলেজের ধরন

  1. ALL PRIVILEGES: সব ধরনের অধিকার (দেখা, পরিবর্তন, মুছা, ইত্যাদি)।
  2. SELECT: টেবিল থেকে ডেটা পড়ার অধিকার।
  3. INSERT: টেবিলের মধ্যে ডেটা ইনসার্ট করার অধিকার।
  4. UPDATE: টেবিলের ডেটা আপডেট করার অধিকার।
  5. DELETE: টেবিল থেকে ডেটা মুছার অধিকার।
  6. CREATE: নতুন টেবিল বা ডেটাবেস তৈরি করার অধিকার।
  7. DROP: টেবিল বা ডেটাবেস ডিলিট করার অধিকার।
  8. GRANT OPTION: অন্যদের প্রিভিলেজ দেওয়া বা বাতিল করার অধিকার।

প্রিভিলেজ প্রদান করা

GRANT কমান্ড ব্যবহার করে আপনি একটি নির্দিষ্ট ব্যবহারকারীকে নির্দিষ্ট প্রিভিলেজ প্রদান করতে পারেন।

GRANT SELECT, INSERT, UPDATE ON database_name.* TO 'username'@'localhost';

এটি 'username' ব্যবহারকারীকে database_name ডেটাবেসে SELECT, INSERT, এবং UPDATE প্রিভিলেজ দেবে।

সমস্ত প্রিভিলেজ প্রদান করা

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

এই কুয়েরিটি 'username' ব্যবহারকারীকে সমস্ত ডেটাবেসে সব ধরনের প্রিভিলেজ প্রদান করবে, এবং WITH GRANT OPTION ব্যবহারকারীকেও অন্য ব্যবহারকারীদের প্রিভিলেজ দেওয়ার অনুমতি দেবে।


প্রিভিলেজ বাতিল করা

একটি ব্যবহারকারীর প্রিভিলেজ বাতিল করতে REVOKE কমান্ড ব্যবহার করা হয়।

REVOKE INSERT, UPDATE ON database_name.* FROM 'username'@'localhost';

এটি 'username' ব্যবহারকারীর জন্য database_name ডেটাবেসে INSERT এবং UPDATE প্রিভিলেজ বাতিল করবে।

সমস্ত প্রিভিলেজ বাতিল করা

REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost';

এটি 'username' ব্যবহারকারীর সমস্ত প্রিভিলেজ বাতিল করে দেবে।


Privileges দেখা

কোনো ব্যবহারকারীর বর্তমান প্রিভিলেজ দেখতে SHOW GRANTS কমান্ড ব্যবহার করা হয়।

SHOW GRANTS FOR 'username'@'localhost';

এটি 'username' ব্যবহারকারীর জন্য বর্তমানে প্রাপ্ত প্রিভিলেজগুলি দেখাবে।


User Creation এবং Privileges ম্যানেজমেন্ট উদাহরণ

১. নতুন ব্যবহারকারী তৈরি এবং প্রিভিলেজ প্রদান:

CREATE USER 'john'@'localhost' IDENTIFIED BY 'password123';
GRANT SELECT, INSERT, UPDATE ON my_database.* TO 'john'@'localhost';

এখানে, 'john' ব্যবহারকারী তৈরি করা হয়েছে এবং তাকে my_database ডেটাবেসে SELECT, INSERT, এবং UPDATE প্রিভিলেজ দেওয়া হয়েছে।

২. নতুন রোল তৈরি এবং প্রিভিলেজ প্রদান:

CREATE ROLE 'developer';
GRANT SELECT, INSERT ON my_database.* TO 'developer';
GRANT 'developer' TO 'john'@'localhost';

এখানে, একটি 'developer' রোল তৈরি করা হয়েছে এবং তাকে my_database ডেটাবেসে SELECT এবং INSERT প্রিভিলেজ দেওয়া হয়েছে। তারপর, 'john' ব্যবহারকারীকে 'developer' রোল অ্যাসাইন করা হয়েছে।


সারাংশ

মারিয়া ডিবি (MariaDB)-তে User Roles এবং Privileges ব্যবস্থাপনা একটি শক্তিশালী উপায় যা ব্যবহারকারীদের ডেটাবেস অ্যাক্সেস কন্ট্রোল এবং নিরাপত্তা নিশ্চিত করতে সহায়তা করে। Roles ব্যবহার করে ব্যবহারকারীদের বিভিন্ন গ্রুপে বিভক্ত করা যায় এবং Privileges নির্ধারণ করে তারা কোন কাজ করতে পারবে। GRANT, REVOKE, এবং SHOW GRANTS এর মাধ্যমে সহজেই প্রিভিলেজ অ্যাসাইন এবং ম্যানেজ করা সম্ভব।

Content added By
Promotion

Are you sure to start over?

Loading...