Mengintegrasikan Google Cloud IAM dengan Google SecOps

Dokumen ini menjelaskan cara mengintegrasikan Google Cloud Identity and Access Management dengan Google Security Operations.

Kasus penggunaan

Integrasi Google Cloud IAM mendukung kasus penggunaan berikut:

  • Pengelolaan siklus proses akun layanan otomatis: Buat, aktifkan, atau nonaktifkan akun layanan secara otomatis selama proses aktivasi dan deaktivasi untuk memastikan akses hanya diberikan jika diperlukan.

  • Respons insiden identitas yang cepat: Segera hapus atau nonaktifkan akun layanan dan peran yang disusupi selama insiden keamanan untuk mencegah akses tidak sah ke resource cloud.

  • Tata kelola dan pengayaan identitas: Memperkaya entitas Pengguna di Google SecOps dengan metadata akun layanan yang mendetail, seperti nama tampilan dan ID project, untuk memberikan konteks langsung kepada analis selama penyelidikan.

  • Audit dan penerapan kebijakan: Ambil dan audit kebijakan kontrol akses untuk memastikan kebijakan tersebut selaras dengan prinsip hak istimewa terendah, dan tetapkan kebijakan baru secara terprogram untuk memperbaiki perubahan yang tidak sah.

  • Pengelolaan kontrol akses berbasis peran (RBAC): Buat dan kelola peran IAM kustom dengan set izin tertentu di seluruh organisasi Anda untuk mempertahankan kontrol terperinci atas akses lingkungan cloud.

Sebelum memulai

Sebelum mengonfigurasi integrasi Google Cloud IAM di Google SecOps, selesaikan langkah-langkah prasyarat berikut:

  1. Buat peran IAM kustom: Tentukan peran dengan izin khusus yang diperlukan untuk mengelola akun layanan dan peran.

  2. Buat akun layanan: Buat identitas yang digunakan integrasi untuk melakukan tindakan.

  3. Pilih metode autentikasi: Pilih antara Workload Identity yang direkomendasikan atau kunci JSON akun layanan.

Membuat dan mengonfigurasi peran IAM khusus

Untuk mempertahankan prinsip hak istimewa terendah, selesaikan langkah-langkah berikut untuk membuat peran kustom yang hanya berisi izin khusus yang diperlukan untuk integrasi ini:

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

  2. Klik Create Role.

  3. Berikan Judul, Deskripsi, dan ID.

  4. Tetapkan Role launch stage ke General Availability.

  5. Klik Tambahkan Izin, lalu tambahkan izin khusus berikut:

    • iam.serviceAccounts.list
    • iam.serviceAccounts.create
    • iam.serviceAccounts.get
    • iam.serviceAccounts.getIamPolicy
    • iam.serviceAccounts.setIamPolicy
    • iam.serviceAccounts.disable
    • iam.serviceAccounts.enable
    • iam.serviceAccounts.delete
    • iam.roles.list
    • iam.roles.get
    • iam.roles.create
    • iam.roles.delete
  6. Klik Create.

Membuat akun layanan

Integrasi menggunakan akun layanan untuk mengautentikasi dan mengeksekusi tindakan IAM dalam project Anda.

Untuk membuat akun layanan, selesaikan langkah-langkah berikut:

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

  2. Klik Create Service Account.

  3. Masukkan nama dan deskripsi, lalu klik Buat dan Lanjutkan.

  4. Di bagian Grant this service account access to project, tetapkan peran kustom yang Anda buat pada langkah sebelumnya ke akun layanan ini. Klik Selesai.

Pilih metode autentikasi

Google SecOps mendukung dua jalur autentikasi untuk integrasi ini:

  • Opsi 1: Workload Identity (direkomendasikan): Metode ini menggunakan token berumur pendek menggunakan peniruan identitas akun layanan. Cara ini lebih aman karena tidak memerlukan kunci JSON yang berlaku lama.

  • Opsi 2: Kunci JSON akun layanan: Metode ini menggunakan file kunci statis. Gunakan cara ini hanya jika Workload Identity tidak tersedia di lingkungan Anda.

Melakukan autentikasi menggunakan Workload Identity (direkomendasikan)

