မဖြစ်မနေ ဝင်ရောက်ခွင့် ထိန်းချုပ်ခြင်း - mac ဝင်ရောက်ခွင့် ထိန်းချုပ်ခြင်း - ဝင်ရောက်ခွင့် ထိန်းချုပ်ခြင်း မူဝါဒ

ဘယ်လို Access Control မူဝါဒတွေ လိုအပ်ပါသလဲ။ ခွဲခြမ်းစိတ်ဖြာကြည့်ရအောင်။

မာတိကာ

မဖြစ်မနေဖတ်သင့်သောပို့စ်များ

စိတ်ဝင်စားဖွယ်ကောင်းသော နောက်ဆုံးပို့စ်များ

ဆော့ဖ်ဝဲရေးသားသူများသည် အဘယ်ကြောင့် စစ်မှန်သော ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုမူဝါဒများ လိုအပ်သနည်း (သီအိုရီတစ်ခုတည်းမဟုတ်ဘဲ)

ကုဒ်ကို တွန်းအားပေးနေတယ်ဆိုရင်၊ ထိန်းသိမ်းနေတယ်ဆိုရင် pipelines သို့မဟုတ် artifact registry များကို စီမံခန့်ခွဲရာတွင်၊ သင်သည် သီအိုရီထက်ပို၍ လိုအပ်ပါသည်။ အားနည်းသော သို့မဟုတ် မသတ်မှတ်ထားသော access control မူဝါဒများသည် repo ကို ခိုးယူခြင်းကို ဖိတ်ခေါ်ပါသည်။ CI/CD အလွဲသုံးစားပြုမှုနှင့် အထောက်အထားပေါက်ကြားမှုများDevSecOps သည် မြှုပ်နှံထားသော ခွင့်ပြုချက်ဆက်တင်များကိုသာမက အမှန်တကယ် ပြဋ္ဌာန်းရန် လိုအပ်ပါသည်။

ကုဒ်သိုလှောင်ရုံများတစ်လျှောက် ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုမူဝါဒများကို ထိရောက်စွာစီမံခန့်ခွဲရန်၊ CI/CD pipelinesနှင့် ရှေးဟောင်းပစ္စည်းများ မှတ်ပုံတင်ခြင်းများတွင် အဖွဲ့များစွာသည် Xygeni ကဲ့သို့သော အလိုအလျောက် ပြဋ္ဌာန်းရေးကိရိယာများကို အားကိုးအားထားပြုကြသည်။ အခန်းကဏ္ဍများ၊ ခွင့်ပြုချက်များနှင့် မူဝါဒလိုက်နာမှုများကို စဉ်ဆက်မပြတ် စောင့်ကြည့်ခြင်းဖြင့် Xygeni သည် ခွင့်ပြုချက်လွဲချော်မှု၊ ခွင့်ပြုချက်မရှိဘဲ ဝင်ရောက်ခြင်းနှင့် လက်ဖြင့် အစားထိုးခြင်းများကို ကာကွယ်ရန် ကူညီပေးပြီး မဖြစ်မနေ ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုသီအိုရီကို အကောင်အထည်ဖော်ပေးသည်။

Access control သည် သင့် source code ကို တိုက်ရိုက် lock ချပေးပြီး၊ သင့် build များကို လုံခြုံစေကာ၊ သင့် production ကို ကာကွယ်ပေးပါသည်။ pipeline။ ဆော့ဖ်ဝဲရေးသားသူများသည် ထိန်းချုပ်မှုများကို ကျော်ဖြတ်ပါက သို့မဟုတ် ဝန်ဆောင်မှုအကောင့်များတွင် ကျယ်ပြန့်သော ခွင့်ပြုချက်များရှိပါက လုံခြုံရေးချိုးဖောက်မှုများဆီသို့ တံခါးဖွင့်ပေးနေခြင်းဖြစ်သည်။ ထို့ကြောင့် မဖြစ်မနေဝင်ရောက်ခွင့်ထိန်းချုပ်မှု၊ MAC ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုနှင့် အခြားမော်ဒယ်များကို နားလည်ခြင်းသည် အရေးကြီးပါသည်။

ဆော့ဖ်ဝဲရေးသားသူများ သိထားသင့်သော ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုမူဝါဒအမျိုးအစားများ

ဝင်ရောက်ခွင့် ထိန်းချုပ်မှု မူဝါဒများသည် အဓိက အမျိုးအစား သုံးမျိုး ခွဲခြားထားပြီး တစ်ခုချင်းစီသည် မတူညီသော နယ်ပယ်များတွင် ကိုက်ညီပါသည် CI/CD လုပ်ငန်းစဉ်များ။ ရှင်းလင်းစေရန်အတွက် အမြန်ဘေးချင်းယှဉ်၍ ခွဲခြမ်းစိတ်ဖြာချက်တစ်ခုကို ဤနေရာတွင် ဖော်ပြထားပါသည်။

