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 pendeteksi: Menambahkan entitas dan indikator ke daftar URL pendeteksi tertentu untuk pemantauan.

Sebelum memulai

Sebelum mengonfigurasi integrasi Cloud Identity di platform Google SecOps, pastikan Anda telah mengonfigurasi lingkungan menggunakan langkah-langkah berikut:

  1. Membuat akun layanan:
  2. Mendelegasikan otoritas tingkat domain ke akun layanan Anda
  3. Aktifkan API yang diperlukan untuk project Anda.
  4. 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 singkat menggunakan peniruan akun layanan, sehingga tidak perlu menyimpan secret apa pun.

Membuat akun layanan

Untuk membuat akun layanan untuk integrasi, selesaikan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka IAM & Admin > Service Accounts, lalu pilih project Anda.

    Buka Akun Layanan

  2. Klik Create service account.

  3. Berikan nama dan deskripsi, lalu klik Selesai untuk membuat akun.

Mendelegasikan otoritas tingkat domain ke akun layanan Anda

  1. Dari konsol Google Admin domain Anda, buka Menu utama > Keamanan > Kontrol data dan akses > Kontrol API.
  2. Di panel Domain wide delegation, pilih Manage Domain Wide Delegation.
  3. Klik Tambahkan baru.
  4. Di kolom Client ID, masukkan client ID yang diperoleh dari bagian Membuat akun layanan.
  5. Di kolom OAuth Scopes, 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.orgunit
    
  6. Klik Otorisasi.

Akun layanan kini diberi otorisasi untuk mengakses data di seluruh domain Anda menggunakan cakupan yang ditentukan.

Mengaktifkan API yang diperlukan untuk project Anda

  1. Di konsol Google Cloud , buka APIs & Services.

    Buka APIs & Services

  2. Klik Enable APIs and Services.

  3. Telusuri dan aktifkan API berikut untuk project Anda:

    • Admin SDK API (admin.googleapis.com)
    • Cloud Identity API (cloudidentity.googleapis.com)

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:

  1. Di konsol Google Cloud , buka IAM & Admin > Service Accounts, lalu pilih akun layanan yang Anda buat.

    Buka Akun Layanan

  2. Buka tab Keys.

  3. Klik Add key.

  4. Pilih Buat kunci baru.

  5. Untuk jenis kunci, pilih JSON, lalu klik Create. File JSON akan didownload ke komputer Anda.

  6. Salin seluruh konten file ini dan tempelkan ke User's Service Account JSON selama konfigurasi integrasi.

Mengonfigurasi izin Cloud Identity

Gunakan prosedur berikut untuk menentukan hak istimewa administratif yang diperlukan integrasi untuk mengelola resource organisasi:

  1. Di konsol Google Admin, buka Akun > Peran Admin.
  2. Klik Buat peran baru.
  3. Berikan nama untuk peran khusus baru, lalu klik Lanjutkan.
  4. Di halaman Pilih Hak Istimewa, buka bagian hak istimewa Admin API.
  5. Di bagian Hak istimewa Admin API, pilih hak istimewa berikut:
    • Organization Units
    • Users
    • Groups
  6. Klik Lanjutkan.
  7. Untuk membuat peran khusus baru, klik Create Role.
Menetapkan peran kustom kepada pengguna

Gunakan prosedur berikut untuk menetapkan peran ke akun pengguna, yang mengizinkan integrasi untuk melakukan tindakan atas nama Anda:

  1. Untuk membuat pengguna baru, buka halaman Directory > Users.
  2. Tambahkan pengguna baru yang terkait dengan akun layanan.
  3. Buka setelan untuk pengguna yang baru dibuat. Tab akun pengguna akan terbuka.
  4. Klik Peran dan hak istimewa Admin.
  5. Klik edit Edit.
  6. Pilih peran khusus yang Anda buat.
  7. Untuk peran yang dipilih, alihkan tombol ke Assigned.

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 singkat 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 akun layanan Anda. Langkah ini memungkinkan instance mengakses resource Google Cloud dengan aman.

  1. Di Google SecOps, buka Content Hub > Response Integrations.
  2. Pilih integrasi yang Anda konfigurasi, dan masukkan email akun layanan Anda di kolom Workload Identity Email.
  3. Masukkan email yang ingin ditiru oleh integrasi di kolom Delegated Email.
  4. Klik Save > Test. Pengujian diperkirakan akan gagal.
  5. Klik close_small di sebelah kanan Test dan telusuri pesan error untuk email identitas yang diawali dengan gke-init-python@... atau soar-python@....

  6. 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.

  1. Di konsol Google Cloud , buka IAM & Admin > Service Accounts.

    Buka Akun Layanan

  2. Pilih akun layanan target dan buka Permissions > Grant Access.

  3. Tempelkan alamat email unik ke kolom New principals dan 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 Workload Identity Email. Untuk menggunakan metode ini, tempelkan 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 Service Account JSON File Content.

Untuk menggunakan metode ini untuk peniruan akun layanan, Anda harus memberikan peran Service Account Token Creator ke identitas instance Google SecOps di akun layanan 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 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 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

Successfully connected to the Cloud Identity server with the provided connection parameters!

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 Add Entity To Detector URL List untuk menambahkan entitas ke daftar deteksi Kebijakan Cloud Identity.

Tindakan ini berjalan di entity Google SecOps berikut:

  • URL
  • Domain

Input tindakan

Tindakan Add Entity To Detector URL List 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 Add Entity To Detector URL List 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 Add Entity To Detector URL List:

{
 "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 Add Entity To Detector URL List dapat menampilkan pesan output berikut:

Pesan output Deskripsi pesan

Successfully blocked the following URLs using Cloud Identity: ENTITY_IDENTIFIER

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 Add Entity To Detector URL List:

Nama hasil skrip Nilai
is_success true atau false

Kebijakan Dibuat

Gunakan tindakan Create Policy untuk membuat entri kebijakan baru dalam Cloud Identity.

Tindakan ini tidak berjalan di entity Google SecOps.

Input tindakan

Tindakan Create Policy memerlukan parameter berikut:

Parameter Deskripsi
Policy Entry

Wajib.

Objek JSON yang mewakili 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

Successfully added a new policy in Cloud Identity.

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 Create Policy:

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 yang kebijakannya akan dicantumkan.

Policy Type Filter

Opsional.

Jenis kebijakan yang digunakan untuk memfilter daftar. Nilai yang mungkin: Admin, System, atau Both.

Nilai defaultnya adalah Both.

Settings Type Filter

Opsional.

Pola ekspresi reguler yang digunakan untuk memfilter kebijakan berdasarkan 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 50. Nilai maksimum adalah 100.

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

Successfully listed policies based on the provided criteria in Cloud Identity.

No policies found based on the provided criteria in Cloud Identity.

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.