Untuk menggunakan Workload Identity, Anda harus memberi otorisasi instance Google SecOps Anda untuk meniru akun layanan yang Anda buat.

  1. Di Google SecOps, buka Content Hub > Response Integrations.

  2. Pilih integrasi Google Cloud IAM.

  3. Masukkan email akun layanan Anda di kolom Workload Identity Email.

  4. Klik Simpan, lalu klik Uji. Pengujian diperkirakan akan gagal pada awalnya.

  5. Klik close_small di samping pengujian yang gagal untuk melihat pesan error.

  6. Telusuri alamat email unik (diformat sebagai gke-init-python@... atau soar-python@...) yang ditemukan di dekat akhir pesan error. Salin alamat ini.

Memberikan izin peniruan identitas

Setelah mengambil identitas unik untuk instance Google SecOps, Anda harus memberi otorisasi agar identitas tersebut dapat mengakses resource Google Cloud Anda. Langkah ini mengaktifkan peniruan identitas akun layanan, sehingga platform dapat membuat token berjangka pendek dan bertindak atas nama Anda tanpa memerlukan kunci statis.

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

  2. Pilih akun layanan yang Anda buat untuk integrasi ini.

  3. Buka tab Permissions, lalu klik Grant Access.

  4. Tempel alamat email unik yang Anda salin ke kolom Akun utama baru.

  5. Tetapkan peran Service Account Token Creator (roles/iam.serviceAccountTokenCreator). Klik Save.

Melakukan autentikasi menggunakan kunci JSON

Jika penggunaan Workload Identity tidak tersedia di lingkungan Anda, Anda dapat mengautentikasi integrasi menggunakan kunci JSON akun layanan. Metode ini mengandalkan file rahasia statis yang aktif dalam jangka waktu lama untuk membuat koneksi antara platform dan resource Google Cloud Anda.

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

  2. Buka tab Kunci.

  3. Klik Tambahkan Kunci > Buat kunci baru.

  4. Pilih JSON sebagai jenis kunci, lalu klik Buat. File akan didownload ke komputer Anda.

  5. Salin seluruh konten file JSON.

  6. Saat Anda mengonfigurasi integrasi ini di platform, tempelkan konten ke kolom Service Account Json File Content.

Parameter integrasi

Integrasi Google Cloud IAM memerlukan parameter berikut:

Parameter Deskripsi
API Root

Opsional.

URL dasar instance Google Cloud IAM.

Nilai defaultnya adalah https://iam.googleapis.com.

Account Type

Opsional.

Jenis akun Google Cloud .

Nilai ini sesuai dengan parameter type dalam file JSON autentikasi.

Nilai defaultnya adalah service_account.

Project ID

Opsional.

Project ID akun Google Cloud .

Nilai ini sesuai dengan parameter project_id dalam file JSON autentikasi.

Quota Project ID

Opsional.

Project ID yang digunakan untuk tujuan kuota dan penagihan saat membuat permintaan API.

Private Key ID

Opsional.

ID kunci pribadi akun Google Cloud .

Nilai ini sesuai dengan parameter private_key_id dalam file JSON autentikasi.

Private Key

Opsional.

Kunci pribadi akun Google Cloud .

Nilai ini sesuai dengan parameter private_key dalam file JSON autentikasi.

Client Email

Opsional.

Email klien akun Google Cloud .

Nilai ini sesuai dengan parameter client_email dalam file JSON autentikasi.

Client ID

Opsional.

ID klien akun Google Cloud .

Nilai ini sesuai dengan parameter client_id dalam file JSON autentikasi.

Auth URI

Opsional.

URI autentikasi untuk akun Google Cloud .

Nilai ini sesuai dengan parameter auth_uri dalam file JSON autentikasi.

Nilai defaultnya adalah https://accounts.google.com/o/oauth2/auth.

Token URI

Opsional.

URI token untuk akun Google Cloud .

Nilai ini sesuai dengan parameter token_uri dalam file JSON autentikasi.

Nilai defaultnya adalah https://oauth2.googleapis.com/token.

Auth Provider X509 URL

Opsional.

URL sertifikat X.509 penyedia autentikasi.

Nilai ini sesuai dengan parameter auth_provider_x509_cert_url dalam file JSON autentikasi.

Nilai defaultnya adalah https://www.googleapis.com/oauth2/v1/certs.

Client X509 URL

Opsional.

URL sertifikat X.509 klien.

Nilai ini sesuai dengan parameter client_x509_cert_url dalam file JSON autentikasi.

