Kubernetes Kyverno
Reading time: 3 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Originalni autor ove stranice je Guillaume
Definicija
Kyverno je open-source okvir za upravljanje politikama za Kubernetes koji omogućava organizacijama da definišu, sprovode i audituju politike širom svoje Kubernetes infrastrukture. Pruža skalabilno, proširivo i veoma prilagodljivo rešenje za upravljanje bezbednošću, usklađenošću i upravljanjem Kubernetes klasterima.
Upotrebe
Kyverno se može koristiti u raznim slučajevima, uključujući:
- Sprovođenje mrežnih politika: Kyverno se može koristiti za sprovođenje mrežnih politika, kao što su dozvoljavanje ili blokiranje saobraćaja između podova ili servisa.
- Upravljanje tajnama: Kyverno se može koristiti za sprovođenje politika upravljanja tajnama, kao što je zahtev da se tajne čuvaju u određenom formatu ili lokaciji.
- Kontrola pristupa: Kyverno se može koristiti za sprovođenje politika kontrole pristupa, kao što je zahtev da korisnici imaju određene uloge ili dozvole za pristup određenim resursima.
Primer: ClusterPolicy i Policy
Recimo da imamo Kubernetes klaster sa više namespace-ova, i želimo da sprovedemo politiku koja zahteva da svi podovi u default
namespace-u imaju određenu oznaku.
ClusterPolicy
ClusterPolicy je politika na visokom nivou koja definiše ukupnu nameru politike. U ovom slučaju, naša ClusterPolicy bi mogla izgledati ovako:
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
Kada se pod kreira u default
imenskom prostoru bez oznake app: myapp
, Kyverno će blokirati zahtev i vratiti poruku o grešci koja ukazuje da pod ne ispunjava zahteve politike.
References
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.