Kubernetes Kyverno

Reading time: 3 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

इस पृष्ठ के मूल लेखक हैं Guillaume

परिभाषा

Kyverno एक ओपन-सोर्स, नीति प्रबंधन ढांचा है जो Kubernetes के लिए है, जो संगठनों को अपनी पूरी Kubernetes अवसंरचना में नीतियों को परिभाषित, लागू और ऑडिट करने में सक्षम बनाता है। यह Kubernetes क्लस्टरों की सुरक्षा, अनुपालन और शासन प्रबंधन के लिए एक स्केलेबल, विस्तारित और अत्यधिक अनुकूलन योग्य समाधान प्रदान करता है।

उपयोग के मामले

Kyverno का उपयोग विभिन्न उपयोग के मामलों में किया जा सकता है, जिसमें शामिल हैं:

  1. नेटवर्क नीति प्रवर्तन: Kyverno का उपयोग नेटवर्क नीतियों को लागू करने के लिए किया जा सकता है, जैसे कि पॉड या सेवाओं के बीच ट्रैफ़िक को अनुमति देना या अवरुद्ध करना।
  2. गुप्त प्रबंधन: Kyverno का उपयोग गुप्त प्रबंधन नीतियों को लागू करने के लिए किया जा सकता है, जैसे कि गुप्तों को एक विशिष्ट प्रारूप या स्थान में संग्रहीत करने की आवश्यकता।
  3. एक्सेस नियंत्रण: Kyverno का उपयोग एक्सेस नियंत्रण नीतियों को लागू करने के लिए किया जा सकता है, जैसे कि उपयोगकर्ताओं को कुछ संसाधनों तक पहुँचने के लिए विशिष्ट भूमिकाएँ या अनुमतियाँ होने की आवश्यकता।

उदाहरण: ClusterPolicy और नीति

मान लीजिए कि हमारे पास कई नामस्थान वाले Kubernetes क्लस्टर हैं, और हम एक नीति लागू करना चाहते हैं जो default नामस्थान में सभी पॉड्स के पास एक विशिष्ट लेबल होना आवश्यक है।

ClusterPolicy

ClusterPolicy एक उच्च-स्तरीय नीति है जो समग्र नीति इरादे को परिभाषित करती है। इस मामले में, हमारी ClusterPolicy इस तरह दिख सकती है:

yaml
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

जब default namespace में app: myapp लेबल के बिना एक pod बनाया जाता है, तो Kyverno अनुरोध को ब्लॉक कर देगा और एक त्रुटि संदेश लौटाएगा जो यह दर्शाता है कि pod नीति आवश्यकताओं को पूरा नहीं करता है।

संदर्भ

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें