إحصائيات استخدام الترخيص في الأجهزة الجهازية والأجهزة الطرفية
في هذه الوحدة، ستتعرف على كيفية تأثير حسابات الأجهزة والخدمات الطرفية على استخدام ترخيص GitHub Enterprise. ستستكشف أساليب لتتبع استهلاكها، وتحديد أوجه القصور، وتطبيق أفضل الممارسات لتحسين التحكم في التكلفة والأمان.
يعد تتبع استخدام الترخيص أمرا ضروريا لتحسين التكلفة والامتثال للأمان. يمكن أن تستهلك حسابات الجهاز (المستخدمة للأتمتة) والخدمات الطرفية (مثل CI/CD والتكاملات ومستهلكي واجهة برمجة التطبيقات) التراخيص، مما يؤثر على تكاليف المؤسسة وإدارة الموارد.
فهم حسابات الأجهزة والخدمات الطرفية
حسابات الجهاز
حسابات الجهاز هي حسابات GitHub المستخدمة للأتمتة أو تشغيل البرامج النصية أو التكامل مع أدوات الجهات الخارجية.
الخصائص: - وهي تعمل بشكل مستقل عن المستخدمين البشريين. - غالبا ما تستخدمها أدوات CI/CD (على سبيل المثال، GitHub Actions، Jenkins، CircleCI). - يستهلك كل حساب جهاز ترخيص GitHub، مثل مستخدم قياسي.
الخدمات الطرفية
الخدمات الطرفية هي عمليات تكامل خارجية تتفاعل مع GitHub عبر طلبات واجهة برمجة التطبيقات.
أمثلة: - CI/CD Pipelines (على سبيل المثال، GitHub Actions، GitHub Runners، Jenkins). - أدوات فحص الأمان (على سبيل المثال، Dependabot، Snyk، CodeQL). - عمليات تكامل الجهات الخارجية (على سبيل المثال، Slack، Jira، Datadog). - مشغلو GitHub المستضافون ذاتيا.
لماذا تتبع هذه؟
- لتحديد التراخيص غير المستخدمة أو المفرطة.
- لتحسين التكاليف ومنع الإنفاق غير الضروري.
- لمراقبة مخاطر الأمان من حسابات الأتمتة غير النشطة أو التي تم تكوينها بشكل خاطئ.
البحث عن إحصائيات استخدام الترخيص لحسابات الجهاز
الطريقة 1: وحدة تحكم مسؤول المؤسسة GitHub
- انتقل إلى إعدادات المؤسسة.
- حدد إدارة الفواتير والتراخيص.
- ابحث عن قسم حسابات الجهاز (إذا كان متوفرا).
- تحديد:
- عدد حسابات الأجهزة النشطة.
- استهلاك الترخيص لكل حساب جهاز.
- آخر تاريخ نشط.
الطريقة 2: استعلام واجهة برمجة تطبيقات GraphQL لحسابات الجهاز
لاسترداد إحصائيات استخدام حساب الجهاز، استخدم واجهة برمجة تطبيقات GraphQL:
{
enterprise(slug: "enterprise-name") {
organizations(first: 50) {
nodes {
name
machineAccounts {
totalCount
nodes {
login
createdAt
lastActiveAt
}
}
}
}
}
}
لماذا تتبع هذه؟
- لتحديد حسابات الأجهزة غير النشطة.
- لتعقب وقت آخر نشاط لحساب الجهاز.
- للمساعدة في تقليل تخصيص الترخيص غير الضروري.
العثور على استخدام الترخيص للخدمات الطرفية
الطريقة 1: إجراءات GitHub ومقاييس استخدام المشغلين
- انتقل إلى Enterprise Settings** → Actions.
- منظر:
- إجمالي دقائق المشغل المستضافة على GitHub المستخدمة.
- استخدام المشغل المستضاف ذاتيا.
- الفوترة لدقائق المشغل الإضافية.
الطريقة 2: واجهة برمجة تطبيقات REST لمشغلي Self-Hosted
لتعقب المشغلين المستضافين ذاتيا واستخدام الترخيص الخاص بهم:
curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com/enterprises/YOUR-ENTERPRISE/actions/runners"
نتيجة التحليلات الرئيسية:
- يحدد عدد المشغلين الذين يستهلكون التراخيص.
- يتعقب المشغلات الخاملة التي قد تهدر الموارد.
- يساعد على تحسين الفوترة لدقائق المشغل المستضافة على GitHub.
الطريقة 3: تتبع استخدام واجهة برمجة تطبيقات الخدمات الطرفية
مراقبة عمليات التكامل المستندة إلى واجهة برمجة التطبيقات باستخدام:
curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com/enterprises/YOUR-ENTERPRISE/audit-log"
يساعدك هذا على:
- الكشف عن الخدمات غير النشطة: البحث عن الخدمات التي لم تعد قيد الاستخدام.
- تدقيق أدوات الجهات الخارجية: تأكد من ضرورة الأدوات الخارجية وتكوينها بشكل صحيح.
- تقليل التكاليف: تعطيل الخدمات التي لا توفر قيمة."
4. أفضل الممارسات لإدارة حسابات الأجهزة وتراخيص الخدمات الطرفية
ستساعدك أفضل الممارسات التالية على تدقيق الاستخدام وفرض النهج وتبسيط بصمة التنفيذ التلقائي:
-
تدقيق حسابات الجهاز بانتظام: تحديد حسابات الأجهزة غير المستخدمة وإلغاء تنشيطها.
- بمرور الوقت، تقوم المؤسسات بتجميع حسابات أجهزة غير مستخدمة أو قديمة قد لا تزال لديها إمكانية الوصول إلى المستودعات والأنظمة.
- تزيد الحسابات غير المستخدمة من مخاطر الأمان، حيث يمكن استغلالها في حالة اختراقها.
- تضمن عمليات التدقيق المنتظمة وجود حسابات الأجهزة النشطة والضرورية فقط، ما يقلل من التعرض للوصول غير المصرح به.
-
مراقبة استخدام واجهة برمجة التطبيقات: تعقب أدوات الجهات الخارجية التي تستهلك تراخيص المؤسسة.
- تستهلك العديد من تطبيقات الجهات الخارجية وتدفقات CI/CD والتكاملات موارد واجهة برمجة تطبيقات GitHub وتراخيص المؤسسة.
- يمكن أن تؤدي استدعاءات واجهة برمجة التطبيقات المفرطة إلى حدود المعدل، مما يؤثر على مهام سير عمل المطورين.
- يمكن أن يعرض استخدام واجهة برمجة التطبيقات غير المصرح به أو غير المعروف البيانات الحساسة والثغرات الأمنية.
-
تحسين استخدام المشغل: تحديد المشغلات المستضافة ذاتيا الخاملةوتقليل تكاليف المشغل المستضاف على GitHub.
- ينفذ المشغلون المستضافون ذاتيا والمستضافون على GitHub مهام سير عمل CI/CD. يؤدي الاستخدام غير الفعال إلى تكاليف غير ضرورية.
- يضيع المشغلون المستضافون ذاتيا الخمول موارد الحوسبة وقد يعرضون المؤسسات لمخاطر أمنية إذا تركت دون مراقبة.
- يعمل المشغلون المستضافون على GitHub على أساس الدفع أولا بأول ، ويمكن أن يؤدي تحسين الاستخدام إلى تقليل التكاليف بشكل كبير.
-
تقييد حسابات الجهاز: حدد أذوناتها وفرض نهج الأمان.
- يجب ألا يكون لحسابات الجهاز حق الوصول غير الضروري إلى المستودعات، ما يقلل من خطر تصعيد الامتيازات.
- إذا تم اختراقها، يمكن استغلال حسابات الجهاز لمعالجة التعليمات البرمجية المصدر أو نشر تغييرات ضارة أو كشف الأسرار.
- يساعد فرض نهج الأمان على ضمان الامتثال ويقلل من الانتهاكات المحتملة.
يعد تتبع استخدام الترخيص لحسابات الأجهزة والخدمات الطرفية أمرا بالغ الأهمية لتحسين التكلفة والأمان والتوافق في GitHub Enterprise. يجب على المسؤولين الاستفادة من واجهة مستخدم GitHub وGraphQL وواجهات برمجة تطبيقات RESTلتحديد الحسابات غير النشطة وتحسين الاستخدام ومنع الإنفاق غير الضروري.