كيفية إنشاء/إضافة مستخدمين في Jenkins إدارة الأذونات

⚡ ملخص ذكي

إنشاء مستخدمين في Jenkins يتطلب الأمر أربع نقرات، لكن تعيين أذونات مختلفة لكل منها يتطلب إضافة "استراتيجية التخويل القائمة على الأدوار"، والتي تحل محل الدور العالمي الواحد لكل دور مدمج. Jenkins الحساب أو المشاركات.

  • 🔘 الحد المدمج: Jenkins يمكن إنشاء العديد من المستخدمين مباشرةً، ومع ذلك يحصل كل واحد منهم على نفس الامتيازات العامة.
  • ☑️ إضافة المكونات الإضافية أولاً: قم بتثبيت استراتيجية التخويل القائمة على الأدوار، ثم قم بالتبديل إلى استراتيجية التخويل القائمة على الأدوار قبل ظهور أي شاشة أدوار.
  • ثلاثة أنواع من الأدوار: تغطي الأدوار العامة وحدة التحكم بأكملها، وتستهدف أدوار العناصر الوظائف والمجلدات، وتستهدف أدوار الوكيل أجهزة البناء.
  • 🧪 مثال عملي: يتم إنشاء دور المطور، ومنحه الأذونات، وتعيينه للمستخدم guru99 على شاشة تعيين الأدوار.
  • 🛠️ مطابقة الأنماط: يستخدم دور العنصر تعبيرًا عاديًا مثل tester.* بحيث يتم اختيار الدور تلقائيًا لكل وظيفة أو مستخدم مطابق.
  • ⚙️ قاعدة السلامة: احتفظ بحساب واحد يحمل صلاحيات الإدارة العامة/المسؤولية في جميع الأوقات، وإلا فإن حفظ تغيير الدور قد يؤدي إلى حظر وصول الجميع.

كيفية إنشاء وإضافة مستخدمين في Jenkins وإدارة الأذونات

بشكل عام، في المؤسسات الكبيرة، توجد فرق متعددة ومنفصلة لإدارة وتنفيذ المهام Jenkinsلكن إدارة هذا الحشد من المستخدمين وتعيين الأدوار لهم قد يكون أمراً صعباً.

افتراضيا، Jenkins يأتي البرنامج بخيارات أساسية للغاية لإنشاء المستخدمين. يمكنك إنشاء عدة مستخدمين، ولكن لا يمكنك منحهم إلا نفس الأدوار والصلاحيات العامة. وهذا ليس مثاليًا، خاصةً للمؤسسات الكبيرة.

استخدم البرنامج المساعد لاستراتيجية الدور يُمكّنك هذا من تعيين أدوار وصلاحيات مختلفة لمستخدمين مختلفين. ستحتاج أولاً إلى تثبيت الملحق في Jenkins البيئة، لذا فإن الشرح أدناه يغطي إنشاء المستخدم أولاً، ثم المكون الإضافي، ثم شاشات الأدوار التي يفتحها.

كيفية إنشاء/إضافة مستخدم في Jenkins

فيما يلي خطوات إنشاء مستخدم جديد في Jenkins:

الخطوة 1) تسجيل الدخول إلى Jenkins لوحة التحكم

تسجيل الدخول إلى حسابك Jenkins يمكنك الوصول إلى لوحة التحكم من خلال زيارة http://localhost:8080/

إذا لم تقم بالتثبيت Jenkins في خادمك المحلي، انتقل إلى المكان المناسب URL ويمكنك الوصول إلى لوحة التحكم الخاصة بك باستخدام بيانات تسجيل الدخول الخاصة بك. ستظهر لك لوحة التحكم أدناه.

Jenkins تم فتح لوحة التحكم في المتصفح عند Jenkins مسار التثبيت

الخطوة 2) اختر الخيار

ستظهر لك الآن خيارات لإنشاء مستخدم وإضافته في Jenkins وإدارة المستخدمين الحاليين.

إدارة Jenkins شاشة تعرض خيارات إنشاء المستخدمين وإدارتهم

الخطوة 3) إنشاء مستخدم جديد

  • تحت الإدارة Jenkinsانقر فوق إنشاء مستخدم
  • أدخل Jenkins أضف تفاصيل المستخدم مثل كلمة المرور والاسم والبريد الإلكتروني وما إلى ذلك.
  • انقر فوق إنشاء مستخدم

الخطوة 4) يتم إنشاء المستخدم

سترى في لوحة التحكم أن هناك شيئًا جديدًا Jenkins تم إنشاء المستخدم وفقًا للتفاصيل المدخلة، كما هو موضح في قائمة المستخدمين أدناه.

قائمة المستخدمين على Jenkins لوحة التحكم بعد إنشاء المستخدم الجديد