ပုံစံ ဝင်ရောက်ခွင့်ကို မည်သူထိန်းချုပ်သနည်း။ ပုံမှန်အသုံးပြုမှု CI/CD အန္တရာယ်အဆင့်
DAC (ဆုံးဖြတ်ခွင့်ထိန်းချုပ်မှု) အရင်းအမြစ်ပိုင်ရှင် (ဆော့ဖ်ဝဲရေးသားသူ၊ အက်ဒမင်) repo သို့မဟုတ် registry access ကို ကိုယ်တိုင်မျှဝေခြင်း မြင့်မားသော (လူအမှား)
RBAC (အခန်းကဏ္ဍအခြေပြု ဝင်ရောက်ခွင့် ထိန်းချုပ်မှု) စနစ်သည် အခန်းကဏ္ဍအလိုက် ခွင့်ပြုချက်များ သတ်မှတ်ပေးသည် GitHub ဌာနခွဲကာကွယ်မှု၊ အသုံးပြုသူအခန်းကဏ္ဍများအပေါ်အခြေခံ၍ CI အလုပ်ဝင်ရောက်ခွင့် အလယ်အလတ် (အခန်းကဏ္ဍများ မှားယွင်းစွာ ပြင်ဆင်သတ်မှတ်ခြင်း)
MAC (မဖြစ်မနေဝင်ရောက်ခွင့်ထိန်းချုပ်မှု) စနစ်မူဝါဒဖြင့် ပြဋ္ဌာန်းထားသည် ဘယ်သူတွေ artifacts တွေကို publish လုပ်နိုင်မလဲ ဒါမှမဟုတ် code ကို deploy လုပ်နိုင်မလဲဆိုတာကို ပြဌာန်းပါတယ် နိမ့်သည် (မူဝါဒသည် အသုံးပြုသူ၏ ရည်ရွယ်ချက်ကို ကျော်လွန်သည်)

MAC နှင့် RBAC ကွာခြားချက်ကို ရှင်းလင်းစွာဖော်ပြခြင်း CI/CD context

အခန်းကဏ္ဍအခြေပြု ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုကို ရှုပ်ထွေးစေရန် လွယ်ကူပါသည် (RBAC) မဖြစ်မနေ ဝင်ရောက်ခွင့် ထိန်းချုပ်ခြင်း (mac access control) ဖြင့်၊ အထူးသဖြင့် CI/CD ပတ်ဝန်းကျင်။ တစ်ချိန်တည်းမှာ CI/CD GitHub နှင့် GitLab ကဲ့သို့သော ပလက်ဖောင်းများသည် အခန်းကဏ္ဍများနှင့် ခွင့်ပြုချက်များ (ဥပမာ၊ မည်သူသည် ပေါင်းစည်းနိုင်သည် သို့မဟုတ် ဖြန့်ကျက်နိုင်သည်) ကို စီမံခန့်ခွဲရန် RBAC ကို အသုံးပြုသည်၊ ၎င်းသည် အခြေခံအားဖြင့် အခန်းကဏ္ဍကို အခြေခံထားပြီး စစ်မှန်သော MAC ဝင်ရောက်ခွင့်ထိန်းချုပ်မှု မဟုတ်ပါ။

RBAC က သင့်အား အခန်းကဏ္ဍများ (developer၊ maintainer စသည်) ပေါ်မူတည်၍ ခွင့်ပြုချက်များ သတ်မှတ်ခွင့်ပြုသော်လည်း ထိုခွင့်ပြုချက်များကို user က ထိန်းချုပ်ထားပြီး ပြင်ဆင်နိုင်ဆဲဖြစ်သည်။ Misconfiguration များခြင်း သို့မဟုတ် permission creep ဖြစ်ခြင်းသည် အဖြစ်များသော အန္တရာယ်များဖြစ်သည်။

ဆန့်ကျင်ဘက်အနေနဲ့ မဖြစ်မနေဝင်ရောက်ခွင့်ထိန်းချုပ်မှု (MAC ဝင်ရောက်ခွင့်ထိန်းချုပ်မှု) ကို စနစ် သို့မဟုတ် အခြေခံအဆောက်အအုံအဆင့်မှာ ပြဋ္ဌာန်းထားပါတယ်။ admin တွေအပါအဝင် အသုံးပြုသူတွေဟာ ၎င်းကို override လုပ်လို့မရပါဘူး။ Mac ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုကို platform ထဲမှာ ထည့်သွင်းထားတဲ့ မူဝါဒတွေအဖြစ် စဉ်းစားကြည့်ပါ- cloud provider တွေမှာရှိတဲ့ IAM မူဝါဒတွေ (ဥပမာ AWS IAM၊ GCP IAM) ဒါမှမဟုတ် SELinux ဒါမှမဟုတ် AppArmor လိုမျိုး OS-level enforcement tool တွေပါ။ ဒီလိုကိစ္စတွေမှာ၊ ကြိုတင်သတ်မှတ်ထားတဲ့၊ ကျော်လွှားလို့မရတဲ့ စည်းမျဉ်းတွေနဲ့ ကိုက်ညီမှသာ ဝင်ရောက်ခွင့်ကို ခွင့်ပြုပါတယ်။

