Connect GitHub Enterprise Cloud repositories to Azure SRE Agent

مهم

هذه الميزة في Azure SRE Agent حاليا قيد المعاينة. للحصول على الشروط القانونية التي تنطبق على ميزات Azure الموجودة في الإصدار التجريبي، أو المعاينة، أو التي لم يتم إصدارها بعد في التوفر العام، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.

ربط المستودعات المستضافة على GitHub Enterprise Cloud (<TENANT>.ghe.com) أو github.com بوكيل SRE Azure الخاص بك باستخدام تطبيق BYO (Bring Your Own) GitHub. يقوم الوكيل بإنشاء رموز تثبيت قصيرة العمر من المفتاح الخاص لتطبيقك، والذي يتم تخزينه في Azure Key Vault ولا يتم نسخه أبدا.

ملحوظة

تطبيق BYO GitHub يعمل لكل من github.com و *.ghe.com. بالنسبة ل github.com باستخدام OAuth أو PAT، انظر إعداد GitHub الموصل.

متى تستخدم مصادقة تطبيق GitHub في BYO

استخدم تطبيق BYO عندما:

  • منظمتك تتطلب مصادقة تعتمد على التطبيق وضوابط الحضانة الرئيسية.
  • أنت تربط *.ghe.com المستودعات (مطلوب لأن OAuth وPAT غير متوفرين لمضيفي GHE).
  • تريد الوصول القائم على التثبيت بدلا من رموز المستخدم.

المتطلبات المسبقه

المتطلبات التفاصيل
Azure SRE Agent وكيل في حالة تشغيل مع دور مسؤول أو مستخدم قياسي
تطبيق GitHub تطبيق GitHub تم إنشاؤه على مضيفك المستهدف (github.com أو <TENANT>.ghe.com)
الوصول إلى مسؤول GitHub الوصول إلى مسؤول المؤسسة أو المستودع لإنشاء أو تثبيت أو التحقق من نطاق تطبيق GitHub
Azure Key Vault خزنة يمكنك من خلالها تخزين المفتاح الخاص بتطبيق GitHub
الهوية المُدارة القدرة على تعيين دور Key Vault Secrets User لهوية الوكيل المدارة

إنشاء تطبيق GitHub

إذا كان لديك بالفعل تطبيق GitHub بالأذونات الصحيحة، انتقل إلى Store للمفتاح الخاص في Azure Key Vault.

  1. اذهب إلى مضيفك في GitHub:
    • github.com: اذهب إلى منظمتك >Settings>Develop Settings>GitHub التطبيقات>تطبيق GitHub جديد
    • <TENANT>.ghe.com: نفس المسار في نسخة GHE الخاصة بك
  2. املأ تفاصيل التطبيق:
    • GitHub اسم التطبيق: على سبيل المثال، sre-agent-reader
    • رابط الصفحة الرئيسية: https://sre.azure.com
    • Webhook: إلغاء التفعيل (الوكيل لا يستخدم webhooks)
  3. تحت الأذونات، قم بتعيين:
    • صلاحيات > المستودع المحتوى: قراءة فقط (مطلوب)
    • صلاحيات > المستودع البيانات الوصفية: للقراءة فقط (تم الاختيار تلقائيا)
    • يمكنك إضافة Issuesوطلبات السحب (Pull) خيار الوصول للقراءة
  4. تحت أين يمكن تثبيت تطبيق GitHub هذا؟، اختر فقط على هذا الحساب.
  5. حدد إنشاء تطبيق GitHub.
  6. لاحظ معرف العميل الظاهر في صفحة إعدادات التطبيق.

تثبيت تطبيق GitHub

  1. في صفحة إعدادات GitHub التطبيق، اختر تثبيت التطبيق في الشريط الجانبي الأيسر.
  2. حدد مؤسستك.
  3. اختر جميع المستودعات أو اختر مستودعات محددة.
  4. حدد تثبيت.

إنشاء مفتاح خاص لتطبيق GitHub

  1. في صفحة إعدادات تطبيق GitHub، انتقل إلى Private keys.
  2. اختر إنشاء مفتاح خاص.
  3. .pem ملف يتم تحميله. هذا الملف هو المفتاح الخاص RSA الذي يستخدمه الوكيل للتوثيق.

Caution

حافظ على سلامة جهاز PEM. تقوم بتحميله إلى Key Vault في الخطوة التالية. لا تلتزم به في مستودع، ولا تشاركه.

