Konfigurer POD Security Admission i Kubernetes

Konfigurer POD Security Admission i Kubernetes
POD Security Admission in Kubernetes er en funksjon som gir sikkerhetsfunksjoner på Pods som kjører i et navneområde. Standardene lar oss sette begrensninger på at oppførselen til belgene enkelt og konsekvent. I denne guiden er vi i ferd med å POD Security Administration. Vi lærer hvordan du konfigurerer POD -sikkerhet på pods som kjører i et navneområde ved hjelp av et grunnleggende scenario.

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:

  • Ubuntu 22.04 eller noen annen siste versjon
  • Kubernetes Cluster V1.22 med -Feature -Gates = “.. .,Podsecurity = True ”Flag aktivert
  • Minikube Cluster
  • Kubectl kommandolinjeverktøy

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 Start

Denne 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-Privileged

Det andre navneområdet vil bli opprettet med den begrensede policyen, ved å bruke kommandoen gitt nedenfor:

> KUBECTL Lag navneområde testbegrenset

Trinn 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 = privilegert

Vi 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 = begrenset

Disse 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.Yaml

For 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.Yaml

Da 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 -Privileged

Merk 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 -Begrenset

Det 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-privilegert

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