컴퓨터 및 주변 장치에서 라이선스 사용량 통계
이 단원에서는 컴퓨터 계정 및 주변 장치 서비스가 GitHub Enterprise 라이선스 사용량에 미치는 영향을 알아봅니다. 사용량을 추적하고, 비효율성을 식별하고, 모범 사례를 적용하여 비용 제어 및 보안을 개선하는 방법을 살펴봅니다.
비용 최적화 및 보안 규정 준수를 위해서는 라이선스 사용량 추적이 필수적입니다. 컴퓨터 계정 (자동화에 사용됨) 및 주변 장치 서비스 (예: CI/CD, 통합 및 API 소비자)는 라이선스를 사용할 수 있으므로 엔터프라이즈 비용 및 리소스 관리에 영향을 미칠 수 있습니다.
컴퓨터 계정 및 주변 장치 서비스 이해
컴퓨터 계정
컴퓨터 계정은 자동화, 스크립트 실행 또는 타사 도구와 통합하는 데 사용되는 GitHub 계정 입니다.
특징: - 인간 사용자와 독립적으로 작동합니다. - CI/CD 도구(예: GitHub Actions, Jenkins, CircleCI)에서 자주 사용됩니다.- 각 컴퓨터 계정은 표준 사용자와 같은 GitHub 라이선스를 사용합니다.
주변 장치 서비스
주변 장치 서비스는 API 요청을 통해 GitHub와 상호 작용하는 외부 통합입니다.
예: - CI/CD 파이프라인 (예: GitHub Actions, GitHub Runners, Jenkins).- 보안 검사 도구 (예: Dependabot, Snyk, CodeQL).- 타사 통합 (예: Slack, Jira, Datadog).- 자체 호스팅 GitHub 실행기.
왜 이러한 추적?
- 사용되지 않거나 과도한 라이선스를 식별합니다.
- 비용을 최적화하고 불필요한 지출을 방지합니다.
- 비활성 또는 잘못 구성된 자동화 계정의 보안 위험을 모니터링 합니다.
컴퓨터 계정에 대한 라이선스 사용 통계 찾기
방법 1: GitHub Enterprise 관리 콘솔
- 엔터프라이즈 설정으로 이동합니다.
- 청구 및 라이선스 관리를 선택합니다.
- 컴퓨터 계정 섹션을 찾습니다(사용 가능한 경우).
- 식별:
- 활성 컴퓨터 계정 수입니다.
- 컴퓨터 계정당 라이선스 사용량입니다.
- 마지막 활성 날짜입니다.
방법 2: 컴퓨터 계정에 대한 GraphQL API 쿼리
컴퓨터 계정 사용 통계를 검색하려면 GraphQL API를 사용합니다.
{
enterprise(slug: "enterprise-name") {
organizations(first: 50) {
nodes {
name
machineAccounts {
totalCount
nodes {
login
createdAt
lastActiveAt
}
}
}
}
}
}
왜 이러한 추적?
- 비활성 컴퓨터 계정을 식별합니다.
- 각 컴퓨터 계정이 마지막으로 활성화된 시점을 추적합니다.
- 불필요한 라이선스 할당을 줄이는 데 도움이 됩니다.
주변 장치 서비스에 대한 라이선스 사용량 찾기
방법 1: GitHub Actions 및 Runners 사용 메트릭
- 엔터프라이즈 설정** → 작업으로 이동합니다.
- 뷰:
- 사용된 총 GitHub 호스팅 실행기 시간(분)입니다.
- 자체 호스팅 실행기 사용.
- 추가 실행기 시간(분)에 대한 청구.
방법 2: Self-Hosted Runner에 대한 REST API
자체 호스팅 실행기 및 해당 라이선스 사용량을 추적하려면 다음을 수행합니다.
curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com/enterprises/YOUR-ENTERPRISE/actions/runners"
주요 인사이트:
- 라이선스를 사용하는 실행기 수를 식별합니다.
- 리소스를 낭비할 수 있는 유휴 실행기를 추적합니다.
- GitHub 호스팅 실행기 시간(분)에 대한 청구를 최적화하는 데 도움이 됩니다.
방법 3: 주변 장치 서비스 API 사용량 추적
다음을 사용하여 API 기반 통합을 모니터링합니다.
curl -H "Authorization: token YOUR-TOKEN" \
"https://api.github.com/enterprises/YOUR-ENTERPRISE/audit-log"
이렇게 하면 다음을 수행할 수 있습니다.
- 비활성 서비스 검색: 더 이상 사용되지 않는 서비스를 찾습니다.
- 타사 도구 감사: 외부 도구가 필요하고 올바르게 구성되었는지 확인합니다.
- 비용 절감: 가치를 제공하지 않는 서비스를 사용하지 않도록 설정합니다."
4. 컴퓨터 계정 및 주변 서비스 라이선스 관리 모범 사례
다음 모범 사례는 사용량을 감사하고, 정책을 적용하고, 자동화 공간을 간소화하는 데 도움이 됩니다.
- 정기적으로 컴퓨터 계정 감사: 사용되지 않는 컴퓨터 계정을 식별하고 비활성화합니다.
- 시간이 지남에 따라 조직은 리포지토리 및 시스템에 계속 액세스할 수 있는 사용되지 않거나 부실한 컴퓨터 계정을 누적합니다.
- 사용하지 않는 계정은 손상된 경우 악용될 수 있으므로 보안 위험을 증가합니다.
- 정기적인 감사는 활성 및 필요한 컴퓨터 계정만 존재하도록 하여 무단 액세스에 대한 노출을 줄입니다.
- API 사용량 모니터링: 엔터프라이즈 라이선스를 사용하는 타사 도구를 추적합니다.
- 많은 타사 애플리케이션, CI/CD 파이프라인 및 통합은 GitHub API 리소스 및 엔터프라이즈 라이선스를 사용합니다.
- 과도한 API 호출은 속도 제한으로 이어져 개발자의 워크플로에 영향을 미칠 수 있습니다.
- 무단 또는 알 수 없는 API 사용은 중요한 데이터 및 보안 취약성을 노출할 수 있습니다.
- 실행기 사용 최적화: 유휴 자체 호스팅 실행기를 식별하고 GitHub 호스팅 실행기 비용을 줄입니다.
- 자체 호스팅 및 GitHub 호스팅 실행기는 CI/CD 워크플로를 실행합니다. 비효율적인 사용으로 인해 불필요한 비용이 발생합니다.
- 유휴 상태의 자체 호스팅 실행기는 컴퓨팅 리소스를 낭비 하고 모니터링되지 않은 상태로 두면 조직이 보안 위험에 노출될 수 있습니다.
- GitHub 호스팅 실행기는 사용한 만큼 지불하는 방식으로 운영되며, 사용량을 최적화하면 비용을 크게 줄일 수 있습니다.
- 컴퓨터 계정 제한: 사용 권한을 제한하고 보안 정책을 적용합니다.
- 컴퓨터 계정에는 리포지토리에 대한 불필요한 액세스 권한이 없어야 하므로 권한 상승의 위험이 줄어듭니다.
- 손상된 경우 컴퓨터 계정을 악용하여 소스 코드를 조작하거나, 악의적인 변경 내용을 배포하거나, 비밀을 노출할 수 있습니다.
- 보안 정책을 적용하면 규정 준수를 보장하고 잠재적인 위반을 최소화할 수 있습니다.
GitHub Enterprise의 비용 최적화, 보안 및 규정 준수에는 컴퓨터 계정 및 주변 장치 서비스에 대한 라이선스 사용량을 추적하는 것이 중요합니다. 관리자는 GitHub UI, GraphQL 및 REST API 를 활용하여 비활성 계정을 식별하고, 사용량을 최적화하고, 불필요한 지출을 방지해야 합니다.