Organization ID

Opsional.

ID unik untuk organisasi Google Cloud Anda.

Service Account Json File Content

Opsional.

Konten JSON lengkap dari file kunci akun layanan.

Jika parameter ini diberikan, parameter koneksi individual (seperti Private Key ID dan Private Key) akan diabaikan.

Workload Identity Email

Opsional.

Alamat email yang terkait dengan akun layanan Workload Identity.

Verify SSL

Opsional.

Jika dipilih, integrasi akan memvalidasi sertifikat SSL saat terhubung ke layanan IAM. Google Cloud

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.

Peran Dibuat

Buat peran Identity and Access Management.

Parameter

Nama Tampilan Parameter Jenis Nilai Default Wajib Diisi Deskripsi
ID Peran String T/A Ya Tentukan ID peran untuk peran Identity and Access Management yang baru dibuat.
Definisi Peran String T/A Ya Tentukan dokumen kebijakan JSON yang akan digunakan sebagai definisi peran.

Run On

Tindakan tidak dijalankan pada entity.

Contoh JSON Kebijakan Peran

{
   "name": "projects/silver-shift-275007/roles/iam_test_role_api",
   "title": "iam_test_role_api",
   "description": "test role",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "BwXBu1RHiPw="
}

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai
is_success is_success=False
is_success is_success=True
Hasil JSON
{
   "name": "projects/[PROJECT_ID]/roles/[ROLE_NAME]",
   "title": "[ROLE_TITLE]",
   "description": "[ROLE_DESCRIPTION]",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "[ETAG_VALUE]"
}
Repositori Kasus
Jenis hasil Nilai/Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika tindakan berhasil dijalankan:(is_success=true)

    • Identity and Access Management <roleid> berhasil dibuat.

  • Jika role_id yang diberikan sudah ada(is_success =false)

    • ID peran<role_id> yang diberikan sudah ada.

  • Jika JSON peran yang diberikan tidak valid (is_success =false)

    • Dokumen JSON definisi peran <role json> yang diberikan tidak valid.

Tindakan akan gagal dan menghentikan eksekusi playbook:

Jika error fatal, error SDK, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "Create Role". Reason: {0}''.format(error.Stacktrace)

Umum

Membuat Akun Layanan

Buat Akun Layanan Identity and Access Management.

Parameter

Nama Tampilan Parameter Jenis Nilai Default Wajib Diisi Deskripsi
ID Akun Layanan String String Ya Tentukan ID akun layanan yang akan dibuat.
Nama Tampilan Akun Layanan String String Tidak Tentukan nama tampilan akun layanan yang akan dibuat.
Deskripsi Akun Layanan String String Tidak Tentukan deskripsi akun layanan yang akan dibuat.

Run On

Tindakan ini tidak dijalankan pada entitas.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai
is_success is_success=False
is_success is_success=True
Hasil JSON
{
   "name": "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
   "projectId": "PROJECT_ID",
   "uniqueId": "UNIQUE_ID",
   "email": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
   "displayName": "SERVICE_ACCOUNT_DISPLAY_NAME",
   "etag": "ETAG_VALUE",
   "description": "SERVICE_ACCOUNT_DESCRIPTION",
   "oauth2ClientId": "UNIQUE_ID"
}
Repositori Kasus
Jenis hasil Nilai/Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika tindakan berhasil dijalankan:(is_success=true)

    • Google Cloud Akun Layanan berhasil dibuat <ID unik>.
  • Jika tindakan gagal dijalankan karena akun layanan yang diberikan sudah ada(is_success =false)

    • Akun layanan <ID unik> yang diberikan sudah ada.

Tindakan akan gagal dan menghentikan eksekusi playbook:

jika error fatal, error SDK, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "Create Service Account". Reason: {0}''.format(error.Stacktrace)

Umum

Hapus Peran

Menghapus Peran Identity and Access Management.

Parameter

Nama Tampilan Parameter Jenis Nilai Default Wajib Diisi Deskripsi
ID Peran String T/A Ya Tentukan ID peran untuk peran Identity and Access Management yang baru dibuat.

Run On

