Grunnleggende Kubernetes · leksjon

Role-Based Access Control (RBAC)

Administrer tillatelser for brukere og servicekontoer i klyngen ved hjelp av RBAC-roller og rolletilknytninger.

Leksjon 1 av 411 trinn

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.io

ClusterRoles 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!

Gratis å komme i gang

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

  1. Role-Based Access Control (RBAC)
  2. Nettverkspolicyer for isolasjon
  3. Sikkerhetsstandarder for Pods
  4. Tjenestekontoer og arbeidslastidentitet
← Tilbake til Grunnleggende Kubernetes