Docker og Kubernetes for udviklere · Lektion

Rollebaseret adgangskontrol (RBAC)

Konfigurer RBAC for sikkert at administrere bruger- og service account-tilladelser i Deres Kubernetes-cluster.

Lektion 1 af 412 trin

Rollebaseret adgangskontrol (RBAC) er en gratis Docker og Kubernetes for udviklere-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Docker og Kubernetes for udviklere, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Docker og Kubernetes for udviklere-kurset indeholder 4 lektioner i alt.

Hvad er Kubernetes RBAC?

Velkommen til rollebaseret adgangskontrol (RBAC)! I Kubernetes er RBAC en metode til at regulere adgangen til computer- eller netværksressourcer baseret på de enkelte brugeres roller i din organisation.

Tænk på det som sikkerhedsvagten for din klynge: Den afgør, hvem der må gøre hvad.

Hvorfor RBAC er afgørende

RBAC er afgørende for klyngesikkerhed og driftsmæssig integritet. Uden RBAC kan enhver bruger eller proces med adgang potentielt udføre enhver handling, hvilket kan føre til sikkerhedsproblemer eller utilsigtede fejlkonfigurationer.

  • Sikkerhed: Forhindrer uautoriseret adgang.
  • Mindste privilegium: Sikrer, at brugere og programmer kun har de nødvendige tilladelser.
  • Overholdelse: Hjælper med at opfylde lovmæssige krav til adgangskontrol.

RBAC's kernebegreber: Subjekter

I RBAC er et Subject den, der udfører en handling. Kubernetes identificerer tre typer subjekter:

  • Brugere: Menneskelige brugere, som ofte administreres eksternt.
  • Service Accounts: Identiteter for processer, der kører i Pods. Disse er indbyggede i Kubernetes.
  • Grupper: Samlinger af brugere eller Service Accounts.

Vi fokuserer på Service Accounts, fordi de spiller en central rolle i sikkerheden for programmer i Kubernetes.

RBAC's kernebegreber: Roller

En Role definerer, hvilke handlinger der kan udføres. Roller er altid begrænset til et namespace, hvilket betyder, at de tilladelser, de giver, kun gælder i et bestemt namespace.

En Role indeholder rules, som er sæt af tilladelser. Hver regel angiver:

  • apiGroups: Den API-gruppe, som ressourcen tilhører, f.eks. "" for kernegruppen og apps for udrulninger.
  • resources: De specifikke ressourcetyper, f.eks. pods og deployments.
  • verbs: De tilladte handlinger, f.eks. get, list, create og delete.

RBAC's kernebegreber: ClusterRoles

Ligesom Roles definerer en ClusterRole også, hvilke handlinger der kan udføres, men den er begrænset til klyngen. Det betyder, at dens tilladelser gælder i hele klyngen.

ClusterRoles bruges til:

  • At give adgang til ressourcer, der er begrænset til klyngen, f.eks. noder.
  • At give adgang til ressourcer i alle namespaces.
  • At give adgang til slutpunkter, der ikke er ressourcer, f.eks. /healthz.

RBAC's kernebegreber: RoleBindings

En RoleBinding beskriver, hvordan tilladelser tildeles. Den knytter et Subject (User, ServiceAccount eller Group) til en Role.

Ligesom Roles er RoleBindings begrænset til et namespace. Det betyder, at bindingen giver Subject'et de tilladelser, der er defineret i Role, men kun i dette bestemte namespace.

RBAC's kernebegreber: ClusterRoleBindings

En ClusterRoleBinding knytter et Subject til en ClusterRole. Fordi ClusterRoles er begrænset til klyngen, giver en ClusterRoleBinding tilladelser i hele klyngen.

Brug ClusterRoleBindings med omtanke, da de giver bred adgang. De bruges typisk til klyngeadministratorer eller komponenter på systemniveau.

Eksempel: Oprettelse af en Service Account

Lad os oprette en Service Account med navnet my-app-sa i default-namespace'et. Denne Service Account skal være identiteten for en fremtidig pod til et program.

Kør denne kommando i din terminal:

kubectl create serviceaccount my-app-sa -n default

Eksempel: Definition af en Role til læsning af Pods

Lad os nu definere en Role med navnet pod-reader i default-namespace'et. Denne Role giver subjekter mulighed for at get, list og watch pods.

Gem denne YAML som pod-reader-role.yaml, og anvend den med kubectl apply -f pod-reader-role.yaml:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: pod-reader
  namespace: default
rules:
- apiGroups: [""] # Core API group
  resources: ["pods", "pods/log"]
  verbs: ["get", "list", "watch"]

Eksempel: Binding af rollen

Til sidst opretter vi en RoleBinding med navnet read-pods-binding, som knytter vores Service Account my-app-sa til rollen pod-reader i default-namespace'et.

Gem denne YAML som pod-reader-binding.yaml, og anvend den:

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods-binding
  namespace: default
subjects:
- kind: ServiceAccount
  name: my-app-sa
  namespace: default
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io

Hurtigt tjek: RBAC-ressourcer

Hvilken Kubernetes-ressource bruges til at give en Service Account tilladelser i hele klyngen?

RBAC: Vigtigste pointer

Du har lært det grundlæggende om Kubernetes RBAC!

  • Subjekter: Hvem der udfører handlingen (Users, Service Accounts og Groups).
  • Roles/ClusterRoles: Hvilke handlinger der er tilladt (begrænset til namespace eller klynge).
  • RoleBindings/ClusterRoleBindings: Hvordan subjekter knyttes til tilladelser (begrænset til namespace eller klynge).

Det er afgørende at kunne RBAC for at sikre dine Kubernetes-programmer og din infrastruktur. Bliv ved med at øve dig med forskellige sæt af tilladelser!

Gratis at komme i gang

Lær Docker og Kubernetes for udviklere med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Rollebaseret adgangskontrol (RBAC)” gratis?

Ja — hele teksten til “Rollebaseret adgangskontrol (RBAC)” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Docker og Kubernetes for udviklere-kurset, skal du opgradere til CoddyKit PRO. Docker og Kubernetes for udviklere-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Rollebaseret adgangskontrol (RBAC)”?

Konfigurer RBAC for sikkert at administrere bruger- og service account-tilladelser i Deres Kubernetes-cluster. Du øver dig i Docker og Kubernetes for udviklere med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Docker og Kubernetes for udviklere?

Der kræves ingen tidligere erfaring. Docker og Kubernetes for udviklere på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Rollebaseret adgangskontrol (RBAC)”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Docker og Kubernetes for udviklere-lektion?

Ja. Alle Docker og Kubernetes for udviklere-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Rollebaseret adgangskontrol (RBAC)
  2. Pod-sikkerhed og image scanning
  3. Sikring af Kubernetes-netværkstrafik
  4. Sikker håndtering af Secrets med eksterne secret stores
← Tilbage til Docker og Kubernetes for udviklere