Tindakan ini tidak dijalankan pada entitas.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai
is_success is_success=False
is_success is_success=True
Hasil JSON
{
   "name": "projects/[PROJECT_ID]/roles/[ROLE_NAME]",
   "title": "[ROLE_TITLE]",
   "description": "[ROLE_DESCRIPTION]",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "[ETAG_VALUE]",
   "deleted": true
}
Repositori Kasus
Jenis hasil Nilai/Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika tindakan berhasil dijalankan:(is_success=true)

    • Identity and Access Management <roleid> berhasil dihapus.

  • Jika role_id yang diberikan tidak ada(is_success =false)

    • ID peran<role_id> yang diberikan tidak ada.

Tindakan akan gagal dan menghentikan eksekusi playbook:

jika error fatal, error SDK, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "Delete Role". Reason: {0}''.format(error.Stacktrace)

Umum

Menghapus Akun Layanan

Hapus akun layanan. Tindakan mengharapkan email akun layanan Identity and Access Management sebagai entitas Pengguna SecOps Google.

Run On

Tindakan ini berjalan di entity Pengguna.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai
is_success is_success=False
is_success is_success=True
Repositori Kasus
Jenis hasil Nilai/Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • jika berhasil menghapus setidaknya salah satu entitas yang diberikan: "Successfully deleted the following service accounts: {0}".format([entity.Identifier]).

  • Jika gagal menghapus semua entitas yang diberikan: "No service accounts were deleted" (Tidak ada akun layanan yang dihapus).

  • Jika gagal menemukan data di Identity and Access Management untuk menghapus entitas tertentu: "Action was not able to find a match in Identity and Access Management for the provided entities: {0}".format([entity.identifier])

Tindakan akan gagal dan menghentikan eksekusi playbook:

jika error fatal, error SDK, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "Delete Service Account". Reason: {0}''.format(error.Stacktrace)

Umum

Menonaktifkan Akun Layanan

Nonaktifkan akun layanan. Tindakan mengharapkan email akun layanan Identity and Access Management sebagai entitas Pengguna SecOps Google.

Run On

Tindakan ini berjalan di entity Pengguna.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai
is_success is_success=False
is_success is_success=True
Repositori Kasus
Jenis hasil Nilai/Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • jika berhasil menonaktifkan setidaknya salah satu entitas yang diberikan: "Successfully disabled the following service accounts: {0}".format([entity.Identifier]).

  • Jika gagal menonaktifkan semua entitas yang diberikan: "No service accounts were disabled".

  • Jika gagal menemukan data di Google Cloud Identity and Access Management untuk menonaktifkan entitas tertentu: "Action was not able to find a match in Google Cloud Identity and Access Management for the provided entities: {0}".format([entity.identifier])

Tindakan akan gagal dan menghentikan eksekusi playbook:

jika error fatal, error SDK, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "Disable Service Account". Reason: {0}''.format(error.Stacktrace)

Umum

Aktifkan Akun Layanan

Aktifkan akun layanan. Tindakan mengharapkan email akun layanan Identity and Access Management sebagai entitas Pengguna SecOps Google.

Run On

Tindakan ini berjalan di entity Pengguna.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai
is_success is_success=False
is_success is_success=True
Repositori Kasus
Jenis hasil Nilai/Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • jika berhasil, setidaknya salah satu entitas yang diberikan: "Successfully enabled the following service accounts: {0}".format([entity.Identifier]).

  • Jika gagal mengaktifkan semua entitas yang diberikan: "No service accounts were enabled".

  • Jika gagal menemukan data di Identity and Access Management untuk mengaktifkan entitas tertentu: "Action was not able to find a match in Identity and Access Management for the provided entities: {0}".format([entity.identifier])

Tindakan akan gagal dan menghentikan eksekusi playbook:

Jika error fatal, error SDK, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "Enable Service Account". Reason: {0}''.format(error.Stacktrace)

Umum

Memperkaya Entitas

Memperkaya entitas Pengguna Google SecOps dengan informasi akun layanan dari Identity and Access Management. Tindakan mengharapkan email akun layanan Identity and Access Management sebagai entitas Pengguna SecOps Google.

Run On

