Statistik Penggunaan Lisensi di Mesin dan Perangkat Periferal

Selesai

Di unit ini, Anda akan mempelajari bagaimana akun mesin dan layanan periferal memengaruhi penggunaan lisensi GitHub Enterprise. Anda akan menjelajahi metode untuk melacak konsumsinya, mengidentifikasi inefisiensi, dan menerapkan praktik terbaik untuk meningkatkan kontrol biaya dan keamanan.

Melacak penggunaan lisensi sangat penting untuk pengoptimalan biaya dan kepatuhan keamanan. Akun mesin (digunakan untuk otomatisasi) dan layanan periferal (seperti CI/CD, integrasi, dan konsumen API) dapat menggunakan lisensi, berdampak pada biaya perusahaan dan manajemen sumber daya.

Memahami Akun Mesin dan Layanan Periferal

Akun Mesin

Akun komputer adalah akun GitHub yang digunakan untuk otomatisasi, menjalankan skrip, atau mengintegrasikan dengan alat pihak ketiga.

Karakteristik: - Mereka bertindak secara independen dari pengguna manusia. - Sering digunakan oleh alat CI/CD (misalnya, GitHub Actions, Jenkins, CircleCI). - Setiap akun komputer menggunakan lisensi GitHub, seperti pengguna standar.

Layanan Periferal

Peripheral Services adalah integrasi eksternal yang berinteraksi dengan GitHub melalui permintaan API.

Contoh: - Pipa CI/CD (misalnya, GitHub Actions, GitHub Runners, Jenkins). - Alat Pemindaian Keamanan (misalnya, Dependabot, Snyk, CodeQL). - Integrasi pihak ketiga (misalnya, Slack, Jira, Datadog). - GitHub Runners yang dihost sendiri.

Mengapa melacak ini?

  • Untuk mengidentifikasi lisensi yang tidak digunakan atau berlebihan.
  • Untuk mengoptimalkan biaya dan mencegah pengeluaran yang tidak perlu.
  • Untuk memantau risiko keamanan dari akun otomatisasi yang tidak aktif atau salah dikonfigurasi.

Menemukan Statistik Penggunaan Lisensi untuk Akun Mesin

Metode 1: GitHub Enterprise Admin Console

  1. Navigasi ke Pengaturan Perusahaan.
  2. Pilih Penagihan & Manajemen Lisensi.
  3. Cari bagian Akun Mesin (jika tersedia).
  4. Mengidentifikasi:
    • Jumlah akun komputer aktif.
    • Konsumsi lisensi per akun mesin.
    • Tanggal aktif terakhir.

Metode 2: Kueri API GraphQL untuk Akun Mesin

Untuk mengambil statistik penggunaan akun komputer, gunakan API GraphQL:

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

Mengapa melacak ini?

  • Untuk mengidentifikasi akun komputer yang tidak aktif.
  • Untuk melacak kapan setiap akun komputer terakhir aktif.
  • Untuk membantu mengurangi alokasi lisensi yang tidak perlu.

Menemukan Penggunaan Lisensi untuk Layanan Periferal

Metode 1: Pemetaan Penggunaan GitHub Actions & Pelari

  1. Buka Pengaturan Perusahaan** → Tindakan.
  2. Tampilan
    • Total menit penggunaan runner yang dihosting GitHub
    • Penggunaan runner yang dihost sendiri.
    • Penagihan untuk menit pelari tambahan.

Metode 2: REST API untuk Self-Hosted Runners

Untuk melacak pelari yang dihost sendiri dan penggunaan lisensinya:

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

Wawasan Kunci:

  • Mengidentifikasi berapa banyak pelari yang menggunakan lisensi.
  • Melacak pelari menganggur yang mungkin membuang-buang sumber daya.
  • Membantu mengoptimalkan penagihan untuk menit runner yang dihosting GitHub.

Metode 3: Pelacakan Penggunaan API Peripheral Services

Pantau integrasi berbasis API menggunakan:

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

Ini membantu Anda:

  • Mendeteksi Layanan Tidak Aktif: Temukan layanan yang tidak lagi digunakan.
  • Audit Alat Pihak Ketiga: Pastikan alat eksternal diperlukan dan dikonfigurasi dengan benar.
  • Kurangi Biaya: Nonaktifkan layanan yang tidak memberikan nilai."

4. Praktik Terbaik untuk Mengelola Akun Mesin & Lisensi Layanan Periferal

Praktik terbaik berikut akan membantu Anda mengaudit penggunaan, menerapkan kebijakan, dan menyederhanakan jejak otomatisasi Anda:

  • Audit Akun Mesin Secara Teratur: Identifikasi dan nonaktifkan akun mesin yang tidak digunakan.
    • Seiring waktu, organisasi mengakumulasi akun mesin yang tidak digunakan atau usang yang mungkin masih memiliki akses ke repositori dan sistem.
    • Akun yang tidak digunakan meningkatkan risiko keamanan, karena dapat dieksploitasi jika disusupi.
    • Audit reguler memastikan bahwa hanya akun mesin aktif dan diperlukan yang ada, mengurangi paparan akses yang tidak sah.
  • Pantau Penggunaan API: Lacak alat pihak ketiga yang menggunakan lisensi perusahaan.
    • Banyak aplikasi pihak ketiga, alur CI/CD, dan integrasi menggunakan sumber daya API GitHub dan lisensi perusahaan.
    • Panggilan API yang berlebihan dapat menyebabkan batas tarif, yang memengaruhi alur kerja pengembang.
    • Penggunaan API yang tidak sah atau tidak diketahui dapat mengekspos data sensitif dan kerentanan keamanan.
  • Optimalkan Penggunaan Runner: Identifikasi runner yang di-host sendiri yang tidak aktif dan kurangi biaya runner yang di-host oleh GitHub.
    • Runner yang dihost sendiri dan dihosting GitHub menjalankan alur kerja CI/CD. Penggunaan yang tidak efisien menyebabkan biaya yang tidak perlu.
    • Pelari yang dihost sendiri menganggur membuang sumber daya komputasi dan dapat mengekspos organisasi terhadap risiko keamanan jika tidak dipantau.
    • Penggerak yang di-hosting GitHub beroperasi dengan basis bayar sesuai pemakaian, dan mengoptimalkan penggunaan dapat mengurangi biaya secara signifikan.
  • Membatasi Akun Mesin: Membatasi izin mereka dan menerapkan kebijakan keamanan.
    • Akun mesin seharusnya tidak memiliki akses yang tidak perlu ke repositori, mengurangi risiko eskalasi hak istimewa.
    • Jika disusupi, akun komputer dapat dieksploitasi untuk memanipulasi kode sumber, menyebarkan perubahan berbahaya, atau mengekspos rahasia.
    • Menerapkan kebijakan keamanan membantu memastikan kepatuhan dan meminimalkan potensi pelanggaran.

Melacak penggunaan lisensi untuk akun mesin dan layanan periferal sangat penting untuk pengoptimalan biaya, keamanan, dan kepatuhan di GitHub Enterprise. Admin harus memanfaatkan UI GitHub, GraphQL, dan REST API untuk mengidentifikasi akun yang tidak aktif, mengoptimalkan penggunaan, dan mencegah pengeluaran yang tidak perlu.