Mengintegrasikan IAM dengan Google SecOps

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

Kasus penggunaan

Integrasi IAM mendukung kasus penggunaan berikut:

  • Pengelolaan siklus proses akun layanan otomatis: Membuat, mengaktifkan, atau menonaktifkan akun layanan secara otomatis selama proses orientasi dan penghentian untuk memastikan akses hanya diberikan saat 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: Perkaya entitas Pengguna di Google SecOps dengan metadata akun layanan yang mendetail, seperti nama tampilan dan project ID, untuk memberikan konteks langsung kepada analis selama investigasi.

  • Audit dan penegakan 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 khusus dengan set izin tertentu di seluruh organisasi Anda untuk mempertahankan kontrol terperinci atas akses lingkungan cloud.

Sebelum memulai

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

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

  2. Membuat 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 khusus yang hanya berisi izin khusus yang diperlukan untuk integrasi ini:

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

    Buka Peran

  2. Klik addCreate custom role.

  3. Berikan Title, Description, dan ID.

  4. Tetapkan Role launch stage ke General Availability.

  5. Klik Add Permissions dan tambahkan izin spesifik 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 ini menggunakan akun layanan untuk mengautentikasi dan menjalankan tindakan IAM dalam project Anda.

Untuk membuat akun layanan, selesaikan langkah-langkah berikut:

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

    Buka Akun Layanan

  2. Klik addCreate Service Account.

  3. Masukkan nama dan deskripsi, lalu klik Create and Continue.

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

Memilih dan mengonfigurasi metode autentikasi

Google SecOps mendukung dua jalur autentikasi untuk integrasi ini:

  • Opsi 1: Workload Identity (direkomendasikan): Metode ini menggunakan token berumur pendek menggunakan peniruan akun layanan. Cara ini lebih aman karena menghilangkan kebutuhan akan kunci JSON yang berumur panjang.

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

Melakukan autentikasi menggunakan Workload Identity (direkomendasikan)

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

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

  2. Pilih integrasi IAM.

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

  4. Klik Save, lalu klik Test. 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 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 yang Anda buat untuk integrasi ini.

  3. Buka tab Permissions, lalu klik Grant Access.

  4. Tempel alamat email unik yang Anda salin ke kolom New principals.

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

Melakukan autentikasi menggunakan kunci JSON

Jika Workload Identity tidak tersedia di lingkungan Anda, Anda dapat mengautentikasi integrasi menggunakan kunci JSON akun layanan. Metode ini mengandalkan file rahasia statis yang berumur panjang 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.

    Buka Akun Layanan

  2. Buka tab Keys.

  3. Klik Add Key > Create new key.

  4. Pilih JSON sebagai jenis kunci dan klik Create. 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 IAM memerlukan parameter berikut:

Parameter Deskripsi
API Root

Opsional.

URL dasar instance 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 server IAM.

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.

Peran Dibuat

Membuat peran Identity and Access Management.

Parameter

Parameter Display Name Jenis Nilai Default Is Mandatory 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.

Dijalankan Pada

Tindakan ini tidak berjalan 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

Membuat Akun Layanan Identity and Access Management.

Parameter

Parameter Display Name Jenis Nilai Default Is Mandatory 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.

Dijalankan Pada

Tindakan ini tidak berjalan di entity.

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)

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

    • Akun layanan <unique id> 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

Parameter Display Name Jenis Nilai Default Is Mandatory Deskripsi
ID Peran String T/A Ya Tentukan ID peran untuk peran Identity and Access Management yang baru dibuat.

Dijalankan Pada

Tindakan ini tidak berjalan di entity.

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

Menghapus akun layanan. Tindakan mengharapkan email akun layanan Identity and Access Management sebagai entity Pengguna Google SecOps.

Dijalankan Pada

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 satu dari entitas yang diberikan: "Successfully deleted the following service accounts: {0}".format([entity.Identifier]).

  • Jika gagal menghapus semua entitas yang disediakan: "No service accounts were deleted."

  • 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

Menonaktifkan akun layanan. Tindakan mengharapkan email akun layanan Identity and Access Management sebagai entity Pengguna Google SecOps.

Dijalankan Pada

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 satu dari entitas yang disediakan: "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 IAM untuk menonaktifkan entitas tertentu: "Action was not able to find a match in Google Cloud IAM 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

Mengaktifkan Akun Layanan

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

Dijalankan Pada

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 satu dari entitas yang disediakan: "Successfully enabled the following service accounts: {0}".format([entity.Identifier]).

  • Jika gagal mengaktifkan semua entitas yang disediakan: "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 Entity

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

Dijalankan Pada

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 diterapkan
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 salah satu entitas yang diberikan diperkaya: "Successfully enriched entities: {0}".format([entity.Identifier]).
  • Jika gagal memperkaya semua entitas yang diberikan: "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 Google SecOps. Perhatikan bahwa kebijakan mungkin kosong jika tidak ada kebijakan yang ditetapkan ke akun layanan.

Dijalankan Pada

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 Google Cloud berikut: <email id1, email id2 ..>
  • Jika gagal menemukan kebijakan Identity and Access Management untuk semua entitas yang diberikan: "Identity and Access Management policy was not found for any of the provided entities."

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 entity Google SecOps.

Parameter

Parameter Display Name Jenis Nilai Default Is Mandatory Deskripsi
Lihat DDL Dasar Tidak Tentukan tampilan yang harus digunakan untuk menampilkan informasi peran.
Jumlah Baris Maksimum yang Akan Ditampilkan Bilangan bulat 50 Tidak Tentukan jumlah peran yang harus ditampilkan oleh tindakan.
Hanya Mencantumkan Peran Khusus Project? Kotak centang Tidak dicentang Tidak Jika diaktifkan, tindakan hanya akan menampilkan peran khusus yang ditentukan untuk project ID saat ini.
Tampilkan yang Dihapus Kotak centang Tidak dicentang Tidak Jika diaktifkan, tindakan juga akan menampilkan peran yang dihapus.

Dijalankan Pada

Tindakan ini tidak berjalan 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."

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
Table

Nama Tabel: 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 tidak berfungsi pada entity Google SecOps.

Parameter

Parameter Display Name Jenis Nilai Default Is Mandatory 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 jumlah peran yang harus ditampilkan oleh tindakan.

Dijalankan Pada

Tindakan ini tidak berjalan di entity.

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):
    "Successfully fetched Google Cloud service accounts."
  • 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
Table

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

Client ID OAuth2 Akun Layanan

Umum

Ping

Uji konektivitas ke layanan Identity and Access Management dengan parameter yang disediakan di halaman konfigurasi integrasi di halaman Google SecOps Content Hub.

Parameter

T/A

Dijalankan Pada

Tindakan ini tidak berjalan di entity.

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 kritis, seperti kredensial salah atau konektivitas terputus: "Failed to connect to the Identity and Access Management service! Error is {0}".format(exception.stacktrace)
Umum

Merotasi Kunci Akun Layanan

Gunakan tindakan Merotasi Kunci Akun Layanan untuk merotasi 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 kuncinya akan dirotasi.

Parameter ini berfungsi bersama entity. Jika disediakan, tindakan ini akan merotasi kunci untuk akun tertentu ini selain entity 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 IAM.

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

None of the provided service accounts were found in 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 Rotate Service Account Keys:

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

Parameter Display Name Jenis Nilai Default Is Mandatory Deskripsi
Kebijakan String T/A Ya Tentukan dokumen kebijakan JSON yang akan ditetapkan untuk akun layanan.

Dijalankan Pada

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 Google Cloud berikut: <email id1, ....>

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