Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
aws-iam-authenticator — AWS IAM क्रेडेंशियल्स का उपयोग करके Kubernetes क्लस्टर में प्रमाणीकरण करने के लिए एक टूल | Kitploit
उपकरण/GitHubGitHub/kubernetes-sigs/aws-iam-authenticator
प्रमाणीकरण और प्राधिकरणक्लाउड इन्फ्रास्ट्रक्चर सुरक्षाक्लाउड सुरक्षापहचान और एक्सेस प्रबंधन (IAM)
GitHubkubernetes-sigs/aws-iam-authenticator

aws-iam-authenticator

AWS IAM क्रेडेंशियल्स का उपयोग करके Kubernetes क्लस्टर में प्रमाणीकरण करने के लिए एक टूल

रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
2.3k450461 दिन पहलेKitploit द्वारा समीक्षित

Kubernetes के लिए AWS IAM Authenticator

Kubernetes क्लस्टर में प्रमाणित करने के लिए AWS IAM क्रेडेंशियल्स का उपयोग करने का एक टूल। इस टूल पर प्रारंभिक कार्य Heptio द्वारा किया गया था। यह प्रोजेक्ट कई समुदाय इंजीनियरों से योगदान प्राप्त करता है और वर्तमान में Heptio और Amazon EKS OSS Engineers द्वारा अनुरक्षित है।

विषय-सूची

  • मुझे यह क्यों चाहिए?
  • मैं इसका उपयोग कैसे करूँ?
  • Kops उपयोग
  • यह कैसे काम करता है?
  • क्लस्टर ID क्या है?
  • क्रेडेंशियल्स निर्दिष्ट करना और AWS प्रोफ़ाइल का उपयोग करना
  • क्लस्टर के बाहर से API प्राधिकरण
  • समस्या निवारण
  • पूर्ण कॉन्फ़िगरेशन प्रारूप
  • विकास
  • समुदाय, चर्चा, योगदान और सहायता

मुझे यह क्यों चाहिए?

यदि आप AWS पर Kubernetes क्लस्टर चला रहे प्रशासक हैं, तो आपको क्लस्टर को प्रोविज़न और अपडेट करने के लिए पहले से ही AWS IAM क्रेडेंशियल्स का प्रबंधन करना होगा। Kubernetes के लिए AWS IAM Authenticator का उपयोग करके, आपको Kubernetes एक्सेस के लिए एक अलग क्रेडेंशियल का प्रबंधन करने से बचना होगा। AWS IAM कई अच्छे गुण भी प्रदान करता है, जैसे आउट ऑफ बैंड ऑडिट ट्रेल (CloudTrail के माध्यम से) और 2FA/MFA प्रवर्तन।

यदि आप AWS पर Kubernetes इंस्टॉलर बना रहे हैं, तो Kubernetes के लिए AWS IAM Authenticator आपकी बूटस्ट्रैप प्रक्रिया को सरल बना सकता है। आपको अपने नए इंस्टॉल किए गए क्लस्टर से अपने प्रारंभिक एडमिन क्रेडेंशियल को किसी तरह सुरक्षित रूप से बाहर निकालने की आवश्यकता नहीं होगी। इसके बजाय, आप क्लस्टर प्रोविज़निंग के समय एक समर्पित KubernetesAdmin भूमिका बना सकते हैं और क्लस्टर प्रशासक लॉगिन की अनुमति देने के लिए Authenticator सेट कर सकते हैं।

मैं इसका उपयोग कैसे करूँ?

यह मानते हुए कि आपके पास AWS में एक क्लस्टर चल रहा है और आप Kubernetes समर्थन के लिए AWS IAM Authenticator जोड़ना चाहते हैं, आपको यह करना होगा:

  1. उपयोगकर्ताओं की पहचान करने के लिए उपयोग की जाने वाली एक IAM भूमिका बनाएँ।
  2. Authenticator सर्वर को DaemonSet के रूप में चलाएँ।
  3. अपने API सर्वर को Authenticator से बात करने के लिए कॉन्फ़िगर करें।
  4. kubectl को Authenticator टोकन का उपयोग करने के लिए सेट करें।

