row-level security ဆိုတာ ဘာလဲ?
Row-level security (RLS) သည် row တစ်ခုချင်းစီအလိုက် အသုံးပြုသူ ဖတ်ခွင့် သို့မဟုတ် ပြင်ခွင့်ရှိသော မှတ်တမ်းများကို ဆုံးဖြတ်သော ဒေတာဘေ့စ် feature ဖြစ်သည်။ ထို့ကြောင့် customer တစ်ဦးသည် ကိုယ်ပိုင် order များကိုသာ မြင်ရသည်၊ အက်ပ်က ပိုတောင်းသော်လည်း ဖြစ်သည်။
ထိုအရာမရှိလျှင် “အသုံးပြုသူများသည် ကိုယ်ပိုင်ဒေတာကိုသာ မြင်ရသည်” ဆိုသော စည်းမျဉ်းသည် အက်ပ်ကုဒ်ထဲတွင် ရှိနေသည်။ မျက်နှာပြင် သို့မဟုတ် API တစ်ခုက စစ်ဆေးရန် မေ့သွားလျှင် ပုဂ္ဂိုလ်ရေးဒေတာ ယိုဖိတ်နိုင်သည်။
row-level security ဖြင့် စည်းမျဉ်းသည် ဒေတာဘေ့စ်ထဲတွင် ရှိနေသည်။ “orders ရှိ row တစ်ခုသည် customer_id သည် ဝင်ထားသော အသုံးပြုသူနှင့် တူမှသာ မြင်ရသည်” ကဲ့သို့ policy ကို ရေးပြီး ဒေတာဘေ့စ်က မေးမြန်းချက်တိုင်းတွင် ကျင့်သုံးသည်။
Postgres သည် row-level security ကို ပံ့ပိုးပြီး backend ဝန်ဆောင်မှု အချို့သည် အက်ပ်များက browser မှ ဒေတာဘေ့စ်ကို တိုက်ရိုက် ခေါ်သဖြင့် ၎င်းကို အလေးပေး မှီခိုကြသည်။ ထိုပုံစံများတွင် policy မရှိသော table သည် မည်သူမဆို ဖတ်နိုင်နိုင်သည်။
RLS သည် အကာအကွယ် အလွှာတစ်ခုသာဖြစ်ပြီး တစ်ခုတည်းမဟုတ်ပါ။ အက်ပ်များသည် မှန်ကန်သော sign-in၊ server ဘက်မှ စစ်ဆေးမှုနှင့် admin ဝင်ခွင့်ကို ဂရုတစိုက် ကိုင်တွယ်ရန် လိုအပ်သည်။
ဥပမာများ
- portal ရှိ client များသည် ကိုယ်ပိုင်စာရွက်စာတမ်းများကိုသာ မြင်ရခြင်း
- ကိရိယာတစ်ခုရှိ အဖွဲ့တစ်ခုစီသည် ကိုယ်ပိုင်စီမံကိန်းများကိုသာ မြင်ရခြင်း
မေးခွန်းများ
Row-level security လိုအပ်ပါသလား?
အက်ပ်က အသုံးပြုသူများစွာအတွက် ကိုယ်ပိုင်ဒေတာကို သိမ်းပြီး အစိတ်အပိုင်းတစ်ခုသည် browser မှ ဒေတာဘေ့စ်ကို တိုက်ရိုက် မေးမြန်းလျှင် လိုအပ်သည်။ ခွင့်ပြုချက်ကို စစ်ဆေးသော backend မှတစ်ဆင့် အားလုံးဝင်လျှင် RLS သည် အပိုအကာအကွယ် ဖြစ်သည်။
Row-level security နှင့် role တူလား?
မတူပါ။ Role ဆိုသည်မှာ အသုံးပြုသူ အမျိုးအစား ဖြစ်သည်၊ ဥပမာ admin သို့မဟုတ် member။ Row-level security က အသုံးပြုသူ id သို့မဟုတ် role ကဲ့သို့ အချက်များကို သုံးပြီး ဘယ် row တွေ ရောက်နိုင်သလဲ ဆုံးဖြတ်သည်။
ထပ်ကြည့်ရန်
Mythex · Pricing · AI ဖြင့် ဘာမဆို တည်ဆောက်ပါ · ဝက်ဘ်ဆိုက်နှင့် အက်ပ် Template များ · Mythex နှိုင်းယှဉ်ချက် · AI ဖြင့် အက်ပ်တည်ဆောက်ခြင်း အဘိဓာန် · AI အက်ပ်တည်ဆောက်ရေး အခမဲ့ ကိရိယာများ · English