In CI/CDကိရိယာများစွာသည် MAC ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုအပြုအမူကို တင်းကျပ်စွာကန့်သတ်ထားသော IAM အခန်းကဏ္ဍများ သို့မဟုတ် အရင်းအမြစ်-သီးသန့်ခွင့်ပြုချက်များမှတစ်ဆင့် တုပသော်လည်း ၎င်းသည် အပြည့်အဝ မဖြစ်မနေဝင်ရောက်ခွင့်ထိန်းချုပ်မှုမဟုတ်ပါ။ အမှန်တကယ် မဖြစ်မနေဝင်ရောက်ခွင့်ထိန်းချုပ်မှု ပြဋ္ဌာန်းခြင်းသည် application layer အောက်၊ OS၊ network သို့မဟုတ် cloud infrastructure အဆင့်တွင် ထိန်းချုပ်မှုများ လိုအပ်ပြီး ဝင်ရောက်ခွင့်ကို လူသားဖွဲ့စည်းမှုပုံစံဖြင့် မဟုတ်ဘဲ မပြောင်းလဲနိုင်သော ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုမူဝါဒများဖြင့် ထိန်းချုပ်သည်။

အခန်းကဏ္ဍအခြေခံ သုံးစွဲခွင့်ထိန်းချုပ်မှု (RBAC)

RBAC သည် “developer”, “maintainer” သို့မဟုတ် “release manager” ကဲ့သို့သော သတ်မှတ်ထားသော role များသို့ permission များကို map လုပ်ပေးသည်။ ၎င်းသည် GitHub ကဲ့သို့သော tool များတွင် စီမံခန့်ခွဲမှုကို ရိုးရှင်းစေသည်။ GitLabအသုံးပြုသူတစ်ဦးချင်းစီကို စီစဉ်သတ်မှတ်မည့်အစား၊ ၎င်းတို့ကို အခန်းကဏ္ဍတစ်ခုသို့ သတ်မှတ်ပြီး စနစ်အား စည်းမျဉ်းများကို ပြဋ္ဌာန်းစေပါ။

ဥပမာ: GitHub CODEOWNERS ဖိုင်

၎င်းက သတ်မှတ်ထားသော အခန်းကဏ္ဍများသာ အရေးကြီးသော လမ်းညွှန်များတွင် ပြောင်းလဲမှုများကို အတည်ပြုနိုင်ကြောင်း သေချာစေသည်။

GitLab အခန်းကဏ္ဍဆက်တင်များ- ဆက်တင်များ > အဖွဲ့ဝင်များတွင် ပရောဂျက်ဝင်ရောက်ခွင့်ကို ပြင်ဆင်သတ်မှတ်ပါ-

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

GitHub Actions Workflow RBAC ဥပမာ-

မဖြစ်မနေ Access Control (MAC)

မဖြစ်မနေဝင်ရောက်ခွင့်ထိန်းချုပ်မှု (MAC ဝင်ရောက်ခွင့်ထိန်းချုပ်မှု) သည် အသုံးပြုသူများနှင့် စီမံခန့်ခွဲသူများ ပယ်ဖျက်၍မရသော တင်းကျပ်သော စနစ်အဆင့်စည်းမျဉ်းများကို ပြဋ္ဌာန်းသည်။ Mac ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုကို အသုံးပြုပါ။ အရေးကြီးသော အရင်းအမြစ်များကို မည်သူ ဖတ်ရှုနိုင်၊ ရေးသားနိုင် သို့မဟုတ် လုပ်ဆောင်နိုင်သူကို တင်းကြပ်စွာ ထိန်းချုပ်ရန်။

ဥပမာ: Google Artifact Registry မူဝါဒ (ရိုးရှင်းသော YAML)

ဥပမာ: Amazon ECR မူဝါဒ (ရိုးရှင်းသော YAML)

Manual Override ၏အန္တရာယ်များနှင့် MAC မှ ၎င်းတို့ကို မည်သို့ကာကွယ်ပေးသည်