⚠️ ملاحظة حول الإصدار: تيار Jenkins تُدرج الإصدارات هذه الشاشة على أنها إدارة Jenkins > المستخدمون بدلا من ادارة المستخدمين. إنشاء مستخدم الزر والحقول الموجودة عليه لم تتغير، والشاشة موجودة فقط أثناء Jenkinsتُعد قاعدة بيانات المستخدم الخاصة هي مجال الأمان - بينما يدير مجال LDAP أو تسجيل الدخول الموحد الحسابات خارجيًا بدلاً من ذلك.

كيفية تثبيت إضافة استراتيجية الأدوار في Jenkins

تتيح شاشة المستخدم المدمجة إنشاء حسابات، لكنها لا تمنحها صلاحيات مختلفة. تتوفر هذه الإمكانية مع إضافة "استراتيجية التخويل القائمة على الأدوار"، والتي يتم تثبيتها كما يلي.

توجد طريقتان لتثبيت الإضافات في Jenkins:

  1. تثبيته من خلال Jenkins لوحة أجهزة القياس
  2. تنزيل الملحق من Jenkins الموقع الإلكتروني وتثبيته يدويًا.

الخطوة 1)

  1. انتقل إلى البرنامج المساعد في التأليف إدارة Jenkins
  2. انقر على خيار إدارة الإضافات

إدارة Jenkins صفحة مع تمييز خيار إدارة الإضافات

الخطوة 2)

  1. في شاشة القسم المتاح، ابحث عن "دور".
  2. حدد الدوراستراتيجية التفويض القائمة على المساعد
  3. انقر على "التثبيت بدون إعادة التشغيل"(تأكد من أن لديك اتصال إنترنت نشط)

نتائج بحث مدير الإضافات التي تعرض إضافة "استراتيجية التخويل القائمة على الأدوار"

⚠️ ملاحظة حول الإصدار: الطريق الآن إدارة Jenkins > الإضافات والعلامة التبويب تحمل اسم الإضافات المتاحةمربع البحث واسم الإضافة متطابقان، لذا فإن الخطوتين المذكورتين أعلاه لا تزالان ساريتين.

الخطوة 3)

بمجرد تثبيت الملحق، ستظهر حالة "نجاح"، كما هو موضح في شاشة التثبيت أدناه.

شاشة تثبيت الملحق تعرض حالة نجاح ملحق استراتيجية الأدوار

انقر على العودة إلى الصفحة العليا.

الخطوة 4) انتقل إلى البرنامج المساعد في التأليف إدارة Jenkins -> تكوين الأمن العالمي -> تحت تفويض، حدد الاستراتيجية القائمة على الدور. انقر على التوفير يبدو قسم التفويض على هذا النحو.

قسم التفويض في شاشة الأمان العالمية مع تحديد استراتيجية قائمة على الأدوار

في التيار Jenkins رابط هذه الصفحة هو إدارة Jenkins > الأمنولا تزال الصفحة نفسها تحمل عنوانًا تكوين الأمان العالمي بنفس قائمة التفويض المنسدلة.

أنواع الأدوار في إضافة استراتيجية الأدوار

بمجرد تفعيل استراتيجية الأدوار، يوفر الملحق ثلاثة نطاقات أدوار منفصلة. يُعد اختيار النطاق الخاطئ السبب الأكثر شيوعًا لعدم ظهور أي تأثير للصلاحية، لذا من المفيد معرفة نطاق كل دور قبل إنشاء أي شيء.

نوع الدور مجال الاستخدام النموذجي
الأدوار العالمية كل Jenkins وحدة التحكم، وهي تتجاوز أي شيء مُحدد في أدوار العناصر مسؤول، دور للقراءة فقط يتطلب مصادقة، مجهول
أدوار العناصر الوظائف، وخطوط الأنابيب، والمجلدات التي يتطابق اسمها الكامل مع نمط التعبير النمطي منح فريق واحد فقط حقوق البناء والتكوين على مهامه الخاصة
أدوار الوكيل وكلاء البناء المطابقين لنمط معين السماح لفريق بالاتصال أو فصل عملائه

يستخدم البرنامج التعليمي أدناه دورًا عامًا لـ المطور ودور عنصر لـ فاحصلاحظ التسمية: يُطلق الملحق الآن على النطاق الثاني اسم أدوار العناصرلأنه يشمل المجلدات وخطوط الأنابيب بالإضافة إلى المهام العادية. الإصدارات الأقدم - ولقطات الشاشة الموجودة أسفل هذه الصفحة - تحمل نفس اسم الجدول. أدوار المشروع.

كيفية إدارة المستخدمين والأدوار في Jenkins

فيما يلي خطوات إدارة وتعيين الأدوار في Jenkins:

