စနစ်လုံခြုံရေးနှင့် စံချိန်စံညွှန်းများ

လုံခြုံရေးနှင့် ဒေတာ တိကျခိုင်မာမှု စနစ်

BeeTable သည် Zero-Trust လုံခြုံရေး အခြေခံမူများပေါ်တွင် တည်ဆောက်ထားပါသည်။ ပြေစာနံပါတ် တိကျမှုမှသည် ဆိုင်တစ်ခုစီ၏ ဒေတာသီးခြားခွဲထုတ်မှုအထိ သင့်နေ့စဉ် အရောင်းအဝယ်များကို မည်သို့ ကာကွယ်ထားသည်ကို ဖော်ပြထားပါသည်။

အဆင့်မြင့် အင်ဂျင်နီယာနည်းပညာ•နောက်ဆုံးပြင်ဆင်သည့်ရက် - အောက်တိုဘာ ၂၀၂၆•ဖတ်ရှုချိန် ၄ မိနစ်
အဓိက အနှစ်ချုပ်များ
  • ဆိုင်တစ်ခုနှင့်တစ်ခု ဒေတာ လုံးဝမရောထွေးစေသော Multi-Tenant Isolation စနစ်။
  • ငွေကြေးတွက်ချက်မှုများတွင် ဒသမပိုင်း အမှားအယွင်း မရှိစေရန် တိကျသော Integer Math စနစ်။
  • အရောင်းပြေစာများကို သိမ်းဆည်းပြီးပါက ပြင်ဆင်ဖျက်ဆီး၍ မရသော Immutable Trigger များဖြင့် ကာကွယ်ထားမှု။
  • နေ့စဉ် အလိုအလျောက် ရယူသော Database Backup များကို Amazon S3 တွင် စနစ်တကျ သိမ်းဆည်းထားမှု။

၁။ ဆိုင်တစ်ခုစီအတွက် သီးခြားဒေတာခွဲထုတ်မှု (Tenant Isolation)

စနစ်တွင်း မေးမြန်းမှုအားလုံးကို သီးခြား Workspace UUID ဖြင့်သာ အတည်ပြု စိစစ်ပါသည်။

ကျွန်ုပ်တို့၏ Rust API ဆာဗာသည် သုံးစွဲသူထံမှ ပေးပို့လာသော မည်သည့် Request ကိုမဆို စစ်မှန်သော Session Token ဖြင့် အတည်ပြုပြီးမှသာ သက်ဆိုင်ရာ ဆိုင်ဒေတာကို ပြသပါသည်။

PostgreSQL Database အဆင့်တွင် Foreign Key များနှင့် Unique Constraints များဖြင့် တင်းကြပ်စွာ ချုပ်ကိုင်ထားသောကြောင့် အခြားဆိုင်မှ သင့်ဆိုင်ဒေတာကို ကြည့်ရှုခွင့် လုံးဝမရှိနိုင်ပါ။

၂။ ပြင်ဆင်၍မရသော အရောင်းစာရင်းနှင့် တိကျသော ငွေကြေးတွက်ချက်မှု

ငွေကြေးတွက်ချက်မှုတိုင်းကို အမှားအယွင်းကင်းစေရန် ကိန်းပြည့်စနစ်ဖြင့် တွက်ချက်ထားပါသည်။

ဝဘ်ဆော့ဖ်ဝဲများတွင် ဖြစ်လေ့ရှိသော ဒသမပိုင်း တွက်ချက်မှု လွဲချော်ခြင်းများကို ကာကွယ်ရန် BeeTable သည် ငွေပမာဏအားလုံးကို အတိအကျ တွက်ချက်ပါသည်။

အရောင်းတစ်ခု ပြီးဆုံးသည့်အခါ ထိုအချိန်က ရောင်းချခဲ့သော ဈေးနှုန်းအတိုင်း Snapshot ရယူသိမ်းဆည်းထားပါသည်။ နောင်တစ်ချိန်တွင် ကုန်ပစ္စည်းဈေးနှုန်း ပြောင်းလဲသွားသော်လည်း ယခင်အရောင်းပြေစာများ မူလအတိုင်း မပြောင်းမလဲ တည်ရှိနေပါမည်။

Database Triggers များဖြင့် ငွေကြေးမှတ်တမ်းများကို ခွင့်ပြုချက်မရှိဘဲ ဖျက်ခြင်း သို့မဟုတ် ပြင်ဆင်ခြင်း မပြုနိုင်အောင် ကာကွယ်ထားပါသည်။

