Mengintegrasikan Secret Manager dengan Google SecOps
Dokumen ini menjelaskan cara mengintegrasikan Secret Manager dengan Google Security Operations.
Kasus penggunaan
Integrasi Secret Manager menggunakan kemampuan Google SecOps untuk mendukung kasus penggunaan berikut:
- Memusatkan pengelolaan kredensial: Hilangkan kredensial aplikasi hard code yang disematkan dalam file konfigurasi dan skrip Google SecOps Anda dengan menyimpan, mengaudit, dan mengelolanya secara terpusat dalam Google Cloud.
- Sinkronkan parameter: Otomatiskan pengelolaan konfigurasi menggunakan tugas sinkronisasi latar belakang untuk mengambil entri dari Google Cloud Secret Manager dan mengupdate instance integrasi, konektor, dan tugas.
Sebelum memulai
Sebelum mengonfigurasi integrasi di platform Google SecOps, pastikan Anda telah mengonfigurasi lingkungan menggunakan langkah-langkah berikut:
- Membuat akun layanan:
- Aktifkan API yang diperlukan untuk project Anda.
- Pilih dan konfigurasikan salah satu metode autentikasi berikut:
- Opsi 1: Kunci JSON: Metode ini mengandalkan file kunci rahasia statis yang berumur panjang. Gunakan metode ini hanya jika Workload Identity tidak tersedia di lingkungan Anda.
- Opsi 2: Workload Identity (direkomendasikan): Metode ini menggunakan token akses sementara yang berumur pendek menggunakan peniruan akun layanan, sehingga tidak perlu menyimpan secret apa pun.
Membuat akun layanan
Untuk membuat akun layanan untuk integrasi, selesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka IAM & Admin > Service Accounts, lalu pilih project Anda.
Klik Create service account.
Berikan nama dan deskripsi, lalu klik Selesai untuk membuat akun.
Berikan izin IAM yang diperlukan ke akun layanan, bergantung pada metode autentikasi yang Anda pilih:
- Untuk autentikasi kunci akun layanan, berikan peran berikut:
- Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor), memungkinkan integrasi mengakses payload secret. - Secret Manager Viewer (
roles/secretmanager.viewer), *memberikan izinsecretmanager.secrets.listyang diperlukan untuk tindakan Ping guna menguji konektivitas*.
- Secret Manager Secret Accessor (
- Untuk autentikasi Workload Identity:
- Berikan peran Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor) dan Secret Manager Viewer (roles/secretmanager.viewer) kepada akun layanan target yang ditiru identitasnya. - Pastikan identitas lingkungan runtime Anda memiliki peran Service Account Token Creator (
roles/iam.serviceAccountTokenCreator).
- Berikan peran Secret Manager Secret Accessor (
- Untuk autentikasi kunci akun layanan, berikan peran berikut:
Mengaktifkan API yang diperlukan untuk project Anda
Di konsol Google Cloud , buka APIs & Services.
Klik Enable APIs and Services.
Telusuri dan aktifkan Secret Manager API untuk project Anda.
Mengonfigurasi kunci JSON
Anda dapat mengautentikasi integrasi menggunakan file kunci JSON statis atau Workload Identity. Untuk memaksimalkan keamanan lingkungan Anda, gunakan metode Workload Identity. Gunakan metode kunci JSON hanya jika Workload Identity tidak didukung di infrastruktur Anda, karena kunci statis memerlukan rotasi manual dan meningkatkan risiko eksposur kredensial.
Untuk membuat file kunci JSON yang diperlukan untuk mengautentikasi integrasi, selesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka IAM & Admin > Service Accounts, lalu pilih akun layanan yang Anda buat.
Buka tab Keys.
Klik Add key.
Pilih Buat kunci baru.
Untuk jenis kunci, pilih JSON, lalu klik Create. File JSON akan didownload ke komputer Anda.
Salin seluruh konten file ini dan tempelkan ke
Service Account JSONselama konfigurasi integrasi.
Mengonfigurasi izin Secret Manager
Gunakan prosedur berikut untuk memberikan hak istimewa administratif yang diperlukan integrasi untuk mengakses materi rahasia dan memvalidasi konektivitas dalam project Google Cloud Anda:
- Di konsol Google Cloud , buka IAM & Admin > IAM.
- Temukan akun layanan yang Anda buat dari daftar akun utama, lalu klik edit Edit principal.
- Klik Add another role.
- Di kolom pemilihan peran, telusuri dan pilih peran berikut:
- Klik Simpan.
Mengonfigurasi kredensial Workload Identity
Pilih metode ini atau metode kunci JSON untuk mengautentikasi integrasi. Workload Identity adalah pendekatan yang direkomendasikan dan lebih aman karena menggunakan token akses sementara yang berumur pendek menggunakan peniruan akun layanan, sehingga meminimalkan risiko eksposur kredensial rahasia yang berumur panjang.
Mengidentifikasi identitas instance yang unik
Untuk menggunakan Workload Identity, Anda harus memberi instance Google SecOps izin untuk meniru identitas akun layanan Anda. Langkah ini memungkinkan instance mengakses resource Google Cloud dengan aman.
Di Google SecOps, buka Content Hub > Response Integrations.
Pilih integrasi yang Anda konfigurasi, dan masukkan email akun layanan Anda di
Workload Identity Email.Klik Save > Test. Pengujian diperkirakan akan gagal.
Klik close_small di sebelah kanan Test dan telusuri pesan error untuk email identitas yang diawali dengan
gke-init-python@...atausoar-python@....Salin alamat email unik ini.
Mengizinkan identitas instance di Google Cloud
Setelah mengambil identitas unik untuk instance Google SecOps, Anda harus memberinya otorisasi untuk mengakses resource Google Cloud . Langkah ini mengaktifkan peniruan akun layanan, sehingga platform dapat membuat token berumur singkat dan bertindak atas nama Anda tanpa memerlukan kunci statis.
Di konsol Google Cloud , buka IAM & Admin > Service Accounts.
Pilih akun layanan target dan buka Permissions > Grant Access.
Tempelkan alamat email unik ke kolom New principals dan tetapkan peran Service Account Token Creator (
roles/iam.serviceAccountTokenCreator).
Parameter integrasi
Integrasi Secret Manager memerlukan parameter konfigurasi berikut:
| Parameter | Deskripsi |
|---|---|
Service Account JSON |
Opsional. Konten file JSON kunci akun layanan yang digunakan untuk melakukan autentikasi dengan Secret Manager. Anda dapat mengonfigurasi parameter ini atau Workload Identity Email. |
Project ID |
Opsional. Project ID Google Cloud tempat secret Anda disimpan. Jika tidak ada nilai yang diberikan, integrasi akan mencoba menyimpulkannya dari
|
Workload Identity Email |
Opsional. Alamat email akun layanan yang akan ditiru saat melakukan autentikasi menggunakan Workload Identity (Kredensial Default Aplikasi). Gunakan konfigurasi ini, bukan |
Verify SSL |
Wajib. Jika dipilih, integrasi akan memvalidasi sertifikat SSL saat membuat koneksi ke Secret Manager. Diaktifkan secara default ( |
Untuk mendapatkan petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Anda dapat melakukan perubahan pada tahap selanjutnya, jika diperlukan. Setelah mengonfigurasi instance integrasi, Anda dapat menggunakannya dalam playbook. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi dan mendukung beberapa instance, lihat Mendukung beberapa instance.
Tindakan
Untuk mengetahui informasi selengkapnya tentang tindakan, lihat Merespons tindakan yang tertunda dari meja kerja Anda dan Menjalankan tindakan manual dalam kasus Anda.
Ping
Gunakan tindakan Ping untuk memvalidasi konektivitas dan memverifikasi parameter konfigurasi terhadap instance Secret Manager target.
Tindakan ini terutama digunakan untuk pengujian koneksi langsung dari halaman konfigurasi integrasi di Content Hub dan tidak dijalankan pada entitas Google Cloud individual.
Input tindakan
Tidak ada parameter input yang diperlukan untuk tindakan ini.
Output tindakan
Tindakan Ping memberikan output berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tidak tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Pesan output
Tindakan Ping dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil dan kredensial valid. |
Failed to connect to Secret Manager! Error is
ERROR_REASON |
Tindakan gagal. Periksa kredensial autentikasi, konfigurasi Project ID, izin IAM, atau konektivitas jaringan Anda. Pastikan akun layanan memiliki izin |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Ping:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
true atau false |
Pekerjaan
Untuk mengetahui informasi selengkapnya tentang tugas, lihat Mengonfigurasi tugas baru dan Penjadwalan lanjutan.
Tugas Sinkronisasi Kredensial Integrasi
Gunakan Secret Manager - Sync Integration Credentials Job untuk menyinkronkan parameter konfigurasi secara sistematis dari entri Secret Manager untuk mengupdate instance integrasi platform, konektor, dan konfigurasi tugas latar belakang secara otomatis.
Tugas sinkronisasi latar belakang ini beroperasi secara global dan tidak dijalankan pada setiap entitas.
Perilaku tugas
Tugas ini mengurai objek konfigurasi terstruktur untuk mengkueri definisi secret, dengan menangani dua gaya referensi versi:
- Notasi Tersirat: Format sebagai
projects/<project_id>/secrets/<secret_name>. Tugas sinkronisasi secara dinamis me-resolve dan mengambil versi aktif terbaru dari Secret Manager selama pemrosesan. - Notasi Eksplisit: Format sebagai
projects/<project_id>/secrets/<secret_name>/versions/<version_id>. Tugas sinkronisasi mengambil entri versi yang disematkan tersebut, meskipun statusnya ditandai sebagai tidak aktif di Google Cloud.
Setiap jalur secret yang ditargetkan di dalam Secret Manager harus berisi string objek JSON yang valid yang memetakan kunci parameter langsung ke nilai kredensial masing-masing.
Contoh konfigurasi Pemetaan Kredensial
{
"integration_instances": {
"AzureActiveDirectory_1": {
"Client ID": "projects/154371241292/secrets/AzureActiveDirectory"
}
},
"connectors": {
"Crowdstrike - Alerts Connector": {
"Client Secret": "projects/154371241292/secrets/CrowdstrikeConnectorSecret",
"Client ID": "projects/154371241292/secrets/CrowdstrikeConnectorID"
},
"Microsoft Graph Mail Connector": {
"Client Secret": "projects/154371241292/secrets/GraphConnectorSecret",
"Client ID": "projects/154371241292/secrets/GraphConnectorID/versions/3"
}
},
"jobs": {
"Sync Incidents": {
"API Root": "projects/154371241292/secrets/API_Root/versions/2"
}
}
}
Input tugas
Tugas Kredensial Integrasi Sinkronisasi memerlukan parameter konfigurasi berikut:
| Parameter | Deskripsi |
|---|---|
Environment Name |
Wajib. Nama konteks lingkungan tempat kueri konfigurasi target dilakukan. Nilai defaultnya adalah |
Credential Mapping |
Wajib. String JSON yang valid yang menyusun lokasi target tempat instance integrasi, konektor, dan tugas dipetakan ke koordinat resource Secret Manager eksplisitnya. |
Service Account JSON |
Opsional. Konten JSON kunci akun layanan yang dikhususkan untuk mengizinkan tugas sinkronisasi latar belakang ini. |
Project ID |
Opsional. Cakupan Project ID Google Cloud default yang menghosting resource target. |
Workload Identity Email |
Opsional. Email akun layanan kredensial default aplikasi yang akan ditiru identitasnya jika berjalan di dalam infrastruktur Google Cloud dengan Workload Identity aktif. |
Verify SSL |
Wajib. Memvalidasi endpoint sertifikat SSL selama tugas sinkronisasi. Diaktifkan secara default
( |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.