জিরো-ট্রাস্ট মাল্টি-টেন্যান্সি: Next.js অ্যাপ রাউটার ও Postgres RLS
ডেটাবেস কার্নেল লেভেলে রো লেভেল সিকিউরিটি (RLS) প্রয়োগের বাস্তব কৌশল, যা অ্যাপ্লিকেশন ত্রুটি সত্ত্বেও ডেটা লিক হতে দেয় না।
সাধারণ মাল্টি-টেন্যান্ট ওয়েব অ্যাপ্লিকেশনে ডেভেলপাররা প্রায়শই অ্যাপ্লিকেশন কোডের ওপর নির্ভর করে কোয়েরিতে `WHERE organization_id = current_org` ব্যবহার করেন। কিন্তু শত শত কোয়েরির মধ্যে একটিতেও ভুল হলে অন্য অর্গানাইজেশনের ডেটা ফাঁস হয়ে যাওয়ার মারাত্মক ঝুঁকি থাকে।
Postgres Row Level Security (RLS)-এর সুবিধা
রো লেভেল সিকিউরিটি এই নিরাপত্তা যাচাইয়ের দায়িত্ব অ্যাপ্লিকেশন কোড থেকে সরাসরি ডেটাবেস ইঞ্জিনে স্থানান্তর করে। RLS সক্রিয় থাকলে ইউজার যে কোয়েরিই পাঠাক না কেন, ডেটাবেস শুধুমাত্র অনুমোদিত রেকর্ড প্রদর্শন করে।
Next.js ও Supabase-এ সেশন হ্যান্ডলিং
Next.js অ্যাপ রাউটার ও Supabase-এ প্রতি রিকোয়েস্টে ইউজারের ভেরিফায়েড JWT ব্যবহৃত হয়:
CREATE POLICY "tenant_isolation"
ON public.documents
FOR ALL
TO authenticated
USING (organization_id = (auth.jwt() ->> 'org_id')::uuid);উচ্চ ট্রাফিকের জন্য পারফরম্যান্স অপটিমাইজেশন
RLS-এর গতি বৃদ্ধি করতে: ১. পলিসির ফিল্টারের সাথে মিল রেখে কম্পোজিট ইনডেক্স (`organization_id, id`) ব্যবহার করুন। ২. সিকিউরিটি হেল্পার ফাংশনগুলোকে `STABLE` হিসেবে ডিক্লেয়ার করুন যাতে ডেটাবেস এক্সিকিউশন প্ল্যান ক্যাশ করতে পারে। ৩. স্বয়ংক্রিয় টেস্ট স্যুটের মাধ্যমে প্রতিটি ইউজারের ডেটা আইসোলেশন পরীক্ষা করুন।
কোনো জিজ্ঞাসা আছে বা কারিগরি সহায়তা প্রয়োজন?
আপনার প্রযুক্তিগত আর্কিটেকচার নিয়ে আলোচনা করতে আমাদের ইঞ্জিনিয়ারদের সাথে যোগাযোগ করুন।
আরও নিবন্ধ
প্রোডাকশন গ্রেড ডিটারমিনিস্টিক এজেন্টিক এআই আর্কিটেকচার
কেন সাধারণ এলএলএম আউটপুট এন্টারপ্রাইজ সিস্টেমে ব্যর্থ হয় এবং PydanticAI ও কঠোর স্কিমা ভ্যালিডেশনের মাধ্যমে কীভাবে নির্ভরযোগ্য অটোমেশন তৈরি করা যায়।
কোর ওয়েব ভাইটালস ঠিক রেখে সর্বোচ্চ বিজ্ঞাপন আয় নিশ্চিতকরণ
লেআউট শিফট মুক্ত লেজি-লোডিং ও অ্যাসপেক্ট রেশিও সংরক্ষণের মাধ্যমে সাইটের গতি ৯৫+ বজায় রেখে বিজ্ঞাপন থেকে আয় বৃদ্ধির কৌশল।