Statystyki użycia licencji na urządzeniach maszynowych i peryferyjnych

Zakończone

W tej lekcji dowiesz się, jak konta maszyn i usługi peryferyjne wpływają na użycie licencji usługi GitHub Enterprise. Poznasz metody śledzenia ich zużycia, identyfikowania nieefektywności i stosowania najlepszych rozwiązań w celu poprawy kontroli kosztów i bezpieczeństwa.

Śledzenie użycia licencji jest niezbędne w przypadku optymalizacji kosztów i zgodności z zabezpieczeniami. Konta automatyczne (używane do automatyzacji) oraz usługi peryferyjne (takie jak ciągła integracja/ciągłe wdrażanie, integracje oraz konsumenci API) mogą korzystać z licencji, co wpływa na koszty przedsiębiorstwa i zarządzanie zasobami.

Zrozumienie kont maszynowych i usług peryferyjnych

Konta maszyn

Konta maszyn to konta usługi GitHub używane do automatyzacji, uruchamiania skryptów lub integracji z narzędziami innych firm.

Cechy: - Działają niezależnie od użytkowników ludzkich. — Często używane przez narzędzia CI/CD (np. GitHub Actions, Jenkins, CircleCI). - Każde konto komputera korzysta z licencji usługi GitHub, takiej jak użytkownik standardowy.

Usługi peryferyjne

Usługi peryferyjne to zewnętrzne integracje, które współdziałają z usługą GitHub za pośrednictwem żądań interfejsu API.

Przykłady: — potoki CI/CD (np. GitHub Actions, GitHub Runners, Jenkins). - Narzędzia do skanowania zabezpieczeń (np. Dependabot, Snyk, CodeQL). - Integracje innych firm (np. Slack, Jira, Datadog). - Własne środowiska uruchomieniowe GitHub.

Dlaczego warto je śledzić?

  • Aby zidentyfikować nieużywane lub nadmierne licencje.
  • Aby zoptymalizować koszty i zapobiec niepotrzebnym wydatkom.
  • Aby monitorować zagrożenia bezpieczeństwa wynikające z nieaktywnych lub nieprawidłowo skonfigurowanych kont automatyzacji.

Znajdowanie statystyk użycia licencji dla kont komputerów

Metoda 1. GitHub Enterprise Admin Console

  1. Przejdź do Ustawień przedsiębiorstwa.
  2. Wybierz pozycję Rozliczenia i zarządzanie licencjami.
  3. Wyszukaj sekcję Konta maszyn (jeśli jest dostępna).
  4. Identyfikować:
    • Liczba aktywnych kont maszyn.
    • Użycie licencji na konto komputera.
    • Ostatnia aktywna data.

Metoda 2. Zapytanie interfejsu API GraphQL dla kont maszyn

Aby pobrać statystyki użycia konta systemowego, użyj API GraphQL:

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

Dlaczego warto je śledzić?

  • Aby zidentyfikować nieaktywne konta maszyn.
  • Aby śledzić , kiedy każde konto komputera było ostatnio aktywne.
  • Aby zmniejszyć niepotrzebną alokację licencji.

Znajdowanie użycia licencji dla usług peryferyjnych

Metoda 1. Metryki użycia funkcji GitHub Actions i modułów uruchamiaczy

  1. Przejdź do pozycji Ustawienia przedsiębiorstwa** → Akcje.
  2. Widok:
    • Łączna liczba minut modułu uruchamiającego hostowane w usłudze GitHub.
    • Użycie własnego modułu uruchamiającego.
    • Rozliczenia za dodatkowe minuty pracy.

Metoda 2: Interfejs API REST dla procesów Self-Hosted

Aby śledzić samodzielnie hostowane podsystemy oraz ich wykorzystanie licencji:

curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com/enterprises/YOUR-ENTERPRISE/actions/runners"

Kluczowe informacje:

  • Określa ile wątków(biegaczy) wykorzystuje licencje.
  • Śledzi bezczynne procesy, które mogą marnować zasoby.
  • Pomaga zoptymalizować naliczanie opłat za minuty działania hostowane w GitHub.