Tindakan ini berjalan di entity Pengguna.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai
is_success is_success=False
is_success is_success=True
Hasil JSON
{
  "name": "projects/[PROJECT_ID]/serviceAccounts/[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
  "projectId": "[PROJECT_ID]",
  "uniqueId": "[UNIQUE_ID]",
  "email": "[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
  "displayName": "[DISPLAY_NAME]",
  "etag": "[ETAG]",
  "description": "[DESCRIPTION]",
  "oauth2ClientId": "[UNIQUE_ID]"
}
Pengayaan Entity
Nama Kolom Pengayaan Logika - Kapan harus menerapkan
Google_IAM_name
Google_IAM_project_id ..
Google_IAM_unique_id
Google_IAM_email
Google_IAM_display_name
Google_IAM_description
Google_IAM_oauth2_client_id
Repositori Kasus
Jenis hasil Nilai/Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • jika berhasil dan setidaknya satu entitas yang diberikan berhasil di-enrich: "Successfully enriched entities: {0}".format([entity.Identifier]).
  • Jika gagal memperkaya semua entity yang disediakan: "No entities were enriched".
  • Jika gagal menemukan data di Identity and Access Management untuk memperkaya entitas tertentu: "Action was not able to find a match in Identity and Access Management to enrich provided entities: {0}".format([entity.identifier])

Tindakan akan gagal dan menghentikan eksekusi playbook:

Jika error fatal, error SDK, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "Enrich Entities". Reason: {0}''.format(error.Stacktrace)

Umum
Tabel (Pengayaan)

Nama Tabel: Tabel Pengayaan {entity}

Kolom: Kunci, Nilai

Entity

Mendapatkan Kebijakan IAM Akun Layanan

Mendapatkan kebijakan kontrol akses untuk akun layanan. Tindakan mengharapkan email akun layanan Identity and Access Management sebagai entitas Pengguna SecOps Google. Perhatikan bahwa kebijakan dapat kosong jika tidak ada kebijakan yang ditetapkan ke akun layanan.

Run On

