Mengaktifkan pemindaian secret

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. Pemindaian ini menganalisis commit yang dikirim ke repositori Anda atau digabungkan melalui permintaan pull, dan secara aktif memindai informasi sensitif yang harus Anda enkripsi atau hapus. Jika data tersebut terdeteksi, pemindaian secret akan otomatis menolak pengiriman 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: Kategori ini mencakup item seperti kunci pribadi SSH.
  • Kredensial AWS: Kunci akses dan kunci secret untuk Amazon Web Services.
  • Google Cloud kredensial: Kunci akun layanan dan secret lainnya Google Cloud .
  • Rahasia klien OAuth: Secret yang digunakan untuk autentikasi aplikasi dengan OAuth.
  • Kunci secret: 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 instance Secure Source Manager. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi tentang cara memberikan peran Secure Source Manager, lihat Kontrol akses dengan IAM dan Memberikan akses instance kepada pengguna.

Izin akun layanan

Jika Anda mengonfigurasi pemindaian secret untuk menggunakan template pemeriksaan Perlindungan Data Sensitif 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:

  1. Buka repositori tempat Anda ingin mengaktifkan pemindaian secret.
  2. Klik ikon Settings.
  3. Temukan tombol Secret scanning.
  4. Klik tombol ke posisi On.
  5. Opsional: Di kolom Inspection template, masukkan nama resource template pemeriksaan Perlindungan Data Sensitif Anda.

Menggunakan pemindaian secret

Setelah diaktifkan, pemindaian secret akan secara aktif memantau commit ke repositori Anda. Jika informasi sensitif teridentifikasi dalam commit yang dikirim menggunakan Git atau digabungkan melalui permintaan pull di antarmuka web, commit akan ditolak atau penggabungan akan diblokir.

Saat mengirim dari command line, Anda akan menerima error yang menunjukkan adanya 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 sebenarnya.

Karena Git menyimpan histori semua commit, materi sensitif masih dapat dipulihkan dari commit sebelumnya. Untuk menghindarinya, gunakan perintah git reset --soft. Kemudian, perbaiki file dan commit lagi untuk menghapus data dari histori terbaru cabang.

Mengirim commit secara paksa (mengabaikan pemindaian secret)

Dalam situasi tertentu ketika informasi yang terdeteksi dianggap dapat diterima, pengguna dengan izin yang sesuai dapat memilih untuk mengabaikan pemeriksaan pemindaian secret dan mengirim commit secara paksa.

git push -o dlpskip=true origin \
    BRANCH_NAME

Ganti BRANCH_NAME dengan nama cabang yang Anda gabungkan.

Langkah berikutnya