RBAC နှင့်ပတ်သက်သည့် အကြီးမားဆုံးအန္တရာယ်များထဲမှတစ်ခုမှာ DAC မော်ဒယ်များ ရည်ရွယ်ချက်ရှိရှိ သို့မဟုတ် မတော်တဆ လက်ဖြင့် အစားထိုးခြင်းဖြစ်နိုင်ခြေရှိသည်။ ဥပမာအားဖြင့်၊ အက်ဒမင် သို့မဟုတ် ဆော့ဖ်ဝဲရေးသားသူသည် ကာကွယ်ထားသော မှတ်ပုံတင်ခြင်းသို့ artifacts များကို တိုက်ရိုက် upload လုပ်နိုင်သည် သို့မဟုတ် သတ်မှတ်ထားသော access control မူဝါဒများပြင်ပတွင် အလွန်အကျွံခွင့်ပြုချက်များ ပေးနိုင်သည်။ ဤလုပ်ဆောင်ချက်များသည် အားနည်းချက်များကို ဖြစ်ပေါ်စေနိုင်သည် သို့မဟုတ် လိုက်နာမှုကွာဟချက်များကို ဖြစ်စေနိုင်သည်။

မဖြစ်မနေဝင်ရောက်ခွင့်ထိန်းချုပ်မှု (MAC ဝင်ရောက်ခွင့်ထိန်းချုပ်မှု) သည် မည်သည့်အသုံးပြုသူမျှ၊ အက်ဒမင်များပင် ကျော်ဖြတ်၍မရသော စနစ်အဆင့်မူဝါဒများကို ပြဋ္ဌာန်းခြင်းဖြင့် ထိုကဲ့သို့သော အစားထိုးမှုများကို ကာကွယ်ပေးသည်။ Access decisအိုင်ယွန်များကို အခြေခံအဆောက်အအုံတွင် ထည့်သွင်းထားသော မပြောင်းလဲနိုင်သော စည်းမျဉ်းများ (cloud IAM မူဝါဒများ သို့မဟုတ် OS-level လုံခြုံရေးမော်ဂျူးများကဲ့သို့) ဖြင့် ထိန်းချုပ်ထားသည်။ ဆိုလိုသည်မှာ-

  • Mac access control policy က artifacts တွေကို ငြင်းပယ်ရင် admin တစ်ယောက်ဟာ artifacts တွေကို registry ထဲ ကိုယ်တိုင် upload လုပ်လို့မရပါဘူး။
  • အသုံးပြုသူများသည် သတ်မှတ်ထားသော ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုမူဝါဒများပြင်ပတွင် အခွင့်အရေးများကို မြှင့်တင်ခြင်း သို့မဟုတ် ခွင့်ပြုချက်များကို ပြောင်းလဲခြင်းမပြုနိုင်ပါ။
  • automated CI/CD pipeline၎င်းတို့၏ သတ်မှတ်ထားသော ခွင့်ပြုချက်များအတွင်းသာ လည်ပတ်သောကြောင့် scope creep ဖြစ်ခြင်းကို ကာကွယ်ပေးသည်။

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

၂.၄ ရွေးချယ်ခွင့်ထိန်းချုပ်မှု (DAC)

DAC သည် resource ပိုင်ရှင်များအား permission များကို ကိုယ်တိုင်သတ်မှတ်ခွင့်ပြုသည်။ ၎င်းသည် ပြောင်းလွယ်ပြင်လွယ်ရှိသော်လည်း အန္တရာယ်များသည်။ မှားယွင်းသော share တစ်ခုက repo ကို ထိခိုက်စေနိုင်သည်။ DAC သည် ဤသို့အလုပ်လုပ်သည်- “သင်ပိုင်ဆိုင်သည်၊ မည်သူဝင်ရောက်မည်ကို သင်ဆုံးဖြတ်သည်။”

နမူနာ: တစ် dev သည် ပြင်ပပူးပေါင်းဆောင်ရွက်သူတစ်ဦးကို ဖိတ်ခေါ်ပြီး repo သို့ ရေးသားခွင့်ပေးသည်။ ပူးပေါင်းဆောင်ရွက်သူသည် မလုံခြုံသောကုဒ်ကို တိုက်ရိုက်ပို့သည် dev ဌာနခွဲ။

In CI/CD, DAC သည် သတ်မှတ်ထားသော access control policy ပြင်ပတွင် console မှတစ်ဆင့် ယာယီအဖွဲ့ဝင်တစ်ဦးအား production deploy access ကို ကိုယ်တိုင်ပေးအပ်သည့် developer တစ်ဦးနှင့်တူနိုင်သည်။

လက်တွေ့မှာ အလုပ်လုပ်တဲ့ Access Control မူဝါဒကို ဘယ်လိုရွေးချယ်မလဲ။ Pipelines

Git မှာ Access Control လုပ်ခြင်း