၃။ အင်တာနက်ပြတ်တောက်မှု ကာကွယ်ရေးနှင့် ပြန်လည်ရယူနိုင်စွမ်း

အင်တာနက်လိုင်း မတည်ငြိမ်ခြင်းကြောင့် စာရင်းများ နှစ်ထပ်ဖြစ်ခြင်း သို့မဟုတ် ပျောက်ဆုံးခြင်းမှ ကာကွယ်ထားပါသည်။

အရေးကြီးသော ကုန်ပစ္စည်း၊ စတော့နှင့် ရက်ချိန်းမှတ်တမ်းများအားလုံးတွင် `record_commands` တိုကင်စနစ်ကို အသုံးပြုထားသောကြောင့် အင်တာနက်ချို့ယွင်း၍ ပြန်လည်ပေးပို့သည့်အခါ ပစ္စည်းစာရင်း နှစ်ခါနှုတ်သွားခြင်းမျိုး မဖြစ်ပေါ်စေပါ။

အလှပြင်ဆိုင် ရက်ချိန်းများတွင်လည်း Database အဆင့်၌ အချိန်ထပ်ခြင်း မရှိစေရန် စစ်ဆေးပေးသဖြင့် ဝန်ထမ်း သို့မဟုတ် ထိုင်ခုံတစ်ခုတည်းကို တစ်ချိန်တည်း လူနှစ်ယောက် ဘိုကင်တင်မိခြင်း မရှိနိုင်ပါ။

၄။ စဉ်ဆက်မပြတ်သော ပြေစာနံပါတ်နှင့် ပရင့်စနစ်

ပြေစာနံပါတ်များသည် အစဉ်လိုက် တိကျစွာ ထွက်ရှိပြီး ဆိုင်အချက်အလက် Snapshot ပါဝင်ပါသည်။

အရောင်းတစ်ခုစီအတွက် `BT-00000001` ကဲ့သို့သော စဉ်ဆက်မပြတ် ပြေစာနံပါတ်ကို Database မှ တိုက်ရိုက်ထုတ်ပေးပါသည်။

ပြေစာတွင် ထုတ်ပေးသည့်အချိန်က ဆိုင်အမည်၊ မြို့နှင့် အခွန်အချက်အလက်များ အတိအကျ ပါဝင်ပြီး ပရင့်ထုတ်မှုနှင့် ပြန်လည်ထုတ်မှု (Reprint) များကို စနစ်တကျ မှတ်တမ်းတင်ထားပါသည်။

၅။ အဆင့်ခွဲခြားထားသော ဒေတာဘေ့စ် လုံခြုံရေး (Least Privilege)

လည်ပတ်နေသော API သည် ဒေတာဘေ့စ် တည်ဆောက်ပုံကို ပြင်ဆင်ခွင့် မရှိပါ။

Production API သည် DDL ခွင့်ပြုချက်မရှိသော သီးခြား `beetable_runtime` အကောင့်ဖြင့်သာ ချိတ်ဆက်ထားသောကြောင့် ပြင်ပမှ တိုက်ခိုက်မှုများ ဖြစ်ပေါ်လာလျှင်ပင် Database စနစ်တစ်ခုလုံးကို ဖျက်ဆီး၍ မရနိုင်ပါ။

စနစ်ဗားရှင်း အဆင့်မြှင့်တင်မှုများကို သီးသန့် အုပ်ချုပ်သူအကောင့်ဖြင့်သာ CI/CD မှတစ်ဆင့် ပြုလုပ်ပါသည်။

၆။ Cloud အခြေခံအဆောက်အအုံနှင့် အရန်သိမ်းဆည်းမှု (Backups)

AWS Lightsail နှင့် Amazon S3 ပေါ်တွင် လုံခြုံစိတ်ချရစွာ တည်ဆောက်ထားပါသည်။

Web နှင့် API ဆာဗာများကို လုံခြုံသော Docker Containers များဖြင့် မောင်းနှင်ပြီး Caddy Reverse Proxy ဖြင့် HTTPS (TLS 1.3) လက်မှတ်များကို အလိုအလျောက် စီမံထားပါသည်။

နေ့စဉ် Database အရန်သိမ်းဆည်းမှု (Backup) များကို Amazon S3 သို့ လုံခြုံစွာ ပို့ဆောင်သိမ်းဆည်းထားပါသည်။

အခြား လေ့လာနိုင်သော စာမျက်နှာများ