Статистика использования лицензий на компьютерах и периферийных устройствах

Завершено

В этом уроке вы узнаете, как учетные записи компьютеров и периферийные службы влияют на использование лицензий 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

  1. Перейдите к параметрам предприятия.
  2. Выберите "Управление выставлением счетов и лицензий".
  3. Найдите раздел "Учетные записи компьютера" (если он доступен).
  4. Идентифицировать:
    • Количество активных учетных записей компьютера.
    • Использование лицензий на учетную запись компьютера.
    • Последняя активная дата.

Метод 2. Запрос API GraphQL для учетных записей компьютера

Чтобы получить статистику использования учетной записи компьютера, используйте API GraphQL:

{
  enterprise(slug: "enterprise-name") {
    organizations(first: 50) {
      nodes {
        name
        machineAccounts {
          totalCount
          nodes {
            login
            createdAt
            lastActiveAt
          }
        }
      }
    }
  }
}

Зачем отслеживать их?

  • Определение неактивных учетных записей компьютера.
  • Чтобы отслеживать , когда каждая учетная запись компьютера была последней активной.
  • Чтобы уменьшить ненужное выделение лицензий.

Поиск использования лицензий для периферийных служб

Метод 1: Статистика использования GitHub Actions и Runners

  1. Перейдите к параметрам предприятия** → Действия.
  2. Вид:
    • Всего минут запуска, размещенных на сайте 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 для выявления неактивных учетных записей, оптимизации использования и предотвращения ненужных расходов.