RBAC ကို အသုံးပြု၍ contributor၊ maintainer နှင့် release roles များကို စီမံခန့်ခွဲပါ။ protected branches များအတွက် merge rights များကို lock လုပ်ပါ။ လက်မှတ်ထိုးရန် လိုအပ်သည် commits နှင့် ကာကွယ်မှုများကို မည်သူကျော်ဖြတ်နိုင်သည်ကို ကန့်သတ်ပါ။

ဥပမာ- GitHub Branch Protection Rules

  • တောင်းဆို pull request ပေါင်းစည်းခြင်းမပြုမီ ပြန်လည်သုံးသပ်ခြင်း။
  • အဟောင်းကို ပယ်ပါ pull request အသစ်ဖြစ်တဲ့အခါ အတည်ပြုချက်တွေ commits တွေကို တွန်းပို့ပါတယ်။
  • လက်မှတ်ထိုးရန် လိုအပ်သည် commits.
  • ထုတ်လုပ်မှု-အရေးကြီးသော repos များအတွက် DAC ကိုကျော်ပါ။ ရေးသားခွင့်ကို ပေါ့ပေါ့တန်တန်မပေးပါနှင့်။

Pipeline ပြ္ဌာန်းခြင်း

မဖြစ်မနေ ဝင်ရောက်ခွင့် ထိန်းချုပ်မှုကို ထားရှိပါ pipelines. ခိုင်မာသော Mac access control model သည် CI jobs များကို ၎င်းတို့လိုအပ်သော permissions များအထိသာ ကန့်သတ်ထားသည်။

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

ဥပမာ: CI အလုပ်တစ်ခုသည် staging နှင့် prod တစ်လျှောက် deploy token ကို ပြန်လည်အသုံးပြုပြီး test code ကို မတော်တဆ live သို့ တွန်းပို့မိပါသည်။

တိုကင်အတိုင်းအတာကို ထိန်းချုပ်ရန် Mac ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုစည်းမျဉ်းများကို ထည့်ပါ-

လျှို့ဝှက်ချက်များ နယ်ပယ်သတ်မှတ်ခြင်း ဥပမာ- ပတ်ဝန်းကျင်အလိုက် တိုကင်အသုံးပြုမှု

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

GitHub Actions မှာ လျှို့ဝှက်အသုံးပြုမှုကို ဘယ်လိုခွဲခြားသတ်မှတ်ပေးသလဲဆိုတာ ဒီမှာပါ- ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုမူဝါဒအခြေခံထိန်းချုပ်မှုများ

၎င်းက အောက်ပါတို့ကို ပြဋ္ဌာန်းသည်-

  • သာ ဆော့ဖ်ဝဲရေး role သည် dev token ကို အသုံးပြု၍ ဖြန့်ကျက်မှုများကို စတင်နိုင်သည် dev ဌာနခွဲ။
  • သာ ထုတ်လွှင့်မှုမန်နေဂျာ role ကို prod token ကို အသုံးပြုပြီး production မှာ deploy လုပ်နိုင်ပါတယ်။ အဓိက ဌာနခွဲ။

ထိုကဲ့သို့ အတိုင်းအတာသတ်မှတ်ထားသော လျှို့ဝှက်အသုံးပြုမှုသည် ပတ်ဝန်းကျင်များတွင် တိုကင်ယိုစိမ့်မှုများ မြင့်တက်လာနိုင်ခြေကို လျော့နည်းစေပြီး အနည်းဆုံးအခွင့်အရေးကို ပြဋ္ဌာန်းသည် CI/CD pipelines ခိုင်မာသော ဝင်ရောက်ခွင့် ထိန်းချုပ်ရေး မူဝါဒများကို လိုက်နာခြင်း။

ရှေးဟောင်းပစ္စည်းများ ဝင်ရောက်ခွင့် ထိန်းချုပ်မှုများ

မဖြစ်မနေ ဝင်ရောက်ခွင့် ထိန်းချုပ်မှုစနစ်ကို အသုံးပြု၍ ရှေးဟောင်းပစ္စည်း မှတ်ပုံတင်မှုများကို လော့ချပါ။ CI/CD စနစ်များသည် တစ်ဦးချင်း developer များကို ကိုင်တွယ်ခြင်းမဟုတ်ဘဲ ထုတ်ဝေမှုများကို ကိုင်တွယ်သင့်သည်။

RBAC ကို အသုံးပြု၍ မည်သည့်အဖွဲ့များကို သတ်မှတ်ထားသော registry များမှ ဆွဲယူမည်ကို သတ်မှတ်ပါ။ developer များသည် production package များကို ဖတ်ရှုခွင့်သာ လိုအပ်နိုင်ပါသည်။

Dev Workflow များတွင် အဖြစ်များသော Access Control Failure များ

အလွန်အကျွံခွင့်ပြုထားသော Repo ဝင်ရောက်ခွင့်

