Mengintegrasikan Cloud Identity dengan Google SecOps
Dokumen ini menjelaskan cara mengintegrasikan Cloud Identity dengan Google Security Operations.
Kasus penggunaan
Integrasi Cloud Identity menggunakan kemampuan Google SecOps untuk mendukung kasus penggunaan berikut:
- Mengelola kontrol akses: Buat dan perbarui konfigurasi IAM langsung dari playbook investigasi.
- Definisi kebijakan audit: Mencantumkan informasi tentang kebijakan yang tersedia untuk melacak mutasi akses.
- Mempertahankan atribut daftar detektor: Tambahkan entitas dan indikator ke daftar URL detektor tertentu untuk pemantauan.
Sebelum memulai
Sebelum mengonfigurasi integrasi Cloud Identity di platform Google SecOps, verifikasi bahwa Anda telah mengonfigurasi lingkungan menggunakan langkah-langkah berikut:
- Membuat akun layanan:
- Mendelegasikan kewenangan tingkat domain ke akun layanan Anda
- Aktifkan API yang diperlukan untuk project Anda.
- Pilih dan konfigurasi salah satu metode autentikasi berikut:
- Opsi 1: Kunci JSON: Metode ini mengandalkan file kunci rahasia statis yang berlaku lama. Gunakan metode ini hanya jika Workload Identity tidak tersedia di lingkungan Anda.
- Opsi 2: Workload Identity (direkomendasikan): Metode ini menggunakan token akses sementara yang berjangka pendek menggunakan peniruan identitas akun layanan, sehingga tidak perlu menyimpan rahasia 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.
Mendelegasikan otoritas tingkat domain ke akun layanan Anda
- Dari konsol Google Admin domain Anda, buka Menu utama > Keamanan > Kontrol data dan akses > Kontrol API.
- Di panel Delegasi tingkat domain, pilih Kelola Delegasi Tingkat Domain.
- Klik Tambahkan baru.
- Di kolom Client ID, masukkan client ID yang diperoleh dari bagian Membuat akun layanan.
Di kolom Cakupan OAuth, masukkan daftar cakupan yang dipisahkan koma berikut yang diperlukan untuk aplikasi Anda:
https://www.googleapis.com/auth/cloud-platform, https://www.googleapis.com/auth/cloud-identity.policies, https://www.googleapis.com/auth/admin.directory.orgunitKlik Otorisasi.
Akun layanan kini diizinkan untuk mengakses data di seluruh domain Anda menggunakan cakupan yang ditentukan.
Aktifkan API yang diperlukan untuk project Anda
Di konsol Google Cloud , buka APIs & Services.
Klik Enable APIs and Services.
Telusuri dan aktifkan API berikut untuk project Anda:
- Admin SDK API (
admin.googleapis.com) - Cloud Identity API (
cloudidentity.googleapis.com)
- Admin SDK API (
Mengonfigurasi kunci JSON
Anda dapat mengautentikasi integrasi menggunakan file kunci JSON statis atau Workload Identity Federation. 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 Kunci.
Klik Add key.
Pilih Buat kunci baru.
Untuk jenis kunci, pilih JSON, lalu klik Buat. File JSON akan didownload ke komputer Anda.
Salin seluruh konten file ini dan tempelkan ke
User's Service Account JSONselama konfigurasi integrasi.
Mengonfigurasi izin Cloud Identity
Gunakan prosedur berikut untuk menentukan hak istimewa administratif yang diperlukan integrasi untuk mengelola resource organisasi:
- Di konsol Google Admin, buka Akun > Peran Admin.
- Klik Buat peran baru.
- Berikan nama untuk peran kustom baru, lalu klik Lanjutkan.
- Di halaman Pilih Hak Istimewa, buka bagian hak istimewa Admin API.
- Di bagian Hak istimewa Admin API, pilih hak istimewa berikut:
Organization UnitsUsersGroups
- Klik Lanjutkan.
- Untuk membuat peran khusus baru, klik Buat Peran.
Menetapkan peran kustom kepada pengguna
Gunakan prosedur berikut untuk menetapkan peran ke akun pengguna, sehingga mengizinkan integrasi untuk melakukan tindakan atas nama Anda:
- Untuk membuat pengguna baru, buka halaman Direktori > Pengguna.
- Tambahkan pengguna baru yang terkait dengan akun layanan.
- Buka setelan untuk pengguna yang baru dibuat. Tab akun pengguna akan terbuka.
- Klik Peran dan hak istimewa Admin.
- Klik edit Edit.
- Pilih peran khusus yang Anda buat.
- Untuk peran yang dipilih, alihkan tombol ke Ditetapkan.
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 memiliki masa aktif singkat menggunakan peniruan identitas akun layanan, sehingga meminimalkan risiko eksposur kredensial rahasia yang memiliki masa aktif lama.
Mengidentifikasi identitas instance unik
Untuk menggunakan Workload Identity, Anda harus memberikan izin kepada instance Google SecOps Anda untuk meniru identitas akun layanan Anda. Langkah ini memungkinkan instance mengakses resource Google Cloud secara aman.
- Di Google SecOps, buka Content Hub > Response Integrations.
- Pilih integrasi yang Anda konfigurasi, lalu masukkan email akun layanan Anda di kolom
Workload Identity Email. - Masukkan email yang Anda inginkan untuk di-impersonate oleh integrasi di kolom
Delegated Email. - Klik Simpan > Uji. Pengujian diperkirakan akan gagal.
Klik close_small di sebelah kanan Test dan telusuri pesan error untuk menemukan email identitas yang diawali dengan
gke-init-python@...atausoar-python@....Salin alamat email unik ini dan tempelkan ke
Workload Identity Emailselama konfigurasi integrasi.
Memberi otorisasi identitas instance di Google Cloud
Setelah mengambil identitas unik untuk instance Google SecOps, Anda harus memberikan otorisasi agar instance tersebut dapat mengakses resource Google Cloud Anda. Langkah ini mengaktifkan peniruan akun layanan, sehingga platform dapat membuat token berjangka pendek dan bertindak atas nama Anda tanpa memerlukan kunci statis.
- Di konsol Google Cloud , buka IAM & Admin > Service Accounts.
- Pilih akun layanan target dan buka Izin > Beri Akses.
- Tempel alamat email unik ke kolom New principals.
- Tetapkan peran Service Account Token Creator
(
roles/iam.serviceAccountTokenCreator).
Parameter integrasi
Integrasi Cloud Identity memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Service Account JSON File Content |
Opsional. Konten file JSON kunci akun layanan. Anda dapat mengonfigurasi parameter ini atau Email Workload Identity. Untuk menggunakan metode ini, tempel seluruh string JSON dari file kunci yang didownload selama pembuatan akun layanan. |
Workload Identity Email |
Opsional. Alamat email klien akun layanan Anda. Anda dapat mengonfigurasi parameter ini atau Konten File JSON Akun Layanan. Untuk menggunakan metode ini untuk peniruan akun layanan, Anda harus memberikan peran Service Account Token Creator ke akun layanan Google SecOps Anda. |
Delegated Email |
Wajib. Alamat email yang digunakan integrasi untuk melakukan tindakan. Pastikan akun ini memiliki izin yang didelegasikan yang sesuai dalam lingkungan Anda untuk menjalankan tugas integrasi yang diperlukan. |
Verify SSL |
Opsional. Jika dipilih, integrasi akan memvalidasi sertifikat SSL saat terhubung ke server Cloud Identity. Diaktifkan secara default. |
Untuk mengetahui petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Anda dapat melakukan perubahan di 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 tertunda dari Ruang Kerja Anda dan Melakukan tindakan manual.
Ping
Gunakan tindakan Ping untuk menguji konektivitas ke Cloud Identity.
Tindakan ini tidak berjalan di entity Google SecOps.
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. |
Failed to connect to the Cloud Identity server! Error is ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Ping:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
true atau false |
Menambahkan Entitas ke Daftar URL Pendeteksi
Gunakan tindakan Tambahkan Entitas ke Daftar URL Pendeteksi untuk menambahkan entitas ke daftar deteksi Kebijakan Cloud Identity.
Tindakan ini berjalan di entity Google SecOps berikut:
- URL
- Domain
Input tindakan
Tindakan Tambahkan Entitas ke Daftar URL Pendeteksi memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Detector Policy ID |
Wajib. ID unik kebijakan detektor yang akan diperbarui. |
URL |
Opsional. Daftar URL yang dipisahkan koma untuk ditambahkan ke daftar pendeteksi. |
Domain |
Opsional. Daftar domain yang dipisahkan koma untuk ditambahkan ke daftar detektor. |
Output tindakan
Tindakan Tambahkan Entitas ke Daftar URL Pendeteksi 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 | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menunjukkan output hasil JSON yang diterima saat menggunakan tindakan Tambahkan Entitas ke Daftar URL Detektor:
{
"type": "ADMIN",
"customer": "customers/<CUSTOMER_ID>",
"policyQuery": {
"query": "entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('<ORG_UNIT_ID>'))",
"orgUnit": "orgUnits/<ORG_UNIT_ID>"
},
"setting": {
"type": "settings/detector.url_list",
"value": {
"displayName": "test_url_list_detector",
"description": "test_url_list_detector desc",
"urlList": {
"urls": [
"[http://example.com](http://example.com)",
"example.org",
"bad_entity.com"
]
}
}
}
}
Pesan output
Tindakan Tambahkan Entitas ke Daftar URL Detektor dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "Add Entity To Detector URL List". Reason: ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Tambahkan URL Entitas ke Daftar URL Detektor:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
true atau false |
Kebijakan Dibuat
Gunakan tindakan Buat Kebijakan untuk membuat entri kebijakan baru dalam Cloud Identity.
Tindakan ini tidak berjalan di entity Google SecOps.
Input tindakan
Tindakan Buat Kebijakan memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Policy Entry |
Wajib. Objek JSON yang merepresentasikan konfigurasi entri kebijakan yang akan ditambahkan. |
Contoh konfigurasi kebijakan
Contoh konfigurasi berikut menunjukkan cara menyusun parameter Policy Entry:
Contoh 1: Pendeteksi Daftar URL
{
"type": "ADMIN",
"customer": "customers/<CUSTOMER_ID>",
"policyQuery": {
"orgUnit": "orgUnits/<ORG_UNIT_ID>",
"sortOrder": 1
},
"setting": {
"type": "settings/detector.url_list",
"value": {
"displayName": "BlockUrlDetector",
"description": "Blocked urls for security reasons",
"urlList": {
"urls": [
"www.medium.com",
"medium.com",
"wikipedia.org"
]
}
}
}
}
Contoh 2: Aturan DLP
{
"type": "ADMIN",
"customer": "customers/<CUSTOMER_ID>",
"policyQuery": {
"query": "entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('<ORG_UNIT_ID>'))",
"orgUnit": "orgUnits/<ORG_UNIT_ID>",
"sortOrder": 1
},
"setting": {
"type": "settings/rule.dlp",
"value": {
"display_name": "TestRule",
"description": "GoogleSecOps URL Blocklist Rule. Keeps state of blocked URLs. Manual modification is not advised",
"triggers": [
"google.workspace.chrome.url.v1.navigation"
],
"condition": {
"contentCondition": "url.matches_url_list('policies/<DETECTOR_POLICY_ID>')"
},
"action": {
"chromeAction": {
"blockContent": {
"actionParams": {
"customEndUserMessage": {
"unsafeHtmlMessageBody": "(EQ)🚫 BlockedAccess denied."
}
}
}
}
},
"state": "ACTIVE"
}
}
}
Output tindakan
Tindakan Create Policy 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 | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menunjukkan output hasil JSON yang diterima saat menggunakan tindakan Create Policy:
{
"type": "ADMIN",
"customer": "customers/<CUSTOMER_ID>",
"policyQuery": {
"query": "entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('<ORG_UNIT_ID>'))",
"orgUnit": "orgUnits/<ORG_UNIT_ID>"
},
"setting": {
"type": "settings/rule.dlp",
"value": {
"display_name": "test_create_rule",
"triggers": [
"google.workspace.chrome.file.v1.download"
],
"state": "ACTIVE",
"action": {
"chromeAction": {
"warnUser": {}
}
}
}
}
}
Pesan output
Tindakan Create Policy dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "Create Policy". Reason: ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Buat Kebijakan:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
true atau false |
Mencantumkan Kebijakan
Gunakan tindakan List Policies untuk mengambil daftar kebijakan yang ada dari Cloud Identity.
Tindakan ini tidak berjalan di entity Google SecOps.
Input tindakan
Tindakan List Policies memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Organization Unit Name |
Wajib. Nama unit organisasi tempat kebijakan akan dicantumkan. |
Policy Type Filter |
Opsional. Jenis kebijakan yang digunakan untuk memfilter daftar. Nilai yang mungkin: Nilai defaultnya adalah |
Settings Type Filter |
Opsional. Pola ekspresi reguler yang digunakan untuk memfilter kebijakan menurut jenis setelannya. Filter ini diterapkan langsung ke permintaan API. |
Settings Display Name Filter |
Opsional. Daftar nama tampilan yang dipisahkan koma yang digunakan untuk memfilter setelan kebijakan. |
Max Results To Return |
Opsional. Jumlah maksimum hasil yang akan ditampilkan untuk eksekusi tindakan. Nilai defaultnya adalah |
Output tindakan
Tindakan List Policies 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 | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menunjukkan output hasil JSON yang diterima saat menggunakan tindakan List Policies:
[
{
"name": "policies/123",
"customer": "customers/123",
"type": "ADMIN",
"policy_query": {
"query": "entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('12345'))",
"orgUnit": "orgUnits/12345",
"sortOrder": 1
},
"setting": {
"type": "settings/rule.dlp",
"value": {
"display_name": "Test DLP Rule"
}
}
}
]
Pesan output
Tindakan List Policies dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
|
Tindakan berhasil. |
Error executing action "List Policies". Reason: ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan List Policies:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
true atau false |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.