1. एक IAM भूमिका बनाएँ

पहले, आपको एक या अधिक IAM भूमिकाएँ बनानी होंगी जो आपके Kubernetes क्लस्टर के भीतर उपयोगकर्ताओं/समूहों से मैप की जाएँगी। ऐसा करने का सबसे आसान तरीका AWS Console में लॉग इन करना है:

  • "Role for cross-account access" / "Provide access between AWS accounts you own" विकल्प चुनें।
  • अपना AWS खाता ID नंबर पेस्ट करें (कंसोल में ऊपर दाईं ओर उपलब्ध है)।
  • आपकी भूमिका को किसी अतिरिक्त नीति को संलग्न करने की आवश्यकता नहीं है।

यह बिना किसी अनुमति वाली एक IAM भूमिका बनाएगा जिसे आपके खाते में अधिकृत उपयोगकर्ता/भूमिकाएँ ग्रहण कर सकती हैं। अपनी भूमिका का Amazon Resource Name (ARN) नोट करें, जिसकी आपको नीचे आवश्यकता होगी।

आप AWS Console के बजाय AWS CLI का उपयोग करके इसे एक ही चरण में भी कर सकते हैं:

# get your account ID
ACCOUNT_ID=$(aws sts get-caller-identity --output text --query 'Account')

# define a role trust policy that opens the role to users in your account (limited by IAM policy)
POLICY=$(echo -n '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::'; echo -n "$ACCOUNT_ID"; echo -n ':root"},"Action":"sts:AssumeRole","Condition":{}}]}')

# create a role named KubernetesAdmin (will print the new role's ARN)
aws iam create-role \
  --role-name KubernetesAdmin \
  --description "Kubernetes administrator role (for AWS IAM Authenticator for Kubernetes)." \
  --assume-role-policy-document "$POLICY" \
  --output text \
  --query 'Role.Arn'

आप इस चरण को छोड़ भी सकते हैं और इसका उपयोग कर सकते हैं:

  • एक मौजूदा भूमिका (जैसे क्रॉस-अकाउंट एक्सेस भूमिका)।
  • एक IAM उपयोगकर्ता (नीचे mapUsers देखें)।
  • एक EC2 इंस्टेंस या एक फ़ेडरेटेड भूमिका (नीचे mapRoles देखें)।

2. सर्वर चलाएँ

सर्वर को आपके प्रत्येक मास्टर नोड पर host networking के साथ DaemonSet के रूप में चलाने के लिए बनाया गया है ताकि यह एक localhost पोर्ट उजागर कर सके।

एक नमूना ConfigMap और DaemonSet कॉन्फ़िगरेशन के लिए, deploy/example.yaml देखें। इसे लागू करने से पहले, अपने क्लस्टर के लिए इन मानों को अपडेट करें:

  • config.yaml में प्लेसहोल्डर IAM ARNs (arn:aws:iam::000000000000:...) बदलें।
  • clusterID को अपने क्लस्टर के लिए एक अद्वितीय मान पर सेट करें।
  • सत्यापित करें कि DaemonSet शेड्यूलिंग नियम आपके control-plane नोड लेबल/taints से मेल खाते हैं।

फिर इसे डिप्लॉय करें:

kubectl apply -f deploy/example.yaml
kubectl -n kube-system rollout status daemonset/aws-iam-authenticator
kubectl -n kube-system get pods -l k8s-app=aws-iam-authenticator

एक बार pod कंट्रोल-प्लेन नोड पर चलने लगे, तो aws-iam-authenticator server होस्ट पर /etc/kubernetes/aws-iam-authenticator/kubeconfig.yaml पर webhook kubeconfig बना देगा (या --generate-kubeconfig के माध्यम से कॉन्फ़िगर किया गया पथ)।