ပြဿနာ: repos များသို့ user များစွာကို write/admin access ပေးနေခြင်း။
ဘယ်လိုဖြစ်တာလဲ- အဖွဲ့ဝင်များသည် ခွင့်ပြုချက်များကို ပြန်လည်သုံးသပ်ခြင်းမရှိဘဲ ရာထူးတိုးမြှင့်ခံရခြင်း သို့မဟုတ် ထည့်သွင်းခံရခြင်း။ အခန်းကဏ္ဍများသည် ဖောင်းပွလာခြင်း။
တိုက်ခိုက်သူ အသုံးချမှု- တိုက်ခိုက်သူများသည် ခိုးယူထားသော အထောက်အထားများ သို့မဟုတ် လူမှုရေးအင်ဂျင်နီယာကို အသုံးပြု၍ ဤအကောင့်များကို ပစ်မှတ်ထားကြသည်။ အထဲသို့ဝင်ရောက်ပြီးသည်နှင့် ၎င်းတို့သည် အန္တရာယ်ရှိသောကုဒ်များ၊ backdoor များထည့်သွင်းခြင်း သို့မဟုတ် ခြေရာခံမှုများကို ဝှက်ရန် မှတ်တမ်းများကို ဖယ်ရှားခြင်းတို့ ပြုလုပ်နိုင်သည်။

Dev နှင့် Prod အကြား မျှဝေထားသော ခွင့်ပြုချက်များ

ပြဿနာ: တီထွင်သူနှင့် ထုတ်လုပ်မှု ငှားရမ်းခြင်း pipelines မျှဝေခွင့်ပြုချက်များ။
ဘယ်လိုဖြစ်တာလဲ- အဖွဲ့များသည် ပတ်ဝန်းကျင်တစ်လျှောက်တွင် တူညီသော deploy token သို့မဟုတ် CI service account ကို ပြန်လည်အသုံးပြုကြသည်။
တိုက်ခိုက်သူ အသုံးချမှု- dev environment breach က attacker တွေကို production access ပေးပါတယ်။ မဖြစ်မနေ ဝင်ရောက်ခွင့် ထိန်းချုပ်မှု သတ်မှတ်ထားသော ပတ်ဝန်းကျင်များသို့ ခွင့်ပြုချက်များ ချည်နှောင်ခြင်းဖြင့် ၎င်းကို ကာကွယ်နိုင်သည်။

ကိုယ်တိုင်ပြုလုပ်ထားသော ရှေးဟောင်းပစ္စည်းများ အပ်လုဒ်လုပ်ခြင်း

ပြဿနာ: ထုတ်လုပ်မှု မှတ်ပုံတင်များသို့ ကိုယ်တိုင် artifact များ အပ်လုဒ်လုပ်ခွင့်ပြုခြင်း။
ဘယ်လိုဖြစ်တာလဲ- ဆော့ဖ်ဝဲရေးသားသူများ ကျော်ဖြတ်သွားခြင်း pipelineအမြန်ပြင်ဆင်မှုများ သို့မဟုတ် ပူပြင်းသော ပြင်ဆင်မှုများအတွက်။
တိုက်ခိုက်သူ အသုံးချမှု- အန္တရာယ်ရှိသော developer စက်များသည် malware အားလုံးကို ကျော်လွှား၍ artifact storage သို့ တိုက်ရိုက် upload လုပ်နိုင်သည်။ CI/CD လုံခြုံရေးစစ်ဆေးမှုများ။

မှတ်ပုံတင်ခြင်းမူဝါဒအလွဲသုံးစားမှုအန္တရာယ်- artifacts များကို ကိုယ်တိုင်ထုတ်ဝေခြင်းသည် software supply chain တွင် critical attack မျက်နှာပြင်ကို ဖန်တီးပေးသည်။ attackers များသည် laxity ကို အခွင့်ကောင်းယူကြသည်။ ဝင်ရောက်ထိန်းချုပ်ရေးမူဝါဒများ ယုံကြည်စိတ်ချရသော package များ သို့မဟုတ် container image များထဲသို့ malicious code ကိုထည့်သွင်းနိုင်ပြီး downstream compromise များ ကျယ်ကျယ်ပြန့်ပြန့်ဖြစ်ပေါ်စေနိုင်သည်။ မကြာသေးမီက software supply chain ဖြစ်ရပ်များက စည်းမျဉ်းမဲ့ artifact upload များသည် မရေမတွက်နိုင်သော အသုံးပြုသူများနှင့် စနစ်များကို ထိခိုက်စေသည့် အဓိကလုံခြုံရေးချိုးဖောက်မှုများအဖြစ် လျင်မြန်စွာ မြင့်တက်လာနိုင်ကြောင်း ပြသခဲ့သည်။

