Role-Based Access Control (RBAC)
Administrer tillatelser for brukere og servicekontoer i klyngen ved hjelp av RBAC-roller og rolletilknytninger.
Role-Based Access Control (RBAC) er en gratis leksjon i Grunnleggende Kubernetes på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Grunnleggende Kubernetes, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Grunnleggende Kubernetes inneholder totalt 4 leksjoner.
Hva er RBAC i Kubernetes?
Velkommen! I denne leksjonen skal du lære mer om rollebasert tilgangskontroll (RBAC), en viktig sikkerhetsfunksjon i Kubernetes.
RBAC hjelper deg med å styre hvem som kan gjøre hva i klyngen. Det fungerer som en dørvakt for Kubernetes-ressursene dine og sikrer at bare autoriserte brukere og applikasjoner kan utføre bestemte handlinger.
Hvorfor RBAC er viktig
Uten RBAC kan alle med tilgang til klyngen potensielt utføre alle handlinger, noe som kan føre til sikkerhetsrisiko eller utilsiktede skader.
- Sikkerhet: Forhindrer uautorisert tilgang og uautoriserte operasjoner.
- Samsvar: Hjelper deg med å oppfylle regulatoriske krav til tilgangskontroll.
- Minste privilegium: Sikrer at brukere og applikasjoner bare har tillatelsene de faktisk trenger.
Viktige RBAC-konsepter
RBAC i Kubernetes bygger på noen få kjernekomponenter:
- Subjects: «Hvem» (brukere, servicekontoer, grupper).
- Roles: «Hva» (et sett med tillatelser).
- RoleBindings: «Hvordan» (kobler en Role til et Subject).
- ClusterRoles & ClusterRoleBindings: Klyngeomfattende versjoner av Roles og RoleBindings.
Subjects: Brukere og servicekontoer
Kubernetes må vite hvem som ber om å utføre en handling. Disse kalles Subjects:
- Brukere: Vanligvis menneskelige administratorer eller utviklere. Kubernetes administrerer ikke brukere direkte, men er avhengig av ekstern autentisering.
- Servicekontoer: Kubernetes-objekter som brukes av applikasjoner eller prosesser som kjører i Pods. De er avgjørende for kommunikasjon mellom Pods og API-serveren.
Definere tillatelser med Roles
En Role definerer et sett med tillatelser innenfor et bestemt namespace. Den angir hvilke handlinger (verb) som kan utføres på hvilke ressurser.
En Role kan for eksempel tillate å «hente» og «liste» Pods i default-namespace.
Role-eksempel: Pod-leser
Her er en YAML-definisjon for en Role med navnet pod-reader. Denne Rollen gir tillatelse til å «hente», «liste» og «overvåke» (watch) Pods.
Legg merke til apiGroups: [""], som viser til Kubernetes’ kjerne-API-gruppe.
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: pod-reader
namespace: default
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "watch"]Gi tillatelser med RoleBindings
En RoleBinding kobler en bestemt Role til ett eller flere Subjects (brukere, servicekontoer eller grupper) innenfor et bestemt namespace.
Det er koblingen som sier: «Denne brukeren/applikasjonen kan gjøre det denne Rollen tillater i dette namespace-et.»
RoleBinding-eksempel: Gi tilgang
Denne RoleBinding-en kobler Rollen pod-reader til en servicekonto med navnet my-app-sa i default-namespace. Nå kan my-app-sa lese Pods.
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-pods-binding
namespace: default
subjects:
- kind: ServiceAccount
name: my-app-sa # The service account getting permissions
namespace: default
roleRef:
kind: Role
name: pod-reader # The Role being granted
apiGroup: rbac.authorization.k8s.ioClusterRoles og ClusterRoleBindings
Noen ganger trenger du tillatelser som gjelder for hele klyngen, ikke bare ett namespace. Det er her ClusterRoles og ClusterRoleBindings kommer inn.
- ClusterRole: Definerer tillatelser for klyngeomfattende ressurser (for eksempel noder og permanente volumer) eller for handlinger på tvers av alle namespaces (for eksempel «liste alle Pods»).
- ClusterRoleBinding: Kobler en ClusterRole til Subjects og gir tillatelser for hele klyngen.
Kort RBAC-test
En utvikler trenger å distribuere nye applikasjoner bare i dev-namespace. Hvilke to Kubernetes-RBAC-ressurser vil du først og fremst bruke for å gi denne spesifikke tillatelsen?
Oppsummering: RBAC-grunnprinsipper
Godt jobbet! Du har lært det grunnleggende om Kubernetes RBAC:
- RBAC styrer hvem som kan samhandle med ressursene i klyngen.
- Roles definerer tillatelser innenfor et namespace.
- RoleBindings kobler Roles til Subjects (brukere, servicekontoer).
- ClusterRoles og ClusterRoleBindings håndterer tillatelser for hele klyngen.
Å beherske RBAC er viktig for å sikre Kubernetes-miljøet ditt!
Lær deg Grunnleggende Kubernetes med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Role-Based Access Control (RBAC)» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Grunnleggende Kubernetes, inkludert «Role-Based Access Control (RBAC)», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Grunnleggende Kubernetes inneholder totalt 4 leksjoner.
Hva lærer jeg i «Role-Based Access Control (RBAC)»?
Administrer tillatelser for brukere og servicekontoer i klyngen ved hjelp av RBAC-roller og rolletilknytninger. Du øver på Grunnleggende Kubernetes med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Grunnleggende Kubernetes?
Ingen tidligere erfaring er nødvendig. Grunnleggende Kubernetes på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Role-Based Access Control (RBAC)»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Grunnleggende Kubernetes-leksjonen?
Ja. Alle Grunnleggende Kubernetes-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Role-Based Access Control (RBAC)
- Nettverkspolicyer for isolasjon
- Sikkerhetsstandarder for Pods
- Tjenestekontoer og arbeidslastidentitet