Статистика использования лицензий на компьютерах и периферийных устройствах
В этом уроке вы узнаете, как учетные записи компьютеров и периферийные службы влияют на использование лицензий GitHub Enterprise. Вы изучите методы для отслеживания их потребления, выявления неэффективности и применения рекомендаций по улучшению управления затратами и безопасности.
Отслеживание использования лицензий важно для оптимизации затрат и соответствия требованиям безопасности. Машинные учетные записи (используемые для автоматизации) и периферийные службы (например, CI/CD, интеграции и потребители API) могут использовать лицензии, влияя на затраты и управление ресурсами предприятия.
Общие сведения об учетных записях машин и периферийных службах
Учетные записи компьютера
Учетные записи компьютера — это учетные записи GitHub , используемые для автоматизации, выполнения сценариев или интеграции с сторонними инструментами.
Характеристики: — они действуют независимо от человеческих пользователей. — Часто используется инструментами CI/CD (например, GitHub Actions, Jenkins, CircleCI). - Каждая учетная запись компьютера использует лицензию GitHub, как стандартный пользователь.
Периферийные службы
Периферийные службы — это внешние интеграции, взаимодействующие с GitHub с помощью запросов API.
Примеры. Конвейеры CI/CD (например, GitHub Actions, GitHub Runners, Jenkins). - Средства проверки безопасности (например, Dependabot, Snyk, CodeQL). - Сторонние интеграции (например, Slack, Jira, Datadog). - Самостоятельно размещенные GitHub Runners.
Зачем отслеживать их?
- Определение неиспользуемых или чрезмерных лицензий.
- Чтобы оптимизировать затраты и предотвратить ненужные расходы.
- Мониторинг рисков безопасности от неактивных или неправильно настроенных учетных записей службы автоматизации.
Поиск статистики использования лицензий для учетных записей компьютеров
Метод 1. Консоль администрирования GitHub Enterprise
- Перейдите к параметрам предприятия.
- Выберите "Управление выставлением счетов и лицензий".
- Найдите раздел "Учетные записи компьютера" (если он доступен).
- Идентифицировать:
- Количество активных учетных записей компьютера.
- Использование лицензий на учетную запись компьютера.
- Последняя активная дата.
Метод 2. Запрос API GraphQL для учетных записей компьютера
Чтобы получить статистику использования учетной записи компьютера, используйте API GraphQL:
{
enterprise(slug: "enterprise-name") {
organizations(first: 50) {
nodes {
name
machineAccounts {
totalCount
nodes {
login
createdAt
lastActiveAt
}
}
}
}
}
}
Зачем отслеживать их?
- Определение неактивных учетных записей компьютера.
- Чтобы отслеживать , когда каждая учетная запись компьютера была последней активной.
- Чтобы уменьшить ненужное выделение лицензий.
Поиск использования лицензий для периферийных служб
Метод 1: Статистика использования GitHub Actions и Runners
- Перейдите к параметрам предприятия** → Действия.
- Вид:
- Всего минут запуска, размещенных на сайте GitHub.
- Использование самостоятельно размещаемого раннера.
- Выставление счетов за дополнительные минуты бегуна.
Метод 2. REST API для Self-Hosted runners
Чтобы отслеживать локальные запуски и их использование лицензий, выполните следующую команду:
curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com/enterprises/YOUR-ENTERPRISE/actions/runners"
Key Insights:
- Определяет количество пользователей, которые используют лицензии.
- Отслеживает неактивные бегуни, которые могут тратить ресурсы.
- Помогает оптимизировать выставление счетов за минуты выполнения на GitHub.
Метод 3. Отслеживание использования API периферийных служб
Мониторинг интеграции на основе API с помощью:
curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com/enterprises/YOUR-ENTERPRISE/audit-log"
Это поможет вам:
- Обнаружение неактивных служб: найдите службы, которые больше не используются.
- Аудит сторонних средств. Убедитесь, что внешние инструменты необходимы и правильно настроены.
- Сокращение затрат: отключите службы, которые не предоставляют значение".
4. Рекомендации по управлению учетными записями компьютеров и лицензиями периферийных служб
Следующие рекомендации помогут вам выполнить аудит использования, применить политики и упростить работу службы автоматизации.
-
Регулярный аудит учетных записей машин: определение и отключение неиспользуемых учетных записей машин.
- Со временем организации накапливают неиспользуемые или устаревшие учетные записи компьютера , которые по-прежнему могут иметь доступ к репозиториям и системам.
- Неиспользуемые учетные записи повышают риски безопасности, так как их можно использовать при компрометации.
- Регулярные аудиты обеспечивают наличие только активных и необходимых учетных записей компьютеров, что снижает вероятность несанкционированного доступа.
-
Мониторинг использования API. Отслеживание сторонних средств, потребляющих корпоративные лицензии.
- Многие сторонние приложения, конвейеры CI/CD и интеграции используют ресурсы API GitHub и корпоративные лицензии.
- Чрезмерные вызовы API могут привести к ограничениям скорости, влияющим на рабочие процессы разработчиков.
- Несанкционированное или неизвестное использование API может предоставлять конфиденциальные данные и уязвимости безопасности.
-
Оптимизация использования runner: определение неактивных локальных модулей выполнения и сокращение затрат на GitHub.
- Локальные и развернутые на GitHub запускающие программы выполняют рабочие процессы CI/CD. Неэффективное использование приводит к ненужным затратам.
- Бездействующие автономные агенты тратят вычислительные ресурсы и могут подвергать организации риску безопасности, если их не контролировать.
- Исполнительные модули, созданные в GitHub, работают на основе оплаты по мере использования, и оптимизация их использования может значительно сократить затраты.
-
Ограничить учетные записи компьютера: ограничить их разрешения и применить политики безопасности.
- Учетные записи компьютера не должны иметь ненужный доступ к репозиториям, уменьшая риск эскалации привилегий.
- При скомпрометации учетные записи компьютера можно использовать для управления исходным кодом, развертывания вредоносных изменений или предоставления секретов.
- Применение политик безопасности помогает обеспечить соответствие требованиям и свести к минимуму потенциальные нарушения.
Отслеживание использования лицензий для учетных записей компьютеров и периферийных служб имеет решающее значение для оптимизации затрат, безопасности и соответствия требованиям в GitHub Enterprise. Администраторы должны использовать Пользовательский интерфейс GitHub, GraphQL и REST API для выявления неактивных учетных записей, оптимизации использования и предотвращения ненужных расходов.