ဥပမာ: ကnpm registry ကို အပြည့်အဝဝင်ရောက်ခွင့်ရှိသော n အလုပ်သင်တစ်ဦးသည် မတည်ငြိမ်သောဗားရှင်းကို မှားယွင်းစွာထုတ်ဝေခဲ့သည်။ တိုက်ခိုက်သူတစ်ဦးသည် ထိုအလုပ်သင်၏စက်ကို တိုက်ခိုက်ခဲ့ပါက ၎င်းတို့သည် malware ကို ထုတ်ဝေခဲ့နိုင်သည်။

ခိုင်မာသော ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုများကို ပြဋ္ဌာန်းရန် လက်တွေ့ကျသော အဆင့်များ

  • အခန်းကဏ္ဍများကို တိကျသောခွင့်ပြုချက်များသို့ မြေပုံဆွဲပါ၊ အခန်းကဏ္ဍတစ်ခုတည်းနှင့် ကိုက်ညီသော စနစ်များကို စွန့်လွှတ်ပါ
  • သင့်တွင် ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုမူဝါဒစစ်ဆေးမှုများကို အလိုအလျောက်လုပ်ဆောင်ပါ CI/CD pipelines
  • မဖြစ်မနေ ဝင်ရောက်ခွင့် ထိန်းချုပ်ခြင်းဖြင့် မှတ်ပုံတင်များကို လော့ချပါ
  • အရေးကြီးစနစ်များသို့ ဝင်ရောက်ခွင့်ကို အဆက်မပြတ် မှတ်တမ်းတင်ပြီး စောင့်ကြည့်ပါ
  • ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုမူဝါဒများကို ကုဒ်ကဲ့သို့ သဘောထားပါ။ အမှားတိုင်းကို အသုံးချနိုင်သည်။

Xygeni ရဲ့ အခန်းကဏ္ဍ- DevOps Workflows မှာ Access မူဝါဒတွေကို ပြဋ္ဌာန်းပြီး စောင့်ကြည့်ခြင်း

ဆိုက်ဂျီနီ DevSecOps မှာ နေ့စဉ် လက်တွေ့ကျတဲ့ ဝင်ရောက်ခွင့် ထိန်းချုပ်မှု မူဝါဒ ပြဋ္ဌာန်းရေးဆိုင်ရာ စိန်ခေါ်မှုတွေကို ဖြေရှင်းပေးခြင်းအားဖြင့် မဖြစ်မနေ ဝင်ရောက်ခွင့် ထိန်းချုပ်မှုစနစ်ကို သီအိုရီကနေ လက်တွေ့အဖြစ် ပြောင်းလဲဖို့ ကူညီပေးပါတယ်။ pipelines.

  • Git Access ကို အလွန်အကျွံ ခွင့်ပြုထားခြင်းကို ဖြေရှင်းခြင်း- Xygeni သည် Git repositories များကို ပြန်လည်သုံးသပ်ခြင်းမရှိသော role assignments သို့မဟုတ် branch protections ပျောက်ဆုံးနေခြင်းကဲ့သို့သော RBAC ချိုးဖောက်မှုများအတွက် အဆက်မပြတ်စောင့်ကြည့်ပါသည်။ ၎င်းသည် access control policies များသည် သတ်မှတ်ထားသောစည်းမျဉ်းများမှ သွေဖည်သွားသည့်အခါ သတိပေးပြီး မတော်တဆ merge များ သို့မဟုတ် malicious PR များကို ရှောင်ရှားရန် ပြင်ဆင်မှုလုပ်ဆောင်ချက်များကို ပြဋ္ဌာန်းသည်။
  • ပိတ်ဆို့ခြင်း CI/CD Pipelines: CI အလုပ်များသည် တစ်ခါတစ်ရံတွင် ရည်ရွယ်ထားသည်ထက် ပိုမိုကျယ်ပြန့်သော အတိုင်းအတာများဖြင့် လုပ်ဆောင်လေ့ရှိသည်။ Xygeni သည် မည်သည့်အချိန်တွင် ထောက်လှမ်းသည် CI/CD အလုပ်များသည် ၎င်းတို့၏ သတ်မှတ်ထားသော အခန်းကဏ္ဍများထက် ကျော်လွန်၍ တောင်းဆိုခြင်း သို့မဟုတ် လုပ်ဆောင်ခြင်း၊ နယ်ပယ် ချဲ့ထွင်ခြင်းနှင့် အခွင့်အရေး အလွဲသုံးစားပြုခြင်းကို အချိန်နှင့်တပြေးညီ ဖော်ထုတ်ခြင်း။ ၎င်းသည် အတွင်းပိုင်းရှိ MAC ဝင်ရောက်ခွင့် ထိန်းချုပ်မှု မူများကို အကောင်အထည်ဖော်ရန် ကူညီပေးသည်။ pipelineအလုပ်၏ လက္ခဏာနှင့် ရည်ရွယ်ချက်ကို တင်းကြပ်စွာ ချည်နှောင်ခြင်းဖြင့် ဝင်ရောက်ခွင့်။
  • Artifact Publishing Controls များကို ပြဋ္ဌာန်းခြင်း- developer တွေက artifacts တွေ ဒါမှမဟုတ် image တွေကို ကိုယ်တိုင် upload လုပ်နေတုန်းပဲဆိုရင် Xygeni က အဲဒါကို ရပ်တန့်ပေးပါတယ်။ ဒါက registry-level မဖြစ်မနေ access control ကို အသုံးပြုတာကြောင့် အတည်ပြုပြီးသား user တွေကိုပဲ pipeline အထောက်အထားများသည် artifacts များကို ထုတ်ဝေနိုင်သည်။ ထုတ်လုပ်မှု မှတ်ပုံတင်များသို့ လူသားများ အပ်လုဒ်လုပ်ခြင်း မရှိတော့ပါ။
  • ဝင်ရောက်ခွင့်ကို စောင့်ကြည့်ခြင်းနှင့် ပုံမှန်မဟုတ်သော အမှတ်အသားပြုခြင်း- Xygeni နဲ့ဆိုရင် ဘယ်သူက ဘာကို၊ ဘယ်အချိန်မှာ နဲ့ ဘယ်လို ဝင်ရောက်ကြည့်ရှုခဲ့တယ်ဆိုတာကို မြင်သာအောင် လုပ်ဆောင်နိုင်ပါတယ်။ ပုံမှန်မဟုတ်တဲ့ အပြုအမူတွေကို ထောက်လှမ်းဖို့၊ flag misconfiguration တွေကို ထောက်လှမ်းဖို့ နဲ့ post-incident analysis မှာ အကူအညီပေးဖို့ secrets usage, repository access နဲ့ registry interactions တွေကို အဆက်မပြတ် ခြေရာခံပေးပါတယ်။

