ওরিয়েন্টডিবি (OrientDB) একটি মাল্টিমডেল ডাটাবেস সিস্টেম, যা গ্রাফ, ডকুমেন্ট এবং কী-ভ্যালু ডেটা মডেল সমর্থন করে। একটি গুরুত্বপূর্ণ ফিচার হলো এর পারমিশন সিস্টেম (Permission System), যা ব্যবহারকারীদের এবং গ্রুপগুলির জন্য নির্দিষ্ট অ্যাক্সেস কন্ট্রোল এবং সিকিউরিটি নিশ্চিত করে। পারমিশন সিস্টেমের মাধ্যমে ডেটাবেসে নিরাপদভাবে প্রবেশাধিকার (Access Control) পরিচালনা করা যায় এবং সিস্টেমে বিভিন্ন ব্যবহারকারীর বিভিন্ন স্তরের অ্যাক্সেস প্রদান করা হয়।
OrientDB এর Permission System
ওরিয়েন্টডিবি তে পারমিশন সিস্টেম ব্যবহৃত হয় ডাটাবেসে ব্যবহারকারী এবং গ্রুপের মধ্যে সঠিক অ্যাক্সেস কন্ট্রোল নির্ধারণ করতে। এটি নিশ্চিত করে যে শুধুমাত্র অনুমোদিত ব্যবহারকারীরা ডেটাবেসের সংবেদনশীল ডেটা অ্যাক্সেস করতে বা পরিবর্তন করতে পারে। পারমিশন সিস্টেমে রোল (Role) এবং পারমিশন দুটি গুরুত্বপূর্ণ উপাদান থাকে, যা গ্র্যানুলার (ละเอียด) অ্যাক্সেস কন্ট্রোল প্রদান করে।
১. Roles (রোল)
ওরিয়েন্টডিবি তে Roles ব্যবহারকারীদের অ্যাক্সেস এবং অনুমতির স্তর নির্ধারণ করে। রোল হলো ব্যবহারকারীদের নির্দিষ্ট একটি গ্রুপ বা অবস্থান যা তাদের নির্দিষ্ট পারমিশন প্রদান করে।
- Predefined Roles: ওরিয়েন্টডিবি তে কিছু পূর্বনির্ধারিত রোল থাকে, যেমন:
- admin: এই রোলটির মাধ্যমে ব্যবহারকারী সমস্ত ডাটাবেস অপারেশন করতে পারে।
- reader: এই রোলটির মাধ্যমে ব্যবহারকারী শুধুমাত্র ডেটা পড়তে পারে, কিন্তু কোনো পরিবর্তন করতে পারে না।
- writer: এই রোলটির মাধ্যমে ব্যবহারকারী ডেটা পড়তে এবং পরিবর্তন করতে পারে।
- database-owner: এই রোলটি পূর্ণ কর্তৃত্ব প্রদান করে এবং ডাটাবেসের সিস্টেম এবং অপারেশনগুলি সম্পূর্ণভাবে নিয়ন্ত্রণ করতে পারে।
- Custom Roles: আপনি নিজেও কাস্টম রোল তৈরি করতে পারেন, যা নির্দিষ্ট পারমিশন প্রদান করে। যেমন:
- Database Management: ডাটাবেসে নতুন টেবিল তৈরি করা বা ডেটাবেসের কনফিগারেশন পরিবর্তন করা।
- Read-Write Permissions: নির্দিষ্ট ডেটাতে পড়া এবং লেখার অনুমতি প্রদান।
২. Permissions (পারমিশন)
পারমিশন হলো ব্যবহারকারীর যে সব এক্সেস রয়েছে তা নির্ধারণ করে। পারমিশনটি ডাটাবেসে রোলগুলির মাধ্যমে নির্ধারিত হয় এবং এগুলি ব্যবহারকারীর ক্ষমতাকে নিয়ন্ত্রণ করে।
ওরিয়েন্টডিবি তে কিছু পারমিশন প্রকার রয়েছে, যেগুলি নির্দিষ্ট ডেটাবেস বা টেবিলের উপর কার্যকরী:
- READ: ব্যবহারকারী ডেটা দেখতে বা পড়তে পারবে।
- CREATE: ব্যবহারকারী নতুন ডেটা বা অবজেক্ট তৈরি করতে পারবে।
- UPDATE: ব্যবহারকারী ডেটা বা অবজেক্ট পরিবর্তন করতে পারবে।
- DELETE: ব্যবহারকারী ডেটা বা অবজেক্ট মুছে ফেলতে পারবে।
- TRUNCATE: ব্যবহারকারী একটি টেবিল বা কলাম থেকে সমস্ত ডেটা মুছে ফেলতে পারবে।
- ADMIN: ব্যবহারকারী ডাটাবেসের সম্পূর্ণ প্রশাসনিক কাজ করতে পারবে।
৩. Granting and Revoking Permissions
ওরিয়েন্টডিবি তে আপনি GRANT এবং REVOKE কমান্ড ব্যবহার করে পারমিশন অ্যাসাইন করতে এবং প্রত্যাহার করতে পারেন।
Granting Permissions: নির্দিষ্ট রোল বা ব্যবহারকারীকে একটি নির্দিষ্ট পারমিশন প্রদান করার জন্য
GRANTকমান্ড ব্যবহার করা হয়।GRANT READ, UPDATE ON myDatabase TO myUserএখানে
myUserব্যবহারকারীকেmyDatabaseডাটাবেসে READ এবং UPDATE পারমিশন দেওয়া হচ্ছে।Revoking Permissions: নির্দিষ্ট রোল বা ব্যবহারকারীর কোনো পারমিশন প্রত্যাহার করার জন্য
REVOKEকমান্ড ব্যবহার করা হয়।REVOKE UPDATE ON myDatabase FROM myUserএই কমান্ডটি
myUserব্যবহারকারীরUPDATEপারমিশনmyDatabaseথেকে প্রত্যাহার করবে।
৪. Access Control on Specific Records (রেকর্ডের উপর অ্যাক্সেস কন্ট্রোল)
ওরিয়েন্টডিবি তে আপনি শুধু নির্দিষ্ট রেকর্ডের উপর অ্যাক্সেস কন্ট্রোল করতে পারেন। আপনি SELECT, INSERT, UPDATE, DELETE পারমিশন প্রয়োগ করতে পারেন নির্দিষ্ট ডেটা বা রেকর্ডের জন্য।
- Field-Level Permission: আপনি ডেটাবেসের নির্দিষ্ট ফিল্ড বা এট্রিবিউট এর উপরও পারমিশন প্রয়োগ করতে পারেন।
৫. Auditing and Logging
ওরিয়েন্টডিবি সিস্টেমের উপর কার্যকলাপ পর্যবেক্ষণের জন্য অডিটিং এবং লগিং ব্যবস্থাও সমর্থন করে। এই ব্যবস্থা ব্যবহার করে আপনি দেখতে পারেন কোন ব্যবহারকারী কখন কোন ডেটাতে অ্যাক্সেস করেছিল এবং কী ধরনের পরিবর্তন করেছে। এটি সিকিউরিটি এবং ট্র্যাকিং নিশ্চিত করতে সহায়ক।
Example of Permission System
ধরা যাক, আপনি একটি ডাটাবেসে দুটি রোল তৈরি করেছেন — admin এবং reader। এখন আপনি এই রোলগুলির মধ্যে পারমিশন বিভক্ত করবেন:
- Admin Role:
adminরোলটি পূর্ণ পারমিশন পাবে, অর্থাৎ এটি ডেটাবেসের সমস্ত অপারেশন করতে পারবে (পড়তে, লিখতে, আপডেট করতে, মুছতে, ইত্যাদি)। - Reader Role:
readerরোলটি শুধুমাত্র ডেটা পড়তে পারবে, কিন্তু কোনো পরিবর্তন করতে পারবে না।
-- Admin রোলকে সব পারমিশন দেওয়া হচ্ছে
GRANT ALL ON DATABASE myDatabase TO admin;
-- Reader রোলকে শুধুমাত্র READ পারমিশন দেওয়া হচ্ছে
GRANT READ ON DATABASE myDatabase TO reader;
এভাবে আপনি সহজেই ব্যবহারকারীদের গ্র্যানুলার পারমিশন দিতে পারবেন এবং ডাটাবেসে বিভিন্ন রোলের মাধ্যমে তাদের অ্যাক্সেস কন্ট্রোল করতে পারবেন।
সারাংশ
ওরিয়েন্টডিবি এর পারমিশন সিস্টেম একটি শক্তিশালী উপায় ডেটাবেসের অ্যাক্সেস কন্ট্রোল এবং নিরাপত্তা পরিচালনা করার জন্য। Roles এবং Permissions এর মাধ্যমে আপনি ডেটাবেসের উপর সম্পূর্ণ নিয়ন্ত্রণ রাখতে পারেন, এবং ব্যবহারকারীদের এবং গ্রুপগুলির জন্য নির্দিষ্ট অ্যাক্সেস স্তর প্রদান করতে পারেন। GRANT এবং REVOKE কমান্ড ব্যবহার করে আপনি ব্যবহারকারীদের পারমিশন নিয়ন্ত্রণ করতে পারেন। এভাবে, আপনি ওরিয়েন্টডিবি তে ডেটাবেসের সুরক্ষা এবং কার্যক্ষমতা বজায় রাখতে পারেন।
Read more