Rollebaseret adgangskontrol (RBAC)
Konfigurer RBAC for sikkert at administrere bruger- og service account-tilladelser i Deres Kubernetes-cluster.
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 ogappsfor udrulninger.resources: De specifikke ressourcetyper, f.eks.podsogdeployments.verbs: De tilladte handlinger, f.eks.get,list,createogdelete.
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 defaultEksempel: 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.ioHurtigt 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!
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
- Rollebaseret adgangskontrol (RBAC)
- Pod-sikkerhed og image scanning
- Sikring af Kubernetes-netværkstrafik
- Sikker håndtering af Secrets med eksterne secret stores