Kubernetes Kyverno
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Oryginalnym autorem tej strony jest Guillaume
Definicja
Kyverno to otwartoźródłowy framework zarządzania politykami dla Kubernetes, który umożliwia organizacjom definiowanie, egzekwowanie i audytowanie polityk w całej infrastrukturze Kubernetes. Oferuje skalowalne, rozszerzalne i wysoce konfigurowalne rozwiązanie do zarządzania bezpieczeństwem, zgodnością i zarządzaniem klastrami Kubernetes.
Przykłady użycia
Kyverno może być używane w różnych przypadkach użycia, w tym:
- Egzekwowanie polityki sieciowej: Kyverno może być używane do egzekwowania polityk sieciowych, takich jak zezwalanie lub blokowanie ruchu między podami lub usługami.
- Zarządzanie sekretami: Kyverno może być używane do egzekwowania polityk zarządzania sekretami, takich jak wymaganie, aby sekrety były przechowywane w określonym formacie lub lokalizacji.
- Kontrola dostępu: Kyverno może być używane do egzekwowania polityk kontroli dostępu, takich jak wymaganie, aby użytkownicy mieli określone role lub uprawnienia do uzyskania dostępu do określonych zasobów.
Przykład: ClusterPolicy i Policy
Załóżmy, że mamy klaster Kubernetes z wieloma przestrzeniami nazw i chcemy egzekwować politykę, która wymaga, aby wszystkie pody w przestrzeni nazw default miały określoną etykietę.
ClusterPolicy
ClusterPolicy to polityka na wysokim poziomie, która definiuje ogólny zamiar polityki. W tym przypadku nasza ClusterPolicy może wyglądać tak:
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: require-label
spec:
rules:
- validate:
message: "Pods in the default namespace must have the label 'app: myapp'"
match:
any:
- resources:
kinds:
- Pod
namespaceSelector:
matchLabels:
namespace: default
- any:
- resources:
kinds:
- Pod
namespaceSelector:
matchLabels:
namespace: default
validationFailureAction: enforce
Gdy pod jest tworzony w przestrzeni nazw default bez etykiety app: myapp, Kyverno zablokuje żądanie i zwróci komunikat o błędzie wskazujący, że pod nie spełnia wymagań polityki.
References
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

