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 का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
इस पृष्ठ के मूल लेखक हैं Guillaume
परिभाषा
Kyverno एक ओपन-सोर्स, नीति प्रबंधन ढांचा है जो Kubernetes के लिए है, जो संगठनों को अपनी पूरी Kubernetes अवसंरचना में नीतियों को परिभाषित, लागू और ऑडिट करने में सक्षम बनाता है। यह Kubernetes क्लस्टरों की सुरक्षा, अनुपालन और शासन प्रबंधन के लिए एक स्केलेबल, विस्तारित और अत्यधिक अनुकूलन योग्य समाधान प्रदान करता है।
उपयोग के मामले
Kyverno का उपयोग विभिन्न उपयोग के मामलों में किया जा सकता है, जिसमें शामिल हैं:
- नेटवर्क नीति प्रवर्तन: Kyverno का उपयोग नेटवर्क नीतियों को लागू करने के लिए किया जा सकता है, जैसे कि पॉड या सेवाओं के बीच ट्रैफ़िक को अनुमति देना या अवरुद्ध करना।
- गुप्त प्रबंधन: Kyverno का उपयोग गुप्त प्रबंधन नीतियों को लागू करने के लिए किया जा सकता है, जैसे कि गुप्तों को एक विशिष्ट प्रारूप या स्थान में संग्रहीत करने की आवश्यकता।
- एक्सेस नियंत्रण: Kyverno का उपयोग एक्सेस नियंत्रण नीतियों को लागू करने के लिए किया जा सकता है, जैसे कि उपयोगकर्ताओं को कुछ संसाधनों तक पहुँचने के लिए विशिष्ट भूमिकाएँ या अनुमतियाँ होने की आवश्यकता।
उदाहरण: ClusterPolicy और नीति
मान लीजिए कि हमारे पास कई नामस्थान वाले Kubernetes क्लस्टर हैं, और हम एक नीति लागू करना चाहते हैं जो default
नामस्थान में सभी पॉड्स के पास एक विशिष्ट लेबल होना आवश्यक है।
ClusterPolicy
ClusterPolicy एक उच्च-स्तरीय नीति है जो समग्र नीति इरादे को परिभाषित करती है। इस मामले में, हमारी ClusterPolicy इस तरह दिख सकती है:
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 का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।