الخطوة 1)

  1. انتقل إلى البرنامج المساعد في التأليف إدارة Jenkins
  2. اختر إدارة وتعيين الأدوار

إدارة Jenkins صفحة تعرض إدخال "إدارة وتعيين الأدوار" الذي أضافه الملحق

ملاحظة: أن إدارة وتعيين الأدوار لن يظهر هذا الخيار إلا إذا قمت بتثبيت المكون الإضافي لاستراتيجية الأدوار وقمت بتحويل نظام التفويض إلى استراتيجية قائمة على الأدوار.

الخطوة 2) انقر على إدارة الأدوار لإضافة أدوار جديدة بناءً على مؤسستك.

شاشة إدارة وتعيين الأدوار مع خيار إدارة الأدوار

الخطوة 3) لإنشاء دور جديد يسمى "مطور"،

  1. اكتب "المطور" ضمن "الدور".
  2. انقر على "إضافة" لإنشاء دور جديد.
  3. الآن ، حدد Jenkins أذونات المستخدم التي تريد تعيينها لدور "المطور".
  4. انقر فوق حفظ

يظهر أدناه جدول مربعات الاختيار التي تظهر.

شاشة إدارة الأدوار مع إضافة دور المطور وتحديد صلاحياته

Jenkins مجموعات الأذونات التي يمكنك تعيينها لدور

تُصنّف مربعات الاختيار في شاشة إدارة الأدوار حسب العنصر الذي يؤثر عليه كل إذن. يوضح الجدول أدناه ما تتحكم فيه كل مجموعة، مما يُسهّل منح الحد الأدنى من الصلاحيات التي يحتاجها الفريق فعليًا.

مجموعة الإذن ما يمنحه
بشكل عام إدارة وقراءة الحقوق الأخرى على مستوى وحدة التحكم. إدارة إنها السيطرة الكاملة، لذا امنحها باعتدال.
أوراق اعتماد عرض بيانات الاعتماد المخزنة وإنشائها وتحديثها
الوكيل تهيئة وتوصيل وفصل وحذف عوامل البناء
وظيفة إنشاء، إلغاء، تهيئة، إنشاء، حذف، قراءة، مساحة العمل، ونقل المهام
يجري حذف سجل بناء فردي وإعادة تشغيله وتحديثه
عرض الطلب إنشاء وتكوين وحذف وقراءة طرق عرض لوحة المعلومات
SCM تشغيل عملية البناء من خلال خطاف التحكم في المصدر

ابدأ كل دور جديد بـ بشكل عام/قراءة المزيد وظيفة/ قراءة. بدون هذين العنصرين، يرى المستخدم المسجل لوحة تحكم فارغة حتى عند تحديد الأذونات الأخرى، وهو أكثر ما يثير اللبس بشأن هذه الإضافة.

كيفية تعيين الأدوار في Jenkins

الخطوة 1) الآن بعد أن قمت بإنشاء الأدوار، دعنا نقوم بتعيينها لمستخدمين محددين.

  1. انتقل إلى البرنامج المساعد في التأليف إدارة Jenkins
  2. حدد إدارة وتعيين الأدوار

تم فتح شاشة إدارة وتعيين الأدوار للوصول إلى خيار تعيين الأدوار

الخطوة 2) سنضيف الدور الجديد "المطور" للمستخدم "guru99"

  1. حدد خانة اختيار دور المطور
  2. انقر فوق حفظ

شاشة تعيين الأدوار مع تحديد خانة اختيار دور المطور للمستخدم guru99

يمكنك تعيين أي دور لأي مستخدم حسب حاجتك.

كيفية إنشاء أدوار المشروع في Jenkins

تُطبّق الأدوار العامة في كل مكان. عندما يجب أن ينطبق إذن ما على مجموعة واحدة من الوظائف فقط، أنشئ دور مشروع بدلاً من ذلك - وهو النطاق الذي يُطلق عليه الملحق الآن دور عنصر.

يمكنك إنشاء أدوار محددة للمشروع ضمن أدوار المشروع.

الخطوة 1) In Jenkinsإدارة وتعيين الأدوار

  1. أدخل دورًا كـ "مختبر"
  2. أضف نمطًا إلى هذا عن طريق إضافة مختبر.*، بحيث يتم تعيين دور المشروع الذي تحدده لأي اسم مستخدم يبدأ بـ "اختبار".
  3. انقر فوق إضافة
  4. حدد الامتيازات
  5. انقر فوق حفظ

يظهر أدناه جدول أدوار المشروع المكتمل.

جدول أدوار المشروع مع دور المُختبِر ونمط النجمة والنقطة الخاص بالمُختبِر