Store the private key in Azure Key Vault

  1. افتح بوابة Azure واذهب إلى Key Vault الخاص بك.
  2. اذهب إلى إنشاء الأسرار>/استيراد.
  3. تعيين الاسم (على سبيل المثال، sre-agent-github-app-key) والصق محتوى PEM الكامل كقيمة (بما في ذلك -----BEGIN RSA PRIVATE KEY----- الرؤوس -----END RSA PRIVATE KEY----- ).
  4. حدد إنشاء.
  5. افتح السر، اختر النسخة الحالية، وانسخ معرف السر URI:
https://myvault.vault.azure.net/secrets/my-github-app-key/<VERSION>

نصيحة

معرف التعريف المحدد بالإصدار مقابل غير المعدل: يمكنك استخدام رابط المستخدم المحدد (مع /<VERSION> لاحقة) لتثبيت نسخة مفتاح معينة، أو حذف النسخة لاستخدام الأحدث. استخدم URI غير النسخة بحيث عند تدوير المفتاح، يلتقط الوكيل النسخة الجديدة تلقائيا دون تحديث URI.

منح Key Vault الوصول إلى هوية الوكيل

  1. في بوابة Azure، افتح Key Vault>control access (IAM).
  2. تعيين Key Vault Secrets User إلى هوية الوكيل المدارة.
  3. انتظر حتى يبدأ تفعيل تعيين الدور.

تكوين تطبيق BYO في الوصول إلى الكود

  1. افتح وكيلك في البوابة.
  2. اذهب إلىالوصول إلى كود>.
  3. اختر إضافة المستودعات.
  4. اختر GitHub وأدخل المضيف:
    • github.com للعامة GitHub
    • <TENANT>.ghe.com لسحابة المؤسسات
  5. استمر في التحقق من المصادقة.
  6. اختر أحضر GitHub خاص بك App.
  7. دخل:
    • معرف العميل
    • مفتاح خاص سري URI (Key Vault)
    • هوية اختيارية Key Vault (أو تبقى مخصصة للنظام)
  8. حدد اتصال.

الساحر يتحقق من بيانات اعتمادك. عند النجاح، ترى Connected ك GitHub App مع علامة صح خضراء.

ملحوظة

عندما تدخل نطاق *.ghe.com كمضيف، يقوم المعالج تلقائيا باختيار إحضار تطبيقك الخاص GitHub App. OAuth و PAT غير متوفرين لمضيفي GHE.

أضف المستودعات وتحقق من الاتصال

  1. اختر المستودعات واحفظها.
  2. تأكد من أن بطاقة الوصول بالرمز تظهر المضيف المتصل ونوع GitHubAppالمصادقة.
  3. اختبر في الدردشة:
Get me recent issues from owner/repo.

هوية مدارة لكل تطبيق لتطبيقات GitHub متعددة

بشكل افتراضي، يستخدم الوكيل هويته المدارة system-assigned-system لقراءة المفتاح الخاص من Key Vault. إذا كنت تدير عدة تطبيقات GitHub (على سبيل المثال، واحدة لكل نسخة GHE)، يمكنك تعيين هوية مدارة مختلفة المعينة من قبل المستخدم لكل تطبيق. يوفر هذا النهج عزل الأمان لأن كل هوية لديها فقط وصول إلى سر Key Vault الخاص بها.

اختر الهوية في القائمة المنسدلة Key Vault identity أثناء خطوة التهيئة (configuration).

دعم تعدد المضيفين لاتصالات GitHub

يمكنك توصيل عدة مستضيفين من GitHub بنفس الوكيل. كل مضيف لديه مصادقة مستقلة:

  • github.com → تطبيق OAuth أو PAT أو BYO
  • contoso.ghe.com → تطبيق BYO
  • engineering.ghe.com → تطبيق BYO (مع تطبيق GitHub مختلف)

فصل مضيف واحد لا يؤثر على الآخرين.

Troubleshooting

عَرَض السبب المحتمل إصلاح
فشل التحقق من صحة المصادقة معرف العميل الخاطئ أو المضيف الخطأ تم إنشاء تطبيق التحقق من التطبيق على نفس المضيف الذي تم إدخاله في Code Access.
فشل القراءة السرية غياب Key Vault RBAC أو سياسة الوصول غرانت Key Vault مستخدم الأسرار إلى هوية الوكيل.
المستودع يظهر فشل في الوصول إلى الشيفرة أمنيات التطبيق أو نطاق التثبيت مفقود تحقق من البيانات الوصفية: اقرأ + المحتويات: اقرأ ونطاق التثبيت.
مشاكل الدردشة تعمل لكن Code Access يفشل تختلف فحوصات النقاط النهائية/المسار أعد تشغيل اختبار الاتصال وتحقق من إذن البيانات الوصفية.

الخطوة التالية