Metoda 3. Śledzenie użycia interfejsu API usług peryferyjnych

Monitorowanie integracji opartych na interfejsie API przy użyciu:

curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com/enterprises/YOUR-ENTERPRISE/audit-log"

Ułatwia to:

  • Wykrywanie usług już niewykorzystywanych: znajdź usługi, które nie są już używane.
  • Przeprowadź inspekcję narzędzi innych firm: upewnij się, że narzędzia zewnętrzne są niezbędne i prawidłowo skonfigurowane.
  • Obniżanie kosztów: wyłączanie usług, które nie zapewniają wartości".

4. Najlepsze rozwiązania dotyczące zarządzania kontami maszyn i licencjami usług peryferyjnych

Poniższe najlepsze praktyki pomogą Ci audytować użycie, egzekwować zasady i zoptymalizować użycie automatyzacji.

  • Regularnie przeprowadzaj inspekcję kont maszyn: identyfikowanie i dezaktywowanie nieużywanych kont maszyn.
    • W miarę upływu czasu organizacje gromadzą nieużywane lub nieaktualne konta komputerów , które mogą nadal mieć dostęp do repozytoriów i systemów.
    • Nieużywane konta zwiększają ryzyko bezpieczeństwa, ponieważ mogą być wykorzystywane w przypadku naruszenia zabezpieczeń.
    • Regularne inspekcje zapewniają, że istnieją tylko aktywne i niezbędne konta maszyn, co zmniejsza narażenie na nieautoryzowany dostęp.
  • Monitorowanie użycia interfejsu API: śledzenie narzędzi innych firm zużywających licencje przedsiębiorstwa.
    • Wiele zewnętrznych aplikacji, potoków CI/CD i integracji korzysta z zasobów API GitHub i licencji dla przedsiębiorstw.
    • Nadmierne wywołania interfejsu API mogą prowadzić do limitów szybkości, co wpływa na przepływy pracy deweloperów.
    • Nieautoryzowane lub nieznane użycie interfejsu API może uwidaczniać poufne dane i luki w zabezpieczeniach.
  • Optymalizacja użycia runnerów: identyfikowanie nieaktywnych runnerów samodzielnie zarządzanych i zmniejszenie kosztów runnerów hostowanych na GitHubie.
    • Samodzielnie hostowane i GitHub-hostowane runnery realizują przepływy pracy CI/CD. Nieefektywne użycie prowadzi do niepotrzebnych kosztów.
    • Bezczynni samodzielnie hostowani agenty marnują zasoby obliczeniowe i mogą narażać organizacje na ryzyko związane z bezpieczeństwem, jeśli nie są monitorowane.
    • Hostowane w GitHub runners działają na zasadzie 'pay-as-you-go', a optymalizacja użycia może znacznie zredukować koszty.
  • Ogranicz konta maszyn:ogranicz ich uprawnienia i wymuszaj zasady zabezpieczeń.
    • Konta maszyn nie powinny mieć niepotrzebnego dostępu do repozytoriów, co zmniejsza ryzyko eskalacji uprawnień.
    • W przypadku naruszenia zabezpieczeń konta maszyn mogą być wykorzystywane do manipulowania kodem źródłowym, wdrażania złośliwych zmian lub uwidaczniania wpisów tajnych.
    • Wymuszanie zasad zabezpieczeń pomaga zapewnić zgodność i zminimalizować potencjalne naruszenia.

Śledzenie użycia licencji dla kont maszyn i usług peryferyjnych ma kluczowe znaczenie dla optymalizacji kosztów, zabezpieczeń i zgodności w usłudze GitHub Enterprise. Administratorzy powinni korzystać z interfejsu użytkownika usługi GitHub, języka GraphQL i interfejsów API REST do identyfikowania nieaktywnych kont, optymalizowania użycia i zapobiegania niepotrzebnym wydatkom.