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.3k450327 दिन पहलेKitploit द्वारा समीक्षित

AWS IAM Authenticator for Kubernetes

A tool to use AWS IAM credentials to authenticate to a Kubernetes cluster. The initial work on this tool was driven by Heptio. The project receives contributions from multiple community engineers and is currently maintained by Heptio and Amazon EKS OSS Engineers.

Table of Contents

  • Why do I want this?
  • How do I use it?
  • Kops Usage
  • How does it work?
  • What is a cluster ID?
  • Specifying Credentials & Using AWS Profiles
  • API Authorization from Outside a Cluster
  • Troubleshooting
  • Full Configuration Format
  • Development
  • Community, discussion, contribution, and support

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

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

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

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

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

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

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 का उपयोग करके भी यह एक ही चरण में कर सकते हैं:```sh

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'

आप इस चरण को भी छोड़ सकते हैं और निम्नलिखित का उपयोग कर सकते हैं:
 - एक मौजूदा role (जैसे cross-account access role)।
 - एक IAM user (नीचे `mapUsers` देखें)।
 - एक EC2 instance या एक federated role (नीचे `mapRoles` देखें)।

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

नमूना ConfigMap और DaemonSet कॉन्फ़िगरेशन के लिए, [`deploy/example.yaml`](https://github.com/kubernetes-sigs/aws-iam-authenticator/blob/master/deploy/example.yaml) देखें।
इसे लागू करने से पहले, अपने क्लस्टर के लिए इन मानों को अपडेट करें:
 - `config.yaml` में प्लेसहोल्डर IAM ARNs (`arn:aws:iam::000000000000:...`) बदलें।
 - `clusterID` को अपने क्लस्टर के लिए एक अद्वितीय मान पर सेट करें।
 - सत्यापित करें कि DaemonSet शेड्यूलिंग नियम आपके control-plane node labels/taints से मेल खाते हैं।

फिर इसे डिप्लॉय करें:```sh
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

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

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

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

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

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

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

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

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

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

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

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

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