Tindakan ini berjalan di entity Pengguna.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai
is_success is_success=False
is_success is_success=True
Hasil JSON
{
   "version": 1,
   "etag": "[ETAG_VALUE]",
   "bindings": [
       {
           "role": "roles/iam.securityReviewer",
           "members": [
               "user:[USER_EMAIL]"
           ]
       }
   ]
}
Repositori Kasus
Jenis hasil Nilai/Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika tindakan berhasil dijalankan:(is_success=true)

    • "Successfully fetched Identity and Access Management policy for the following Google Cloud Service Accounts: <email id1, email id 2...>
  • Jika tindakan tidak menemukan info untuk entitas (misalnya, tidak ada di email Google Identity and Access Management yang diberikan:

    • Tindakan tidak dapat mengambil kebijakan Identity and Access Management untuk Akun Layanan berikut: <email id1, email id2 ..> Google Cloud
  • Jika gagal menemukan kebijakan Identity and Access Management untuk semua entitas yang diberikan: "Kebijakan Identity and Access Management tidak ditemukan untuk semua entitas yang diberikan."

Tindakan akan gagal dan menghentikan eksekusi playbook:

Jika error fatal, error SDK, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "Get Service Account IAM Policy". Reason: {0}''.format(error.Stacktrace)

Umum

Mencantumkan Peran

Mencantumkan peran Identity and Access Management berdasarkan kriteria penelusuran yang ditentukan. Perhatikan bahwa tindakan tidak berfungsi pada entitas Google SecOps.

Parameter

Nama Tampilan Parameter Jenis Nilai Default Wajib Diisi Deskripsi
Lihat DDL Dasar Tidak Tentukan tampilan mana yang harus digunakan untuk menampilkan informasi peran.
Jumlah Baris Maksimum yang Akan Ditampilkan Bilangan bulat 50 Tidak Tentukan berapa banyak peran yang harus ditampilkan oleh tindakan.
Hanya Mencantumkan Peran Khusus Project? Kotak centang Tidak dicentang Tidak Jika diaktifkan, tindakan hanya akan menampilkan peran kustom yang ditentukan untuk project ID saat ini.
Tampilkan yang Dihapus Kotak centang Tidak dicentang Tidak Jika diaktifkan, tindakan juga akan menampilkan peran yang dihapus.

Run On

Tindakan tidak dijalankan pada entity.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai
is_success is_success=False
is_success is_success=True
Hasil JSON
{
   "roles": [
       {
           "name": "roles/accessapproval.approver",
           "title": "Access Approval Approver",
           "description": "Ability to view or act on access approval requests and view configuration",
           "stage": "BETA",
           "etag": "[ETAG_VALUE]"
       },
       {
           "name": "roles/accessapproval.configEditor",
           "title": "Access Approval Config Editor",
           "description": "Ability update the Access Approval configuration",
           "stage": "BETA",
           "etag": "[ETAG_VALUE]"
       }
   ]
}
Repositori Kasus
Jenis hasil Nilai/Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika peran berhasil dicantumkan(is_success = true): "Successfully fetched Identity and Access Management roles".

  • Jika tidak ada nilai yang tersedia (is_success = false): "No roles were returned for the specified input parameters" (Tidak ada peran yang ditampilkan untuk parameter input yang ditentukan).

Tindakan akan gagal dan menghentikan eksekusi playbook:

jika error fatal, zona tidak valid, error SDK, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "List Roles". Reason: {0}''.format(error.Stacktrace)

Umum
Tabel

Nama Tabel: Google Cloud Peran IAM

Kolom Tabel:

Nama Peran

Nama Peran

Deskripsi Peran

Tahap Peran

ETag Peran

Izin Peran

Umum

Mencantumkan Akun Layanan

Mencantumkan akun layanan Identity and Access Management berdasarkan kriteria penelusuran yang ditentukan. Perhatikan bahwa tindakan ini tidak berfungsi pada entitas Google SecOps.

Parameter

Nama Tampilan Parameter Jenis Nilai Default Wajib Diisi Deskripsi
Nama Tampilan Akun Layanan String T/A Tidak Tentukan nama tampilan akun layanan yang akan ditampilkan. Parameter menerima beberapa nilai sebagai string yang dipisahkan koma.
Email Akun Layanan String T/A Tidak Tentukan email akun layanan yang akan ditampilkan. Parameter menerima beberapa nilai sebagai string yang dipisahkan koma.
Jumlah Baris Maksimum yang Akan Ditampilkan Bilangan bulat 50 Tidak Tentukan berapa banyak peran yang harus ditampilkan oleh tindakan.

Run On

Tindakan ini tidak dijalankan pada entitas.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai
is_success is_success=False
is_success is_success=True
Hasil JSON
{
  "accounts": [
    {
      "name": "projects/[PROJECT_ID]/serviceAccounts/[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
      "projectId": "[PROJECT_ID]",
      "uniqueId": "[UNIQUE_ID]",
      "email": "[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
      "displayName": "[DISPLAY_NAME]",
      "etag": "[ETAG_VALUE]",
      "description": "[SERVICE_ACCOUNT_DESCRIPTION]",
      "oauth2ClientId": "[UNIQUE_ID]"
    }
  ]
}
Repositori Kasus
Jenis hasil Nilai/Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika akun layanan berhasil dicantumkan (is_success = true):
    "Akun layanan berhasil diambil Google Cloud ."
  • Jika tidak ada nilai yang tersedia(is_success = false): "No service accounts were returned for the specified input parameters."

Tindakan akan gagal dan menghentikan eksekusi playbook:

jika error fatal, zona tidak valid, error SDK, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "List Service Accounts". Reason: {0}''.format(error.Stacktrace)

Umum
Tabel

Nama Tabel: Google Cloud Akun Layanan

Kolom Tabel:

Nama Akun Layanan

ID Unik Akun Layanan

Email Akun Layanan

Nama Tampilan Akun Layanan

Deskripsi Akun Layanan

ID Klien OAuth2 Akun Layanan

Umum

Ping

Uji konektivitas ke layanan Identity and Access Management dengan parameter yang diberikan di halaman konfigurasi integrasi pada tab Google Security Operations Marketplace.

Parameter

T/A

Run On

Tindakan ini tidak dijalankan pada entitas.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai
is_success is_success=False
is_success is_success=True
Repositori Kasus
Jenis hasil Nilai/Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • jika berhasil: "Successfully connected to the Identity and Access Management service with the provided connection parameters!"

Tindakan akan gagal dan menghentikan eksekusi playbook:

  • jika terjadi error penting, seperti kredensial salah atau koneksi terputus: "Failed to connect to the Identity and Access Management service! Error is {0}".format(exception.stacktrace)
Umum

Mengganti secara rutin Kunci Akun Layanan

Gunakan tindakan Ganti Kunci Akun Layanan untuk mengganti kunci yang dikelola pengguna yang terkait dengan akun layanan. Selama rotasi, semua kunci yang ada akan dihapus dan kunci baru akan dibuat.

Tindakan ini berjalan di entity Google SecOps berikut:

  • Deployment

  • Username

Input tindakan

Tindakan Rotate Service Account Keys memerlukan parameter berikut:

Parameter Deskripsi
Service Account

Opsional.

Daftar akun layanan yang dipisahkan koma yang akan dirotasi kuncinya.

Parameter ini berfungsi bersama entity. Jika diberikan, tindakan akan merotasi kunci untuk akun tertentu ini selain entitas akun layanan yang diidentifikasi dalam cakupan tindakan.

Output tindakan

Tindakan Rotate Service Account Keys 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 Rotate Service Account Keys:

[
    {
       "Entity": "123",
       "EntityResult": {
               "name": "projects/example-project/serviceAccounts/sample-sa@example-project.iam.gserviceaccount.com/keys/b333bbda7826af991a4d4cc4e3f83325103580ca",
               "validAfterTime": "2023-09-12T11:02:31Z",
               "validBeforeTime": "9999-12-31T23:59:59Z",
               "keyAlgorithm": "KEY_ALG_RSA_2048",
               "keyOrigin": "GOOGLE_PROVIDED",
               "keyType": "USER_MANAGED"
        }
    },
    {
       "Entity": "1234",
       "EntityResult": {
               "name": "projects/example-project/serviceAccounts/sample-sa@example-project.iam.gserviceaccount.com/keys/b333bbda7826af991a4d4cc4e3f83325103580ca",
               "validAfterTime": "2023-09-12T11:02:31Z",
               "validBeforeTime": "9999-12-31T23:59:59Z",
               "keyAlgorithm": "KEY_ALG_RSA_2048",
               "keyOrigin": "GOOGLE_PROVIDED",
               "keyType": "USER_MANAGED"
        }
    }
]
Pesan output

Tindakan Rotate Service Account Keys dapat menampilkan pesan output berikut:

Pesan output Deskripsi pesan

Successfully rotated keys for service account SERVICE_ACCOUNT_EMAIL in Google Cloud IAM.

The following service accounts were not found in Google Cloud IAM: SERVICE_ACCOUNT_KEYS.

None of the provided service accounts were found in Google Cloud IAM.

Tindakan berhasil.
Error executing action "Rotate Service Account Keys". 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 Ganti Kunci Akun Layanan secara Rutin:

Nama hasil skrip Nilai
is_success true atau false

Menetapkan Kebijakan IAM Akun Layanan

Menetapkan kebijakan kontrol akses pada akun layanan yang ditentukan. Tindakan mengharapkan email akun layanan Identity and Access Management sebagai entitas akun Google SecOps. Perhatikan bahwa kebijakan yang diberikan dalam tindakan akan menggantikan kebijakan yang ada.

Parameter

Nama Tampilan Parameter Jenis Nilai Default Wajib Diisi Deskripsi
Kebijakan String T/A Ya Tentukan dokumen kebijakan JSON yang akan ditetapkan untuk akun layanan.

Run On

Tindakan ini berjalan di entity Akun.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai
is_success is_success=False
is_success is_success=True
Hasil JSON
{
   "version": 1,
   "etag": "[ETAG_VALUE]",
   "bindings": [
       {
           "role": "roles/iam.securityReviewer",
           "members": [
               "user:[USER_EMAIL]"
           ]
       }
   ]
}
Repositori Kasus
Jenis hasil Nilai/Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika beberapa berhasil (is_success=True):

    • Berhasil menetapkan kebijakan Identity and Access Management untuk Akun Layanan Google Cloud berikut: <email id1, ...>

  • Jika beberapa gagal:

    • Tindakan tidak dapat menetapkan kebijakan Identity and Access Management untuk Akun Layanan berikut: <email id1, ....> Google Cloud

  • Jika semuanya gagal:

    • Tidak ada kebijakan Identity and Access Management Akun Layanan yang ditetapkan.

  • Jika JSON kebijakan yang diberikan tidak valid (is_success =false)

    • Dokumen JSON kebijakan <policy> yang diberikan tidak valid.

Tindakan akan gagal dan menghentikan eksekusi playbook:

Jika error fatal, error SDK, seperti kredensial salah, tidak ada koneksi ke server, atau error lainnya: "Error executing action "Set Service Account IAM Policy". Reason: {0}''.format(error.Stacktrace)

Umum

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.