Dokumen ini menjelaskan cara melindungi informasi sensitif Anda dengan pemindaian secret terintegrasi di Secure Source Manager.
Pemindaian secret di Secure Source Manager meningkatkan keamanan codebase Anda. Fitur ini menganalisis commit yang dikirim ke repositori Anda atau digabungkan melalui permintaan pull, serta secara aktif memindai informasi sensitif yang harus Anda enkripsi atau hapus. Jika data tersebut terdeteksi, pemindaian rahasia akan otomatis menolak push atau memblokir penggabungan permintaan pull, sehingga mencegah detail sensitif digabungkan secara tidak sengaja.
Pemindaian secret di Secure Source Manager memperlakukan kategori informasi berikut sebagai sensitif:
- Kunci enkripsi: Ini mencakup item seperti kunci pribadi SSH.
- Kredensial AWS: Kunci akses dan kunci rahasia untuk Amazon Web Services.
- Google Cloud credentials: Kunci akun layanan dan secret Google Cloud lainnya.
- Rahasia klien OAuth: Rahasia yang digunakan untuk autentikasi aplikasi dengan OAuth.
- Kunci rahasia: Kunci sensitif yang digunakan untuk autentikasi atau otorisasi.
Mengaktifkan pemindaian secret
Pastikan peran dan setelan berikut diaktifkan untuk repositori Anda.
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan untuk mengaktifkan pemindaian secret,
minta administrator untuk memberi Anda
peran IAM Secure Source Manager Repository Admin (roles/securesourcemanager.repoAdmin) di repositori Secure Source Manager.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran yang telah ditetapkan ini berisi izin securesourcemanager.repositories.update, yang diperlukan untuk mengaktifkan pemindaian secret.
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Untuk mengetahui informasi tentang cara memberikan peran Secure Source Manager, lihat Kontrol akses dengan IAM dan Memberi pengguna akses instance.
Izin akun layanan
Jika Anda mengonfigurasi pemindaian secret untuk menggunakan template pemeriksaan Sensitive Data Protection kustom, akun layanan yang digunakan oleh Secure Source Manager harus memiliki izin untuk membaca template (misalnya, peran DLP Reader, roles/dlp.reader).
- Jika akun layanan per repositori dikonfigurasi untuk repositori, Secure Source Manager akan menggunakan akun layanan tersebut secara eksklusif. Anda harus memberikan izin baca template ke akun layanan per repositori.
- Jika tidak ada akun layanan per repositori yang dikonfigurasi, Secure Source Manager akan menggunakan akun layanan instance.
Memperbarui setelan repositori
Anda dapat mengaktifkan pemindaian secret untuk repositori melalui antarmuka Secure Source Manager:
- Buka repositori tempat Anda ingin mengaktifkan pemindaian secret.
- Klik ikon Settings.
- Temukan tombol Secret scanning.
- Klik tombol ke posisi Aktif.
- Opsional: Di kolom Inspection template, masukkan nama resource template pemeriksaan Sensitive Data Protection Anda.
- Klik tombol Update Settings.
Menggunakan pemindaian secret
Setelah diaktifkan, pemindaian secret akan secara aktif memantau commit ke repositori Anda. Jika informasi sensitif diidentifikasi dalam commit yang dikirim menggunakan Git atau digabungkan melalui permintaan pull di antarmuka web, commit akan ditolak atau penggabungan akan diblokir.
Saat melakukan push dari command line, Anda akan menerima error yang menunjukkan keberadaan data sensitif. Pada tahap ini, Anda memiliki dua opsi:
Mengembalikan perubahan
Untuk menghapus informasi sensitif, Anda dapat mengembalikan commit yang bermasalah menggunakan perintah berikut:
git reset --soft COMMIT_ID
Ganti COMMIT_ID dengan ID commit yang sebenarnya.
Karena Git menyimpan histori semua commit, materi sensitif masih dapat dipulihkan dari commit sebelumnya. Untuk menghindari hal ini, gunakan perintah git reset --soft. Kemudian, perbaiki file dan commit lagi untuk menghapus data dari histori terbaru cabang.
Mendorong paksa commit (mengabaikan pemindaian secret)
Dalam situasi tertentu saat informasi yang terdeteksi dianggap dapat diterima, pengguna dengan izin yang sesuai dapat memilih untuk mengabaikan pemeriksaan pemindaian rahasia dan memaksa push commit.
git push -o dlpskip=true origin \
BRANCH_NAME
Ganti BRANCH_NAME dengan nama cabang yang Anda gabungkan.