အောက်ဆုံးလိုင်း: Xygeni သည် သင်၏ DevOps ပတ်ဝန်းကျင်သည် သင့်အား နှေးကွေးစေခြင်းမရှိဘဲ လုံခြုံစွာရှိနေစေရန် ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုမူဝါဒသို့ အလိုအလျောက်လုပ်ဆောင်ခြင်းနှင့် ပြဋ္ဌာန်းခြင်းတို့ကို ယူဆောင်လာပါသည်။

ဒါကြောင့် Access Control ကို တစ်ခုအဖြစ် သတ်မှတ်ပါ။ Code Security

ဖြန့်ကျက်ခွင့် သို့မဟုတ် အခြေခံအသုံးပြုခွင့်ရှိသူတိုင်းသည် သင့်အက်ပ်ကို မတော်တဆဖြစ်စေ၊ မမတော်တဆဖြစ်စေ ချိုးဖျက်နိုင်ပါသည်။ ထို့ကြောင့် ခိုင်မာသော ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုမူဝါဒသည် မဖြစ်မနေလိုအပ်သည်မဟုတ်ပါ။ အခန်းကဏ္ဍများကို စနစ်တကျ ခွဲဝေပေးရန် RBAC ကို အသုံးပြုပါ။ အရေးကြီးသော စနစ်များသို့ မဖြစ်မနေ ဝင်ရောက်ခွင့် ထိန်းချုပ်မှု ကျင့်သုံးပါ။ ထုတ်လုပ်မှု လမ်းကြောင်းများအတွက် DAC ကို လုံးဝကျော်သွားပါ။ ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုမူဝါဒများကို သင့်ထဲသို့ ထည့်သွင်းပါ DevSecOps အကောင်းဆုံးလုပ်ဆောင်မှုများ။ ၎င်းတို့ကို အလိုအလျောက်လုပ်ဆောင်ပါ။ စောင့်ကြည့်ပါ။ အကောင်အထည်ဖော်ပါ။

TL; DR: ကောင်းမွန်စွာ ပြဋ္ဌာန်းထားသော ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုမူဝါဒသည် သင်၏ codebase၊ artifacts နှင့် infrastructure များကို အလိုအလျောက် ပိုမိုလုံခြုံစေသည်။

sca-tools-software-composition-analysis-tools
သင့်ဆော့ဖ်ဝဲလ်အန္တရာယ်များကို ဦးစားပေးသတ်မှတ်ခြင်း၊ ပြုပြင်ခြင်းနှင့် လုံခြုံစေခြင်း
သင့်ရဲ့ အခမဲ့အကောင့်ကို ရယူလိုက်ပါ။
အကြွေးဝယ်ကဒ်မရှိပါ။

သင့်ရဲ့ Software Development နဲ့ Delivery ကို လုံခြုံအောင်ထားပါ

Xygeni ထုတ်ကုန်အစုံနှင့်အတူ