(वैकल्पिक) पहले से एक प्रमाणपत्र, कुंजी और kubeconfig जनरेट करें

यदि आप एक स्वचालित इंस्टॉलर बना रहे हैं, तो आप aws-iam-authenticator init का उपयोग करके प्रमाणपत्र, कुंजी और webhook kubeconfig फ़ाइलों को आसानी से पहले से जनरेट भी कर सकते हैं। यह कमांड फ़ाइलें जनरेट करेगा और उन्हें कॉन्फ़िगर की गई आउटपुट निर्देशिकाओं में रखेगा।

आप API सर्वर शुरू करने से पहले प्रत्येक मास्टर नोड पर इसे चला सकते हैं। आप मास्टर नोड्स को प्रोविज़न करने से पहले भी इन्हें जनरेट कर सकते हैं और उन्हें उपयुक्त होस्ट पथों में इंस्टॉल कर सकते हैं।

यदि आप फ़ाइलें पहले से जनरेट नहीं करते हैं, तो aws-iam-authenticator server उन्हें मांग पर जनरेट करेगा। यह काम करता है लेकिन इसके लिए आवश्यक है कि आप इंस्टॉलेशन के बाद अपने Kubernetes API सर्वर को पुनः आरंभ करें।

3. अपने API सर्वर को सर्वर से बात करने के लिए कॉन्फ़िगर करें

Kubernetes API token authentication webhook का उपयोग करके AWS IAM Authenticator for Kubernetes के साथ एकीकृत होता है। जब आप aws-iam-authenticator server चलाते हैं, तो यह एक webhook कॉन्फ़िगरेशन फ़ाइल जनरेट करेगा और उसे होस्ट फ़ाइलसिस्टम पर सहेजेगा। आपको अपने API सर्वर कॉन्फ़िगरेशन में एक अतिरिक्त फ़्लैग जोड़ना होगा:

--authentication-token-webhook-config-file=/etc/kubernetes/aws-iam-authenticator/kubeconfig.yaml

कई क्लस्टरों पर, API सर्वर एक स्टैटिक पॉड के रूप में चलता है। आप /etc/kubernetes/manifests/kube-apiserver.yaml में फ़्लैग जोड़ सकते हैं। सुनिश्चित करें कि होस्ट डायरेक्टरी /etc/kubernetes/aws-iam-authenticator/ आपके API सर्वर पॉड में माउंट की गई है। अपडेट किए गए स्टैटिक पॉड डेफ़िनिशन को पिक अप करने के लिए आपको अपने मास्टर नोड पर kubelet डेमन को पुनः आरंभ करना भी पड़ सकता है:

systemctl restart kubelet.service

4. kubernetes उपयोगकर्ता/समूह मैपिंग के लिए IAM भूमिका/उपयोगकर्ता बनाएं

सर्वर का डिफ़ॉल्ट व्यवहार यह है कि वह मैपिंग को विशेष रूप से अपनी कॉन्फ़िगरेशन फ़ाइल के mapUsers और mapRoles फ़ील्ड से प्राप्त करता है। विवरण के लिए नीचे पूर्ण कॉन्फ़िगरेशन प्रारूप देखें।

--backend-mode फ़्लैग का उपयोग करके, आप सर्वर को दो अतिरिक्त बैकएंड से मैपिंग प्राप्त करने के लिए कॉन्फ़िगर कर सकते हैं: एक EKS-शैली का ConfigMap (--backend-mode=EKSConfigMap) या IAMIdentityMapping कस्टम संसाधन (--backend-mode=CRD)। डिफ़ॉल्ट बैकएंड, सर्वर कॉन्फ़िगरेशन फ़ाइल जिसे सर्वर पॉड द्वारा माउंट किया जाता है, --backend-mode=MountedFile के अनुरूप है।

टूल डाउनलोड करें