إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
المكون الإضافي kubelogin في Azure هو مكون إضافي لبيانات الاعتماد من العميل الذي ينفذ مصادقة Microsoft Entra. يوفر المكون الإضافي kubelogin ميزات غير متوفرة في أداة سطر الأوامر kubectl. لمزيد من المعلومات، راجع مقدمة kubelogin ومقدمة kubectl.
تقدم هذه المقالة نظرة عامة وأمثلة حول كيفية استخدام kubelogin لجميع طرق مصادقة Microsoft Entra المدعومة في AKS.
قيود مصادقة Kubelogin في AKS
- المجموعات التي يتم إنشاؤها في Microsoft Entra تدرج فقط بقيمة ObjectID ، وليس باسم العرض الخاص بها.
sAMAccountNameيتوفر الأمر فقط للمجموعات التي تتم مزامنتها من Windows Server Active Directory المحلي.
- لا تعمل طريقة مصادقة التعليمات البرمجية للجهاز عند تعيين نهج الوصول المشروط ل Microsoft Entra على مستأجر Microsoft Entra. في هذا السيناريو، استخدم المصادقة التفاعلية عبر متصفح الويب بدلا من ذلك.
- طريقة مصادقة Azure CLI تعمل فقط مع Microsoft Entra.
كيفية عمل المصادقة
إشعار
ضع في اعتبارك المعلومات التالية حول مصادقة kubelogin لمجموعات AKS المدمجة مع Microsoft Entra:
- تستخدم المجموعات التي تعمل كوبيرنتيز الإصدار 1.24 أو أحدثه تلقائيا صيغة كوبلوجين.
- تتطلب العناقيد التي تعمل بنظام Kubernetes 1.24 أو أقدمه التحويل اليدوي. يمكنك استخدام طريقة مصادقة كود الجهاز لتحويل ملف kubeconfig إلى تنسيق الإضافات exec.
بالنسبة لمعظم التفاعلات مع kubelogin، يمكنك استخدام convert-kubeconfig الأمر الفرعي. يستخدم الأمر الفرعي ملف kubeconfig المحدد في --kubeconfig أو في KUBECONFIG متغير البيئة لتحويل ملف kubeconfig النهائي إلى تنسيق exec استنادا إلى أسلوب المصادقة المحدد.
أساليب المصادقة التي ينفذها kubelogin هي تدفقات منح الرمز المميز Microsoft Entra OAuth 2.0. في كل طريقة مصادقة، لا يتم تخزين الرمز مؤقتا على نظام الملفات.
التحقق من صحة كود الجهاز
رمز الجهاز هو أسلوب المصادقة الافتراضي لأوامر فرعية convert-kubeconfig . يطالب أسلوب المصادقة هذا رمز الجهاز للمستخدم بتسجيل الدخول من جلسة عمل مستعرض.
إشعار
قبل تقديم المكونات الإضافية kubelogin وexec، كانت طريقة مصادقة Azure في kubectl تدعم تدفق التعليمات البرمجية للجهاز فقط. استخدم إصدارا سابقا من مكتبة تنتج رمزا مميزا يحتوي على المطالبة audience ببادئة spn: . ليست متوافقة مع Microsoft Entra، التي تستخدم تدفق نيابة عن (OBO). عند تشغيل convert-kubeconfig الأمر الفرعي، يزيل kubelogin البادئة spn: من مطالبة الجمهور.
معايير التحقق من شفرة الجهاز
يوضح الجدول التالي المعايير التي يمكنك استخدامها مع مصادقة كود الجهاز:
| البارامتر | وصف |
|---|---|
-l devicecode (اختياري) |
يحدد طريقة توثيق kubelogin. هذا المعامل اختياري لأن كود الجهاز هو الطريقة الافتراضية. |
--legacy |
يستخدم سلوك قديم للإصدارات السابقة من عناقيد Azure Active Directory. إذا كنت تستخدم ملف kubeconfig في إصدار سابق من مجموعة Azure Active Directory، فإن kubelogin يضيف العلامة --legacy تلقائيا. |
--token-cache-dir |
يتجاوز المسار الافتراضي لمجلد ذاكرة التخزين المؤقت للرموز، وهو ${HOME}/.kube/cache/kubelogin. |
Azure CLI authentication
تستخدم طريقة مصادقة Azure CLI (command: -l azurecli) السياق المسجلة الذي ينشئه Azure CLI للحصول على رمز الوصول. يتم إصدار الرمز المميز في نفس مستأجر Microsoft Entra مثل az login. Kubelogin لا يكتب الرموز إلى ملف ذاكرة التخزين المؤقت لأن واجهة Azure CLI تديرها بالفعل.
Parameters for Azure CLI authentication
الجدول التالي يوضح المعلمات التي يمكنك استخدامها مع مصادقة Azure CLI:
| البارامتر | وصف |
|---|---|
-l azurecli |
يحدد طريقة توثيق kubelogin. |
--azure-config-dir |
يحدد دليل إعدادات Azure CLI. الدليل الافتراضي هو ${HOME}/.azure. |
تسجيل الدخول إلى Azure
سجل الدخول إلى Azure باستخدام az login الأمر .
az login
المصادقة التفاعلية في متصفح الويب
طريقة المصادقة التفاعلية (command: -l interactive) في متصفح الويب تفتح تلقائيا متصفح ويب لتسجيل دخول المستخدم. بعد التحقق من صحة المستخدم، يعيد المتصفح توجيهه إلى خادم الويب المحلي باستخدام بيانات الاعتماد الموثقة. يتوافق أسلوب المصادقة هذا مع نهج الوصول المشروط.
يمكنك استخدام رمز حامل أو رمز إثبات الحيازة (PoP) باستخدام هذه الطريقة للتوثيق.
معايير مصادقة رمز الحامل
يوضح الجدول التالي المعلمات التي يمكنك استخدامها مع مصادقة رمز الحامل:
| البارامتر | وصف |
|---|---|
-l interactive |
يحدد طريقة توثيق kubelogin. |
--token-cache-dir |
يتجاوز المسار الافتراضي لمجلد ذاكرة التخزين المؤقت للرموز، وهو ${HOME}/.kube/cache/kubelogin. |
معلمات مصادقة رموز PoP
يوضح الجدول التالي المعلمات التي يمكنك استخدامها مع مصادقة رموز PoP:
| البارامتر | وصف |
|---|---|
-l interactive |
يحدد طريقة توثيق kubelogin. |
--pop-enabled |
يتيح مصادقة رموز PoP. |
--pop-claims |
يحدد مطالبات رمز PoP بصيغة زوج مفتاح-قيمة. على سبيل المثال، u=/ARM/ID/OF/CLUSTER |
المصادقة الأساسية للخدمة
تستخدم طريقة مصادقة مبدأ الخدمة (الأمر: -l spn) اسم خدمة رئيسي لتسجيل دخول المستخدم. يمكنك توفير بيانات الاعتماد عن طريق تعيين متغير بيئة أو باستخدام بيانات الاعتماد في وسيطة سطر الأوامر. بيانات الاعتماد المدعومة التي يمكنك استخدامها هي كلمة مرور أو شهادة عميل تبادل المعلومات الشخصية (PFX).
معلمات مصادقة مبدأ الخدمة
يوضح الجدول التالي المعلمات التي يمكنك استخدامها مع مصادقة مبدأ الخدمة:
| البارامتر | وصف |
|---|---|
-l spn |
يحدد طريقة توثيق kubelogin. |
--client-id |
معرف التطبيق (معرف العميل) لصاحب الخدمة. |
--client-secret |
سر العميل لمدير الخدمة. |
استخدام مُصادقة الهوية المدارة
استخدم طريقة المصادقة المدارة للهوية (command: -l msi) للتطبيقات التي تتصل بالموارد التي تدعم مصادقة Microsoft Entra. تشمل الأمثلة الوصول إلى موارد Azure مثل آلة افتراضية (VM)، أو مجموعة مقياس الآلة الافتراضية، أو Azure Cloud Shell.
يمكنك استخدام الهوية المدارة الافتراضية التي تم تعيينها للمورد أو هوية مدارة معينة من قبل المستخدم.
معايير المصادقة المدارة للهوية
يوضح الجدول التالي المعلمات التي يمكنك استخدامها مع إدارة التحقق من هوية:
| البارامتر | وصف |
|---|---|
-l msi |
يحدد طريقة توثيق kubelogin. |
--client-id |
معرف التطبيق (معرف العميل) للهوية المدارة المعينة من قبل المستخدم. إذا لم تحدد هذا المعامل، يتم استخدام الهوية المدارة الافتراضية. |
مصادقة هوية عبء العمل
تستخدم طريقة مصادقة هوية عبء العمل (command: -l workloadidentity) بيانات اعتماد الهوية التي يتم اتحادها مع Microsoft Entra لتوثيق الوصول إلى مجموعات AKS. يستخدم الأسلوب مصادقة Microsoft Entra المتكاملة. يعمل عن طريق تعيين متغيرات البيئة التالية:
| عامل | وصف |
|---|---|
AZURE_CLIENT_ID |
معرف تطبيق Microsoft Entra الذي يتم توحيده مع هوية عبء العمل. |
AZURE_TENANT_ID |
معرف المستأجر في Microsoft Entra. |
AZURE_FEDERATED_TOKEN_FILE |
الملف الذي يحتوي على تأكيد موقع لهوية عبء العمل، مثل رمز حساب الخدمة المتوقع (JWT) في Kubernetes. |
AZURE_AUTHORITY_HOST |
رابط القاعدة لسلطة من Microsoft Entra. على سبيل المثال، https://login.microsoftonline.com/ |
يمكنك استخدام هوية حمل العمل للوصول إلى مجموعات Kubernetes من أنظمة CI/CD مثل GitHub أو ArgoCD دون تخزين بيانات اعتماد كيان الخدمة في الأنظمة الخارجية. لتكوين اتحاد OpenID Connect (OIDC) من GitHub، راجع مثال اتحاد OIDC.
معلمات مصادقة هوية العمال
يوضح الجدول التالي المعلمات التي يمكنك استخدامها مع مصادقة هوية العمال العملي:
| البارامتر | وصف |
|---|---|
-l workloadidentity |
يحدد طريقة توثيق kubelogin. |
تصدير مسار ملف kubeconfig
قبل تشغيل convert-kubeconfig الأمر الفرعي، قم بتصدير مسار ملف kubeconfig إلى KUBECONFIG متغير البيئة. على سبيل المثال:
export KUBECONFIG=/path/to/kubeconfig
تحويل ملف kubeconfig
شغل convert-kubeconfig الأمر الفرعي لتحويل ملف kubeconfig لاستخدام إضافة exec لطريقة المصادقة التي اخترتها.
kubelogin convert-kubeconfig
kubelogin convert-kubeconfig -l azurecli
# Bearer token authentication
kubelogin convert-kubeconfig -l interactive
# Proof-of-Possession (PoP) token authentication
kubelogin convert-kubeconfig -l interactive --pop-enabled --pop-claims "u=/ARM/ID/OF/CLUSTER"
شغل
convert-kubeconfigالأمر الفرعي لتحويل ملف kubeconfig لاستخدام إضافة exec.kubelogin convert-kubeconfig -l spnحدد متغيرات البيئة لمعرف العميل وسر العميل أو شهادة العميل. على سبيل المثال:
export AZURE_CLIENT_ID=<service-principal-client-id> export AZURE_CLIENT_SECRET=<service-principal-client-secret>
# Default managed identity authentication
kubelogin convert-kubeconfig -l msi
# Specific managed identity authentication
kubelogin convert-kubeconfig -l msi --client-id <managed-identity-client-id>
kubelogin convert-kubeconfig -l workloadidentity
إزالة الرموز المخزنة مؤقتا
قم بإزالة الرموز المخزنة مؤقتا باستخدام kubelogin remove-tokens الأمر.
kubelogin remove-tokens
احصل على معلومات العقدة
احصل على معلومات العقدة باستخدام kubectl get الأمر.
kubectl get nodes
كيفية استخدام kubelogin مع AKS
تستخدم AKS زوجا من تطبيقات Microsoft Entra التابعة لجهة أولى. معرفات التطبيق هذه هي نفسها في جميع البيئات.
معرف تطبيق خادم AKS Microsoft Entra (server-id) الذي يستخدمه جانب الخادم هو 6dae42f8-4368-4678-94ff-3960e28e3630. يجب إصدار رمز الوصول الذي يصل إلى مجموعات AKS لهذا التطبيق. في معظم أساليب مصادقة kubelogin، يجب عليك استخدام --server-id مع kubelogin get-token.
معرف تطبيق العميل في Microsoft Entra (معرف العميل) AKS الذي يستخدمه kubelogin لأداء مصادقة العميل العامة نيابة عن المستخدم هو 80faf920-1908-4b52-b5ef-a8e7bedfc67a. يتم استخدام معرف تطبيق العميل في التعليمات البرمجية للجهاز وأساليب المصادقة التفاعلية لمستعرض الويب.
المحتوى ذو الصلة
- تعلم كيفية دمج AKS مع Microsoft Entra في مقال تعليمات تكامل Microsoft Entra .
- للبدء في الهويات المدارة في AKS، راجع استخدام هوية مدارة في AKS.
- لبدء استخدام هويات حمل العمل في AKS، راجع استخدام هوية حمل العمل في AKS.