Mengelola fitur dan pemberitahuan GitHub Advanced Security
Sekarang setelah keamanan untuk proyek Anda disiapkan, yang harus Anda lakukan adalah memantau dan mengelola fitur dan pemberitahuan GitHub Advanced Security untuk proyek Anda.
Di unit ini, Anda mempelajari cara menggunakan Gambaran Umum Keamanan untuk memantau risiko keamanan dalam proyek Anda. Unit ini juga mencakup cara menggunakan endpoint GitHub Advanced Security untuk mengelola fitur dan peringatan GitHub Advanced Security.
Menggunakan Gambaran Umum Keamanan
Gambaran Umum Keamanan tersedia di tab Keamanan organisasi dan repositori. Anda dapat menggunakannya untuk mendapatkan tampilan tingkat tinggi tentang status keamanan organisasi Anda atau untuk mengidentifikasi repositori bermasalah yang memerlukan intervensi.
- Di tingkat organisasi, Gambaran Umum Keamanan menampilkan informasi keamanan khusus agregat dan repositori untuk repositori yang dimiliki organisasi Anda. Anda juga dapat memfilter informasi per fitur keamanan.
- Di tingkat tim, Gambaran Umum Keamanan menampilkan informasi keamanan khusus repositori untuk repositori tempat tim memiliki hak istimewa admin.
- Pada tingkat repositori, Gambaran Umum Keamanan menunjukkan fitur keamanan mana yang diaktifkan untuk repositori dan menawarkan opsi untuk mengonfigurasi fitur keamanan yang tersedia yang saat ini tidak digunakan.
Berkat tingkat interaktivitasnya yang tinggi dan banyak filter, Gambaran Umum Keamanan berguna untuk analisis luas dan spesifik dari status keamanan organisasi Anda. Misalnya, Anda dapat menggunakannya untuk memantau adopsi fitur oleh organisasi Anda atau oleh tim tertentu saat Anda meluncurkan GitHub Advanced Security ke perusahaan Anda, atau menggunakannya untuk meninjau semua pemberitahuan jenis dan tingkat keparahan tertentu di semua repositori di organisasi Anda.
Menggunakan titik akhir GitHub Advanced Security
Tabel berikut menjelaskan titik akhir apa yang tersedia untuk setiap fitur Keamanan Tingkat Lanjut dengan tautan ke dokumentasinya.
| Fitur | Endpoint | Dokumentasi |
|---|---|---|
| Pemindaian kode | Mengambil dan memperbarui pemberitahuan pemindaian kode dari repositori. Buat laporan otomatis untuk pemberitahuan pemindaian kode di organisasi. Unggah hasil analisis yang dihasilkan menggunakan alat pemindaian kode offline. |
API Pemindaian Kode |
| Pemindaian rahasia | Mengaktifkan atau menonaktifkan pemindaian rahasia untuk repositori. Mengambil dan memperbarui pemberitahuan pemindaian rahasia dari repositori privat. |
Repos API API Pemindaian Rahasia |
| Tinjauan dependensi | Aktifkan dan nonaktifkan pemberitahuan dependensi dan grafik dependensi untuk repositori. Mengaktifkan dan menonaktifkan perbaikan keamanan untuk repositori. Lihat informasi dependensi. |
Repos API GraphQL API |
Jika Anda memutuskan untuk menggunakan GitHub Actions untuk mengotomatiskan alur kerja keamanan Anda, penting untuk mengatur izin untuk GITHUB_TOKEN yang digunakan untuk melakukan panggilan API terautentikasi.
GITHUB_TOKEN memiliki izin default tergantung pada cakupan:
| Ruang lingkup | Akses default (permisif) | Akses default (dibatasi) | Akses maksimum dengan repositori bercabangan |
|---|---|---|---|
| Tindakan | baca/tulis | tidak | baca |
| pemeriksaan | baca/tulis | tidak | baca |
| isi | baca/tulis | baca | baca |
| Penyebaran | baca/tulis | tidak | baca |
| id-token | baca/tulis | tidak | baca |
| Masalah | baca/tulis | tidak | baca |
| metadata | baca | baca | baca |
| Paket | baca/tulis | tidak | baca |
| permintaan penarikan | baca/tulis | tidak | baca |
| proyek repositori | baca/tulis | tidak | baca |
| peristiwa keamanan | baca/tulis | tidak | baca |
| Status | baca/tulis | tidak | baca |
Anda dapat mengubah izin untuk GITHUB_TOKEN dalam file alur kerja individual. Jika izin default untuk GITHUB_TOKEN bersifat ketat, Anda mungkin harus meningkatkan izin untuk memungkinkan beberapa tindakan dan perintah berjalan dengan sukses. Jika izin default permisif, Anda dapat mengedit file alur kerja untuk menghapus beberapa izin dari GITHUB_TOKEN. Sebagai praktik keamanan yang baik, Anda harus memberikan GITHUB_TOKEN akses paling terbatas yang dibutuhkan.
Anda juga dapat menggunakan kunci permissions dalam file alur kerja Anda untuk mengubah izin GITHUB_TOKEN untuk seluruh alur kerja atau untuk pekerjaan individual. Kunci ini memungkinkan Anda mengonfigurasi izin minimum yang diperlukan untuk alur kerja atau pekerjaan. Saat kunci permissions digunakan, semua izin yang tidak ditentukan diatur ke tanpa akses, kecuali untuk cakupan metadata, yang selalu mendapatkan akses baca.
name: Create issue on commit
on: [ push ]
jobs:
create_commit:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Create issue using REST API
run: |
curl --request POST \
--url http(s)://[hostname]/api/v3/repos/${{ github.repository }}/issues \
--header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
--header 'content-type: application/json' \
--data '{
"title": "Automated issue for commit: ${{ github.sha }}",
"body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \n\n The commit hash was: _${{ github.sha }}_."
}' \
--fail
Dalam contoh sebelumnya, akses tulis diberikan untuk satu cakupan untuk satu pekerjaan.
Selain itu, Anda dapat menggunakan kunci permissions untuk menambahkan dan menghapus izin baca untuk repositori fork, tetapi biasanya Anda tidak dapat memberikan akses tulis. Pengecualian untuk perilaku ini adalah jika Anda memilih opsi Kirim token tulis ke alur kerja dari permintaan pull di pengaturan GitHub Actions.