النمط عبارة عن تعبير نمطي يُطابق الاسم الكامل للعنصر، لذا tester.* يتطابق أيضًا مع مجلد باسم مجموعة أدوات الاختبار وكل ما بداخله. اختبر نمطًا جديدًا على مهمة تجريبية قبل تطبيقه على مهمة حقيقية. مشروع حر أو وظيفة خط الأنابيب.

الأمن القائم على المصفوفة مقابل الاستراتيجية القائمة على الأدوار

لا تُعد استراتيجية الأدوار الخيار الوحيد للتفويض في تلك القائمة المنسدلة. Jenkins السفن المزودة بنظام أمان قائم على المصفوفة، وقد يكون هذا كل ما هو مطلوب بالنسبة للمنشآت الصغيرة.

نقطة المقارنة الأمن القائم على المصفوفة استراتيجية قائمة على الأدوار
التركيب مدمج في Jenkins يتطلب إضافة استراتيجية التخويل القائمة على الأدوار
وحدة التكليف يتم منح كل مستخدم أو مجموعة أذونات مباشرة تُمنح الصلاحيات لدور مُحدد، ويتم ربط المستخدمين بهذا الدور.
إضافة المستخدم العاشر يتم تكرار صف الإذن بالكامل يدويًا حدد خانة اختيار دور واحد
التحكم لكل وظيفة تفويض المصفوفة القائم على المشروع، يتم تكوينه لكل مهمة على حدة يغطي دور عنصر واحد بنمط معين كل وظيفة مطابقة
أفضل ملاءمة عدد قليل من المستخدمين الذين يتمتعون بإمكانية وصول متطابقة تقريبًا فرق متعددة، وظائف عديدة، وإمكانية الوصول التي تتغير مع تنقل الأفراد.

القاعدة العامة هي عدد مرات تكرار الإذن. بمجرد إدخال نفس نمط التحقق لمستخدم ثالث، يصبح الحفاظ على الدور أقل تكلفة - وهي نفس الحجة التي تدفع الفرق من الوظائف المؤقتة إلى وظائف مُراجعة. خط أنابيب CI/CD.

الأسئلة الشائعة

يجب أن يتحقق شرطان معًا. يجب تثبيت إضافة "استراتيجية التخويل القائمة على الأدوار"، ويجب ضبط خيار التخويل في شاشة الأمان على "استراتيجية قائمة على الأدوار". يبقى هذا الخيار مخفيًا حتى يتم حفظ الخطوة الثانية.

قلة النوم Jenkins، افتح config.xml في JENKINS_HOME، واستبدل authorizationStrategy عنصر مع <authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>ثم أعد التشغيل. احتفظ دائمًا بحساب واحد يحمل صلاحيات الإدارة العامة لتجنب الحاجة إلى ذلك.

نعم. تقبل شاشة تعيين الأدوار أسماء المجموعات بالإضافة إلى أسماء المستخدمين، لذلك يمكن ربط مجموعة LDAP أو Active Directory بدور مرة واحدة ثم تتم إدارة العضوية بالكامل في الدليل.

تقوم أدوات التعلم الآلي بمقارنة الأذونات الممنوحة مع ما يستخدمه كل حساب فعليًا وتحديد الأذونات غير المستخدمة، مما يكشف عن الأدوار ذات الامتيازات الزائدة بشكل أسرع بكثير من قراءة مصفوفة الأذونات يدويًا.

مساعد الطيار جيثب يكتب Groovy أو استدعاءات REST التي تنشئ أدوارًا بشكل جماعي وتصيغ تعبيرات نمطية لأدوار العناصر. Revاطلع على أي شيء ينتجه قبل تشغيله، لأن النمط الخاطئ يوسع نطاق الوصول بصمت.

تُحفظ الحسابات تحت JENKINS_HOME/usersمجلد واحد لكل مستخدم مع config.xml في الداخل. توجد الأدوار وصلاحياتها في الجزء الرئيسي JENKINS_HOME/config.xmlلذا فإن نسخ هذا المجلد احتياطياً يحافظ على كليهما.

احذف الحساب من قائمة المستخدمين، مما يؤدي إلى حذف بيانات تسجيل الدخول فقط دون حذف سجل الإنشاء. لإلغاء الوصول دون حذف أي شيء، قم بإلغاء تحديد خانة الدور لهذا المستخدم في شاشة تعيين الأدوار، ثم احفظ التغييرات.

نعم. تغطي مجموعة أذونات بيانات الاعتماد في شاشة إدارة الأدوار عرض وإنشاء وتحديث الأسرار المخزنة، لذلك يمكن السماح لدور ما بتشغيل مهمة مع منعه من قراءة بيانات الاعتماد التي يستخدمها.

تلخيص هذه التدوينة بـ: