Kubernetes Role-Based Access Control(RBAC)
Jifunze na zoezi la Udukuzi wa AWS:Mafunzo ya HackTricks AWS Timu Nyekundu Mtaalam (ARTE)
Jifunze na zoezi la Udukuzi wa GCP:
Mafunzo ya HackTricks GCP Timu Nyekundu Mtaalam (GRTE)
Udhibiti wa Upatikanaji kulingana na Majukumu (RBAC)
Kubernetes ina moduli ya idhini inayoitwa Udhibiti wa Upatikanaji kulingana na Majukumu (RBAC) ambayo husaidia kuweka ruhusa za matumizi kwa seva ya API.
Modeli ya ruhusa ya RBAC imejengwa kutoka kwa sehemu tatu tofauti:
Jukumu/Jukumu la Kikundi - Ruhusa halisi. Ina mipangilio inayowakilisha seti ya ruhusa. Kila maelekezo yanajumuisha rasilimali na vitendo. Kitendo ni hatua itakayotekelezwa kwenye rasilimali.
Mada (Mtumiaji, Kikundi au Akaunti ya Huduma) - Kitu ambacho kitapokea ruhusa.
Kufunga Jukumu/Jukumu la Kikundi - Uunganisho kati ya Jukumu/Jukumu la Kikundi na mada.
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2Fwww.cyberark.com%2Fwp-content%2Fuploads%2F2018%2F12%2Frolebiding_serviceaccount_and_role-1024x551.png&width=768&dpr=4&quality=100&sign=8a74ea80&sv=1)
Tofauti kati ya "Jukumu" na "Jukumu la Kikundi" ni mahali tu ambapo jukumu litatumika - "Jukumu" litatoa upatikanaji kwa eneo moja tu la kipekee, wakati "Jukumu la Kikundi" linaweza kutumika katika eneo zote katika kikundi. Zaidi ya hayo, Jukumu la Kikundi pia linaweza kutoa upatikanaji kwa:
rasilimali za kikundi-eneo (kama vile nodi).
vituo vya bila-rasilimali (kama vile /healthz).
rasilimali za eneo (kama vile Pods), katika maeneo yote.
Kuanzia Kubernetes 1.6 na kuendelea, sera za RBAC zime wezeshwa kwa chaguo-msingi. Lakini ili kuwezesha RBAC unaweza kutumia kitu kama:
Vielelezo
Katika kigezo cha Jukumu au Jukumu la Kikundi cha Kiklaster utahitaji kuonyesha jina la jukumu, eneo (katika majukumu) na kisha apiGroups, rasilimali na maneno ya jukumu:
apiGroups ni safu inayojumuisha nafasi za API tofauti ambazo sheria hii inatumika. Kwa mfano, ufafanuzi wa Pod hutumia apiVersion: v1. Inaweza kuwa na thamani kama rbac.authorization.k8s.io au [*].
Rasilimali ni safu inayoelezea ni rasilimali zipi sheria hii inatumika. Unaweza kupata rasilimali zote kwa:
kubectl api-resources --namespaced=true
Maneno ni safu inayojumuisha maneno yanayoruhusiwa. Kitenzi katika Kubernetes hufafanua aina ya hatua unayohitaji kutumia kwa rasilimali. Kwa mfano, kitenzi cha orodha hutumiwa dhidi ya makusanyo wakati "pata" hutumiwa dhidi ya rasilimali moja.
Maneno ya Sheria
(Maelezo haya yalichukuliwa kutoka nyaraka)
Kitenzi cha HTTP | kitenzi cha ombi |
---|---|
POST | umba |
GET, HEAD | pata (kwa rasilimali binafsi), orodhesha (kwa makusanyo, ikiwa ni pamoja na maudhui kamili ya kitu), angalia (kwa kufuatilia rasilimali binafsi au mkusanyo wa rasilimali) |
WEKA | sasisha |
KITAMBUA | kipande |
ONDOA | futa (kwa rasilimali binafsi), futa mkusanyo (kwa makusanyo) |
Kubernetes mara nyingine hufanya uhakiki wa idhini kwa ruhusa za ziada kwa kutumia maneno maalum. Kwa mfano:
kitenzi cha
tumia
kwenye rasilimali zapodsecuritypolicies
katika kikundi cha API chasera
.maneno ya
unganisha
nakukuza
kwenye rasilimali zamajukumu
namajukumu ya kikundi
katika kikundi cha API charbac.authorization.k8s.io
.kitenzi cha
jitambulishe
kwenyewatumiaji
,makundi
, naakaunti za huduma
katika kikundi cha API cha msingi, nauserextras
katika kikundi cha API chaauthentication.k8s.io
.
Unaweza kupata maneno yote ambayo kila rasilimali inasaidia kwa kutekeleza kubectl api-resources --sort-by name -o wide
Mifano
Kwa mfano, unaweza kutumia ClusterRole kuruhusu mtumiaji fulani kuendesha:
RoleBinding na ClusterRoleBinding
Kutoka kwa nyaraka: RoleBinding inatoa ruhusa zilizoelezwa katika jukumu kwa mtumiaji au kikundi cha watumiaji. Inashikilia orodha ya wahusika (watumiaji, vikundi, au akaunti za huduma), na marejeo kwa jukumu linalopewa. RoleBinding inatoa ruhusa ndani ya namespace maalum wakati ClusterRoleBinding inatoa ufikiaji huo kwa kiwango cha kikundi.
Ruhusa ni za kuongezeka kwa hivyo ikiwa una jukumu la kikundi na "orodha" na "futa" siri unaweza kuiongeza na Jukumu na "pata". Kwa hivyo kuwa makini na jaribu jukumu na ruhusa zako na eleza ni NINI KURUHUSIWA, kwa sababu kila kitu ni KUKATALIWA kwa chaguo-msingi.
Kuorodhesha RBAC
Matumizi ya Majukumu/ Majukumu ya Kikundi kwa Ajili ya Kuongeza Madaraka
Abusing Roles/ClusterRoles in KubernetesJifunze na zoezi la Udukuzi wa AWS:Mafunzo ya HackTricks AWS Timu Nyekundu Mtaalam (ARTE)
Jifunze na zoezi la Udukuzi wa GCP:
Mafunzo ya HackTricks GCP Timu Nyekundu Mtaalam (GRTE)
Last updated