Kubernetes SecurityContext(s)
PodSecurityContext
Pod की सुरक्षा संदर्भ को निर्दिष्ट करते समय आप कई विशेषताओं का उपयोग कर सकते हैं। एक सुरक्षात्मक सुरक्षा के दृष्टिकोण से आपको यह ध्यान में रखना चाहिए:
runASNonRoot को True के रूप में रखें
runAsUser को कॉन्फ़िगर करें
संभव हो सके तो, seLinuxOptions और seccompProfile को उदाहरण देकर अनुमतियों को सीमित करें
runAsGroup और supplementaryGroups के माध्यम से विशेषाधिकार समूह उपयोग न करें
fsGroup integer | एक विशेष अतिरिक्त समूह जो पॉड में सभी कंटेनर्स पर लागू होता है। कुछ वॉल्यूम प्रकारों को Kubelet को इस समूह के स्वामित्व को बदलने की अनुमति होती है ताकि यह पॉड के स्वामित्व में हो: 1. स्वामित्व GID FSGroup होगा 2. सेटजिड बिट सेट होता है (वॉल्यूम में नए फ़ाइलें FSGroup के स्वामित्व में होंगी) 3. अनुमति बिट्स rw-rw---- के साथ OR किए जाते हैं यदि निर्धारित नहीं किया गया हो, तो Kubelet किसी भी वॉल्यूम के स्वामित्व और अनुमतियों को संशोधित नहीं करेगा |
fsGroupChangePolicy string | यह परिभाषित करता है कि पॉड के भीतर प्रकट होने से पहले वॉल्यूम के स्वामित्व और अनुमति को बदलने का व्यवहार क्या होगा। |
runAsGroup integer | कंटेनर प्रक्रिया के एंट्रीपॉइंट को चलाने के लिए GID। यदि निर्धारित नहीं किया गया हो, तो रनटाइम डिफ़ॉल्ट का उपयोग किया जाएगा। सुरक्षा संदर्भ में भी सेट किया जा सकता है। |
runAsNonRoot boolean | इसका इंगित करता है कि कंटेनर को गैर-रूट उपयोगकर्ता के रूप में चलाना चाहिए। यदि सत्य है, तो Kubelet रनटाइम पर छवि की पुष्टि करेगा और सुनिश्चित करेगा कि यह UID 0 (रूट) के रूप में नहीं चलता है और यदि ऐसा होता है तो कंटेनर को प्रारंभ नहीं करेगा। |
runAsUser integer | कंटेनर प्रक्रिया के एंट्रीपॉइंट को चलाने के लिए UID। यदि निर्धारित नहीं किया गया हो, तो छवि मेटाडेटा में निर्दिष्ट उपयोगकर्ता का उपयोग किया जाएगा |
## सुरक्षा संदर्भ |
यह संदर्भ कंटेनर परिभाषाओं के भीतर सेट किया जाता है। एक सुरक्षात्मक सुरक्षा के दृष्टिकोण से आपको यह ध्यान में रखना चाहिए:
allowPrivilegeEscalation को False में सेट करें
संवेदनशील capabilities न जोड़ें (और उन्हें हटा दें जो आपको आवश्यक नहीं हैं)
privileged को False में सेट करें
संभव होने पर, readOnlyFilesystem को True में सेट करें
runAsNonRoot को True में सेट करें और एक runAsUser सेट करें
संभव होने पर, seLinuxOptions और seccompProfile को निर्दिष्ट करके permissions को सीमित करें
runAsGroup के माध्यम से privilege group उपयोग की पहुंच न दें।
ध्यान दें कि SecurityContext और PodSecurityContext में सेट किए गए गुणों में, SecurityContext में निर्दिष्ट मान का प्राथमिकता होता है।
allowPrivilegeEscalation boolean | AllowPrivilegeEscalation यह नियंत्रित करता है कि क्या एक प्रक्रिया अपने मूल प्रक्रिया की तुलना में अधिक विशेषाधिकार प्राप्त कर सकती है। यह बूल सीधे नियंत्रित करता है कि क्या no_new_privs झंडा कंटेनर प्रक्रिया पर सेट किया जाएगा। AllowPrivilegeEscalation हमेशा सत्य होता है जब कंटेनर Privileged के रूप में चलाया जाता है या CAP_SYS_ADMIN होता है |
capabilities Capabilities अधिक जानकारी के बारे में Capabilities | कंटेनर चलाने के समय जो capabilities जोड़ने/हटाने हैं। डिफ़ॉल्ट रूप से यह योग्यताओं का डिफ़ॉल्ट सेट होता है। |
privileged boolean | निहित कंटेनर मोड में कंटेनर चलाएँ। निहित कंटेनर में प्रक्रियाएं मूलतः होस्ट पर रूट के समान होती हैं। डिफ़ॉल्ट रूप से यह असत्य होता है। |
procMount string | procMount कंटेनर के लिए प्रोसेस माउंट के प्रकार को दर्शाता है। डिफ़ॉल्ट रूप से यह DefaultProcMount होता है जो कंटेनर रनटाइम की डिफ़ॉल्ट पठों के लिए रोड़ों और मास्क की डिफ़ॉल्ट सेट का उपयोग करता है। |
readOnlyRootFilesystem boolean | क्या इस कंटेनर में एक केवल पठ रूट फ़ाइल सिस्टम है। डिफ़ॉल्ट रूप से यह असत्य होता है। |
runAsGroup integer | कंटेनर प्रक्रिया के entrypoint को चलाने के लिए GID। यदि निर्धारित नहीं किया गया है, तो रनटाइम डिफ़ॉल्ट का उपयोग किया जाता है। |
runAsNonRoot boolean | इसका इंगित करता है कि कंटेनर एक गैर-रूट उपयोगकर्ता के रूप में चलना चाहिए। यदि सत्य है, तो Kubelet रनटाइम पर छवि की प्रमाणित करेगा कि यह UID 0 (रूट) के रूप में नहीं चलता है और यदि ऐसा होता है तो कंटेनर शुरू नहीं होगा। |
runAsUser integer | कंटेनर प्रक्रिया के entrypoint को चलाने के लिए UID। यदि निर्दिष्ट नहीं किया गया है, तो छवि मेटाडेटा में निर्दिष्ट उपयोगकर्ता का उपयोग किया जाता है। |
<a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1. |
Last updated