
Review Access - k8s सर्वर संसाधनों के लिए एक्सेस मैट्रिक्स दिखाने के लिए kubectl प्लगइन
पहुँच समीक्षा - सर्वर संसाधनों के लिए एक पहुँच मैट्रिक्स दिखाने वाला kubectl प्लगइन
क्या आपने कभी सोचा है कि आपके पास प्रदान किए गए Kubernetes क्लस्टर पर कौन से पहुँच अधिकार हैं?
एकल संसाधनों के लिए आप kubectl auth can-i list deployments का उपयोग कर सकते हैं, लेकिन शायद आप एक पूर्ण अवलोकन चाह रहे हैं?
यही rakkess के लिए है।
यह वर्तमान उपयोगकर्ता और सभी सर्वर संसाधनों के लिए पहुँच अधिकारों को सूचीबद्ध करता है, kubectl auth can-i --list के समान।
यह यह पता लगाने के लिए भी उपयोगी है कि किसी सर्वर संसाधन के साथ कौन बातचीत कर सकता है।
उप-कमांड rakkess resource नीचे देखें।

... क्लस्टर स्कोप पर
rakkess
... किसी नेमस्पेस में
rakkess --namespace default
... क्रियाओं के साथ
rakkess --verbs get,delete,watch,patch
... किसी अन्य उपयोगकर्ता के लिए
rakkess --as other-user
... किसी अन्य सेवा-खाते के लिए
rakkess --sa kube-system:namespace-controller
... और सामान्य kubectl पैरामीटर के साथ संयोजित करें
KUBECONFIG=otherconfig rakkess --context other-context

...सभी नेमस्पेस में वैश्विक रूप से (केवल ClusterRoleBindings पर विचार करता है)
rakkess resource configmaps
...किसी दिए गए नेमस्पेस में (RoleBindings और ClusterRoleBindings पर विचार करता है)
rakkess resource configmaps -n default
...शॉर्टहैंड नोटेशन के साथ
rakkess r cm # rakkess resource configmaps के समान
.. कस्टम क्रियाओं के साथ
rakkess r cm --verbs get,delete,watch,patch
कुछ भूमिकाएँ केवल एक विशिष्ट नाम वाले संसाधनों पर लागू होती हैं।
ऐसे कॉन्फ़िगरेशन की समीक्षा करने के लिए, अतिरिक्त तर्क के रूप में संसाधन का नाम प्रदान करें।
उदाहरण के लिए, नेमस्पेस ingress-nginx में ConfigMap नाम ingress-controller-leader-nginx के लिए पहुँच अधिकार दिखाएँ (पिछले उदाहरण से nginx-ingress-serviceaccount के सूक्ष्म अंतर पर ध्यान दें):

चूंकि rakkess resource को Roles, ClusterRoles, और उनकी बाइंडिंग को क्वेरी करने की आवश्यकता होती है, इसके लिए आमतौर पर प्रशासनिक क्लस्टर पहुँच की आवश्यकता होती है।
यह भी देखें Usage.
rakkess को स्थापित करने के कई तरीके हैं। अनुशंसित स्थापना विधि krew के माध्यम से है।
Krew एक kubectl प्लगइन प्रबंधक है। यदि आपने अभी तक krew स्थापित नहीं किया है, तो इसे यहाँ प्राप्त करें:
https://github.com/kubernetes-sigs/krew
फिर स्थापना उतनी ही सरल है:
kubectl krew install access-matrix
प्लगइन kubectl access-matrix के रूप में उपलब्ध होगा, अधिक जानकारी के लिए doc/USAGE देखें।
स्थापना के लिए बाइनरी का उपयोग करते समय, doc/USAGE भी देखें।
curl -LO https://github.com/corneliusweig/rakkess/releases/download/v0.5.0/rakkess-amd64-linux.tar.gz \
&& tar xf rakkess-amd64-linux.tar.gz rakkess-amd64-linux \
&& chmod +x rakkess-amd64-linux \
&& mv -i rakkess-amd64-linux $GOPATH/bin/rakkess
curl -LO https://github.com/corneliusweig/rakkess/releases/download/v0.5.0/rakkess-amd64-darwin.tar.gz \
&& tar xf rakkess-amd64-darwin.tar.gz rakkess-amd64-darwin \
&& chmod +x rakkess-amd64-darwin \
&& mv -i rakkess-amd64-darwin $GOPATH/bin/rakkess
https://github.com/corneliusweig/rakkess/releases/download/v0.5.0/rakkess-windows-amd64.zip
आवश्यकताएँ:
संकलन:
export PLATFORMS=$(go env GOOS)
make all # बाइनरी out/ में रखी जाएँगी
आवश्यकताएँ:
संकलन:
mkdir rakkess && chdir rakkess
curl -Lo Dockerfile https://raw.githubusercontent.com/corneliusweig/rakkess/master/Dockerfile
docker build . -t rakkess-builder
docker run --rm -v $PWD:/go/bin/ --env PLATFORMS=$(go env GOOS) rakkess
docker rmi rakkess-builder
बाइनरी वर्तमान निर्देशिका में रखी जाएँगी।
[1]: यह मोड kubectl-who-can से प्रेरित था।
| दूसरे rakkess के बारे में क्या कह रहे हैं? |
|---|
“वाह, यह काम की चीज़ लग रहा है! rakkess, एक kubectl प्लगइन जो सभी उपलब्ध संसाधनों के लिए एक पहुँच मैट्रिक्स दिखाता है।” – @mhausenblas |
“यह वास्तव में बहुत मददगार है। rakkess --as system:serviceaccount:my-ns:my-sa -n my-ns एक सेवा खाते का पहुँच मैट्रिक्स एक नेमस्पेस में प्रिंट करता है” – @fakod |
| “यह तो धमाका है। बहुत पसंद आया।” – @ralph_squillace |
| “इसने मेरा दिन बना दिया। खैर, आज नहीं बल्कि निश्चित रूप से मैं इसका बहुत उपयोग करूँगा।” – @Soukron |