Hva er POD Security Admission i Kubernetes?
For å håndheve POD -sikkerhetsstandarder på POD -er som kjører i et navneområde, Kubernetes V1.22 har en innebygd opptakskontroller som heter POD Security Admission. Disse standardene brukes til å angi klyngebaserte unntak og mislighold. For å konfigurere POD Security Admission, må du ha minimum V1.22 Kubernetes og Podsecurity Feature Gate aktivert. Alfa -utgivelse av Kubernetes v1.22 har POD Security Policy (PSP) som er blitt avskrevet i Kubernetes V1.25. Nå er forbedringen av POD Security Policy (PSP) kjent som POD Security Admission (PSA). I motsetning til POD -sikkerhetspolitikk, støtter ikke POD Security Admission Mutation Resources, men den validerer opptakskontrolleren.
Videre har POD -sikkerhetsstandarder definert tre nivåer for POD -sikkerhetsinnleggelse: baseline, begrenset og privilegert. Disse nivåene er plassert i en sikkerhetssammenheng av en pod og forskjellige andre felt av POD -sikkerhetsopptaket. Etter å ha konfigurert opptakskontrollmodus for POD -sikkerhet for hvert navneområde, kan du angi navneområdet for å spesifisere den modusen. Settet med etiketter levert av Kubernetes lar deg velge et hvilket som helst POD -sikkerhetsstandardnivå for et navneområde. La oss nå lære å konfigurere POD Security Admission ved hjelp av et enkelt eksempel.
Forutsetninger
Før du går videre, må du sørge for at du har installert disse grunnleggende verktøyene og de nødvendige funksjonene aktivert:
Når du har konfigurert disse verktøyene i systemet ditt, er du klar til å konfigurere POD Security Admission i Kubernetes. Gå videre til implementeringsdelen forutsatt at du allerede har installert alle disse forutsetningene.
Hvordan konfigurere opptak av POD -sikkerhet?
Følg trinnene gitt nedenfor og konfigurer enkelt POD Security -opptaket i Kubernetes for systemet ditt.
Trinn 1: Start Kubernetes
Først trenger vi Minikube -klyngen i gang. Så for det vil vi bruke kommandoen gitt nedenfor for å starte den på riktig måte:
> Minikube StartDenne kommandoen sikrer at Minikube -klyngen fungerer, slik at du kan implementere kommandoen din og kjøre applikasjoner i klyngen.
Trinn 2: Håndheve POD Security Admission med distribusjon
Det er tre nivåer definert av POD -sikkerhetsstandarder: grunnlinje, privilegium og begrenset. Her vil vi håndheve en POD -sikkerhetsopptak på to nivåer av POD -sikkerhetsstandarder, privilegerte og begrensede.
Trinn 2 (a): Lag navneområder for belg
Først vil vi lage to navnefelt. For det første navneområde vil bli opprettet med den privilegerte policyen ved å bruke kommandoen gitt nedenfor:
> Kubectl Opprett navneområde Test-PrivilegedDet andre navneområdet vil bli opprettet med den begrensede policyen, ved å bruke kommandoen gitt nedenfor:
> KUBECTL Lag navneområde testbegrensetTrinn 2 (b): Angi sikkerhetsstandarder på navnefeltet
Nå må vi sette sikkerhetsstandarder for navneområdene som vi har opprettet i forrige trinn. For å angi sikkerhetsstandarden for den privilegerte policyen, bruker vi kommandoen gitt nedenfor:
> KUBECTL LABEL-OVERWRITE NS TEST-PRIVILED POD-SIKKERHET.Kubernetes.io/håndheve = privilegert pod-sikkerhet.Kubernetes.io/advarsel = privilegertVi bruker kommandoen nedenfor for å angi sikkerhetsstandarden for den begrensede policyen:
> KUBECTL LABEL-OVERWRITE NS Testbegrenset pod-Security.Kubernetes.io/håndheve = begrenset pod-sikkerhet.Kubernetes.io/advarsel = begrensetDisse standardene vil tillate navnefeltet å blokkere enhver løpende pod og vil sende en advarsel til brukeren hvis noen pod prøver å kjøre i tilfelle å ikke oppfylle den konfigurerte policyen. La oss nå prøve å distribuere pods på navneområdet for å sjekke hvilket resultat vi får.
Trinn 3: Distribuer pods på navneområder
Navneområdene er opprettet og sikkerhetsstandarder er satt på dem. Så la oss distribuere pods på disse POD-sikkerhetsadministrerte navneområdene.
Trinn 3 (a): Forsøk å distribuere pods
Først distribuerer vi pods på den privilegerte policyen ved å bruke kommandoen gitt nedenfor:
Kalsoom@Kalsoom-VirtualBox> Kubectl Apply-Namespace Test-Privileged -F https: // RAW.GitHubUserContent.COM/Azure-Subples/Azure-VoTing-App-Redis/Master/Azure-Vote-All-in-One-Redis.YamlFor det andre, ved å bruke kommandoen som er gitt nedenfor, distribuerer vi pods på den privilegerte policyen:
Kalsoom@Kalsoom-VirtualBox> Kubectl Apply-Namespace Test-Begrenset -f https: // RAW.GitHubUserContent.COM/Azure-Subples/Azure-VoTing-App-Redis/Master/Azure-Vote-All-in-One-Redis.YamlDa vi forsøkte å distribuere pods på den begrensede politikken, ble en advarsel generert, som det kan sees. Ettersom pods bryter den konfigurerte policyen, er denne advarselen blitt generert. Det er ingen advarsel generert for den privilegerte policyen fordi ingen POD har krenket den konfigurerte policyen.
Trinn 3 (b): Bekreft løpende belg i navneområder
La oss nå sjekke om det er noen pod som kjører i navneområdene eller ikke. Først vil vi sjekke den privilegerte policyen med følgende kommando:
> Kubectl Get Pods -Namespace Test -PrivilegedMerk at noen belg kjører i navneområdet. Det ble ikke generert noen advarsler for den privilegerte policyen, noe som betyr at noen pods kjører i navneområdet som ikke bryter den konfigurerte policyen. La oss nå sjekke om det er noen pod som kjører i det begrensede navneområdet med følgende kommando:
> Kubectl Get Pods -Namespace Test -BegrensetDet er ingen pod som kjører i det begrensede navneområdet. Husk at vi fikk advarselen om at noen pods har krenket den konfigurerte policyen i forrige trinn.
Trinn 4: Slett navneområdet
Det siste trinnet er å slette navneområdene som vi har opprettet. Bruk kommandoen gitt nedenfor for å slette navnefeltet:
> KUBECTL Slett navneområde Testbegrenset test-privilegertDenne kommandoen vil slette begge navnefeltet fra klyngen.
Konklusjon
I denne artikkelen ga vi retningslinjer for POD Security Admission (PSA) i Kubernetes. Vi utforsket hva en POD -sikkerhetsinnleggelse i Kubernetes er. Vi lærte også hvordan du konfigurerer POD Security Admission i Kubernetes for belgene som kjører i et navneområde. Ved å demonstrere et enkelt scenario, demonstrerte vi hvordan du enkelt kan konfigurere POD -sikkerhetsopptaket for podene som kjører i forskjellige navnefelt.