Statystyki użycia licencji na urządzeniach maszynowych i peryferyjnych
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
- Przejdź do Ustawień przedsiębiorstwa.
- Wybierz pozycję Rozliczenia i zarządzanie licencjami.
- Wyszukaj sekcję Konta maszyn (jeśli jest dostępna).
- 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
- Przejdź do pozycji Ustawienia przedsiębiorstwa** → Akcje.
- 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.