Mengintegrasikan Inventaris Aset Cloud dengan Google SecOps
Dokumen ini menjelaskan cara mengintegrasikan Cloud Asset Inventory dengan Google Security Operations (Google SecOps).
Versi integrasi: 12.0
Di platform Google SecOps, integrasi untuk Inventaris Aset Cloud disebut Google Cloud Asset Inventory.
Sebelum memulai
Untuk menggunakan integrasi, Anda memerlukan peran Identity and Access Management (IAM) dan akun layananGoogle Cloud .
Membuat dan mengonfigurasi peran IAM khusus
Untuk membuat peran IAM khusus dan mengonfigurasi izin tertentu untuk peran tersebut, selesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Roles IAM.
Klik Buat peran untuk membuat peran kustom dengan izin yang diperlukan untuk integrasi.
Untuk peran khusus baru, berikan Judul, Deskripsi, dan ID unik.
Tetapkan Role Launch Stage ke General Availability.
Tambahkan izin berikut ke peran yang dibuat:
cloudasset.assets.searchAllResources
Membuat dan mengonfigurasi akun layanan
Untuk mengintegrasikan Inventaris Aset Cloud dengan Google SecOps, Anda dapat menggunakan akun layanan yang ada atau membuat akun layanan baru. Untuk mendapatkan panduan tentang cara membuat akun layanan, lihat Membuat akun layanan.
Integrasi Cloud Asset Inventory mengharuskan Anda memberikan peran khusus yang Anda buat di bagian sebelumnya dan peran Cloud Asset Viewer kepada akun layanan Anda.
Jika Anda tidak menggunakan email workload identity untuk mengonfigurasi integrasi, buat kunci akun layanan dalam JSON setelah Anda membuat akun layanan. Anda harus memberikan konten lengkap file kunci JSON yang didownload saat mengonfigurasi parameter integrasi.
Untuk alasan keamanan, sebaiknya gunakan alamat email workload identity, bukan kunci JSON akun layanan. Untuk mengetahui informasi selengkapnya tentang identitas beban kerja, lihat Identitas untuk beban kerja.
Memberikan peran khusus kepada akun utama yang ada
Setelah Anda memberikan peran kustom baru kepada akun utama yang dipilih, akun utama tersebut dapat mengubah izin untuk pengguna mana pun di organisasi Anda.
Untuk memberikan peran kustom ke akun utama yang ada, selesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka halaman IAM.
Di kolom Filter, tempel nilai Workload Identity Email yang Anda gunakan untuk integrasi Cloud Asset Inventory dan telusuri principal yang ada.
Klik Edit principal. Dialog Edit akses ke "PROJECT" akan terbuka.
Di bagian Tetapkan peran, klik Tambahkan peran lain.
Pilih peran bawaan untuk Cloud Asset Inventory.
Klik Simpan.
Parameter integrasi
Integrasi Inventaris Aset Cloud memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
API Root |
Wajib
Root API instance Inventaris Aset Cloud. Nilai defaultnya adalah |
Organization ID |
Opsional
ID organisasi yang akan digunakan dalam integrasi Inventaris Aset Cloud. |
Project ID |
Opsional Project ID yang akan digunakan untuk integrasi Cloud Asset Inventory. Jika Anda tidak menetapkan nilai untuk parameter ini, integrasi
akan mengambil ID project dari konten file JSON yang diberikan dalam
parameter |
User's Service Account |
Wajib
Konten file JSON kunci akun layanan. Anda dapat mengonfigurasi parameter ini atau parameter Untuk mengonfigurasi parameter ini, berikan konten lengkap file JSON kunci akun layanan yang telah Anda download saat membuat akun layanan. |
Quota Project ID |
Opsional Google Cloud Project ID yang Anda gunakan untuk
Google Cloud API dan penagihan. Parameter ini mengharuskan Anda memberikan
peran Jika Anda tidak menetapkan nilai untuk parameter ini, integrasi akan mengambil project ID dari akun layanan Google Cloud Anda. |
Workload Identity Email |
Opsional Alamat email klien akun layanan Anda. Anda dapat mengonfigurasi parameter ini atau parameter Untuk meniru identitas akun layanan dengan Workload Identity Federation,
berikan peran |
Verify SSL |
Wajib
Jika dipilih, integrasi akan memverifikasi bahwa sertifikat SSL untuk menghubungkan ke server Cloud Asset Inventory valid. Dipilih secara default. |
Untuk mendapatkan petunjuk mendetail tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Anda dapat melakukan perubahan di tahap berikutnya jika diperlukan. Setelah mengonfigurasi instance integrasi, Anda dapat menggunakannya dalam playbook. Untuk mengetahui informasi selengkapnya tentang mengonfigurasi dan mendukung beberapa instance, lihat Mendukung beberapa instance.
Tindakan
Untuk mengetahui informasi selengkapnya tentang tindakan, lihat Merespons tindakan tertunda dari Workdesk Anda dan Melakukan tindakan manual.
Memperkaya Resource
Gunakan tindakan Enrich Resource untuk memperkaya informasi tentang resource Google Cloud menggunakan Inventaris Aset Cloud.
Tindakan tidak dijalankan pada entity Google SecOps.
Input tindakan
Untuk mengonfigurasi tindakan Enrich Resource, gunakan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Resource Names |
Wajib
Daftar yang dipisahkan koma yang berisi nama resource dari resource yang detailnya akan diambil. Untuk mengonfigurasi parameter ini, masukkan nama resource metadata lengkap dalam format berikut:
|
Fields To Return |
Opsional
Daftar kolom yang dipisahkan koma untuk ditampilkan. Nilai defaultnya adalah
Contoh nilai adalah sebagai berikut:
Tindakan ini selalu menampilkan kolom Ada juga opsi untuk mengonfigurasi filter lanjutan. Misalnya, untuk
menampilkan kunci tertentu dari |
Output tindakan
Tindakan Enrich Resource 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 Enrich Resource:
[
{
"Entity": "//iam.googleapis.com/projects/PROJECT/serviceAccounts/SERVICE_ACCOUNT/keys/KEY_ID",
"EntityResult": {
"additionalAttributes": {
"email": "email@example.iam.gserviceaccount.com",
"uniqueId": 123456789
},
"name": "//iam.googleapis.com/projects/PROJECT/serviceAccounts/SERVICE_ACCOUNT/keys/KEY_ID",
"assetType": "iam.googleapis.com/ServiceAccountKey",
"project": "projects/PROJECT",
"displayName": "projects/PROJECT/serviceAccounts/SERVICE_ACCOUNT@PROJECT.iam.gserviceaccount.com/keys/KEY_ID",
"createTime": "2022-05-26T17:35:07Z",
"versionedResources": [
{
"version": "v1",
"resource": {
"keyAlgorithm": "KEY_ALG_RSA_2048",
"keyOrigin": "GOOGLE_PROVIDED",
"keyType": "USER_MANAGED",
"name": "projects/PROJECT/serviceAccounts/SERVICE_ACCOUNT@PROJECT.iam.gserviceaccount.com/keys/KEY_ID",
"validAfterTime": "2022-05-26T17:35:07Z",
"validBeforeTime": "9999-12-31T23:59:59Z"
}
}
],
"organization": "organizations/ORGANIZATION",
"parentFullResourceName": "//iam.googleapis.com/projects/PROJECT/serviceAccounts/SERVICE_ACCOUNT@PROJECT.iam.gserviceaccount.com",
"parentAssetType": "iam.googleapis.com/ServiceAccount"
}
}
]
Pesan output
Tindakan Enrich Resource dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "Enrich resources". 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 Enrich Resource:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Mendapatkan Snapshot Resource
Gunakan tindakan Get Resource Snapshot untuk mendapatkan informasi tentang resource menggunakan Inventaris Aset Cloud.
Tindakan ini tidak berjalan di entity Google SecOps.
Input tindakan
Untuk mengonfigurasi tindakan Get Resource Snapshot, gunakan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Resource Names |
Wajib Daftar resource yang dipisahkan koma untuk mengambil detailnya. Untuk mengonfigurasi parameter ini, masukkan nama resource metadata lengkap dalam format berikut:
|
Fields To Return |
Opsional Daftar kolom yang dipisahkan koma untuk ditampilkan. Masukkan setiap kolom dalam format berikut: assets.FIELD
Contoh nilainya adalah sebagai berikut: Tindakan ini selalu menampilkan kolom Nilai defaultnya adalah |
Output tindakan
Tindakan Get Resource Snapshot 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 Get Resource Snapshot:
Hasil JSON untuk Google Cloud
[ { "Entity": "//compute.googleapis.com/projects/example-project/zones/us-central1-a/instances/example-instance", "EntityResult": { "window": { "startTime": "2023-08-14T19:43:41.805828Z", "endTime": "2262-04-11T23:47:16.854775807Z" }, "asset": { "name": "//compute.googleapis.com/projects/example-project/zones/us-central1-a/instances/example-instance", "assetType": "compute.googleapis.com/Instance", "resource": { "version": "v1", "discoveryDocumentUri": "https://www.googleapis.com/discovery/v1/apis/compute/v1/rest", "discoveryName": "Instance", "parent": "//cloudresourcemanager.googleapis.com/projects/example-project-id", "data": { "description": "", "serviceAccounts": [ { "email": "user@example.com", "scopes": [ "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/logging.write", "https://www.googleapis.com/auth/monitoring.write", "https://www.googleapis.com/auth/servicecontrol", "https://www.googleapis.com/auth/service.management.readonly", "https://www.googleapis.com/auth/trace.append" ] } ], "lastStartTimestamp": "2022-05-26T01:44:52.756-07:00", "deletionProtection": false, "name": "example-name", "keyRevocationActionType": "NONE_ON_KEY_REVOCATION", "canIpForward": false, "shieldedInstanceIntegrityPolicy": { "updateAutoLearnPolicy": true }, "zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a", "resourceStatus": {}, "scheduling": { "onHostMaintenance": "MIGRATE", "preemptible": false, "provisioningModel": "STANDARD", "automaticRestart": true }, "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/machineTypes/e2-micro", "confidentialInstanceConfig": { "enableConfidentialCompute": false }, "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instances/example-instance", "id": "example-id", "fingerprint": "example-fingerprint", "startRestricted": false, "networkInterfaces": [ { "network": "https://www.googleapis.com/compute/v1/projects/example-project/global/networks/example-network", "stackType": "IPV4_ONLY", "name": "example", "subnetwork": "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/subnetworks/example-network-subnet", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External NAT", "natIP": "192.0.2.1", "networkTier": "PREMIUM" } ], "fingerprint": "example-fingerprint", "networkIP": "203.0.113.2" } ], "allocationAffinity": { "consumeAllocationType": "ANY_ALLOCATION" }, "labelFingerprint": "example-label", "shieldedInstanceConfig": { "enableSecureBoot": false, "enableVtpm": true, "enableIntegrityMonitoring": true }, "cpuPlatform": "Intel Broadwell", "creationTimestamp": "2022-05-26T01:44:40.323-07:00", "status": "RUNNING", "disks": [ { "guestOsFeatures": [ { "type": "VIRTIO_SCSI_MULTIQUEUE" }, { "type": "SEV_CAPABLE" }, { "type": "UEFI_COMPATIBLE" }, { "type": "GVNIC" } ], "interface": "SCSI", "shieldedInstanceInitialState": { "dbxs": [ { "content": "2gcDBhMRFQAAAAAAAAAAABENAAAAAvEOndK", "fileType": "BIN" } ], "dbx": [ { "fileType": "BIN", "content": "2gcDBhMRFQAAAAAAAAAAABENAAAAAvEOndK" } ] }, "diskSizeGb": "10", "deviceName": "example-device-name", "type": "PERSISTENT", "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/disks/example-instance", "boot": true, "licenses": [ "https://www.googleapis.com/compute/v1/projects/example-project/global/licenses" ], "index": 0, "autoDelete": true, "mode": "READ_WRITE" } ], "tags": { "items": [ "http-server" ], "fingerprint": "example-fingerprint" }, "displayDevice": { "enableDisplay": false }, "reservationAffinity": { "consumeReservationType": "ANY_ALLOCATION" } }, "location": "us-central1-a" }, "ancestors": [ "projects/example-project-id", "organizations/example-org-id" ], "updateTime": "2023-08-14T19:43:41.805828Z" } } }, { "Entity": "//iam.googleapis.com/projects/example-project/serviceAccounts/example-account-id", "EntityResult": { "window": { "startTime": "2023-12-22T13:37:50Z", "endTime": "2262-04-11T23:47:16.854775807Z" }, "asset": { "name": "//iam.googleapis.com/projects/example-project/serviceAccounts/example-account-id", "assetType": "iam.googleapis.com/ServiceAccount", "resource": { "version": "v1", "discoveryDocumentUri": "https://iam.googleapis.com/$discovery/rest", "discoveryName": "ServiceAccount", "parent": "//cloudresourcemanager.googleapis.com/projects/example-project-id", "data": { "name": "projects/example-project/serviceAccounts/cloud-asset-inventory-auto@example-project.iam.gserviceaccount.com", "projectId": "example-project", "email": "cloud-asset-inventory-auto@example-project.iam.gserviceaccount.com", "uniqueId": "example-account-id", "displayName": "Cloud Asset Inventory Automation", "oauth2ClientId": "example-account-id" } }, "ancestors": [ "projects/example-project-id", "organizations/example-org-id" ], "updateTime": "2023-12-22T13:37:50Z" } } } ]
Hasil JSON untuk AWS
[ { "Entity": "//cloudasset.googleapis.com/organizations/example-org-id/otherCloudConnections/aws/arn:aws:s3:::aps-max-test-bucket", "EntityResult": { "assets": [ { "window": { "startTime": "2024-01-24T17:51:03.412233028Z", "endTime": "2262-04-11T23:47:16.854775807Z" }, "asset": { "name": "//cloudasset.googleapis.com/organizations/example-org-id/otherCloudConnections/aws/arn:aws:s3:::aps-max-test-bucket", "assetType": "cloudasset.googleapis.com/AWS::S3::Bucket", "resource": { "version": "v1", "discoveryDocumentUri": "n/a", "discoveryName": "n/a", "data": { "dataSourceProvider": "AMAZON_WEB_SERVICES", "supplementaryConfigurations": { "PublicAccessBlockConfiguration": { "BlockPublicPolicy": true, "RestrictPublicBuckets": true, "BlockPublicAcls": true, "IgnorePublicAcls": true }, "TagSet": [ { "Key": "my-key2", "Value": "my-value2" }, { "Key": "my-key1", "Value": "my-value1" } ], "ServerSideEncryptionConfiguration": { "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" }, "BucketKeyEnabled": true } ] }, "AccessControlPolicy": { "Grants": [ { "Grantee": { "DisplayName": "example", "ID": "example-id", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" } ], "Owner": { "DisplayName": "example", "ID": "example-id" } } }, "configuration": { "Name": "aps-max-test-bucket", "CreationDate": "2023-12-04T15:29:50+00:00" }, "tags": { "my-key2": "my-value2", "my-key1": "my-value1" }, "originalResourceName": "arn:aws:s3:::aps-max-test-bucket", "awsAccount": "arn:aws:organizations::example-id:account/example-account/example-account-id" }, "location": "global" }, "ancestors": [ "organizations/example-org-id" ], "updateTime": "2024-01-24T17:51:03.412233028Z" } } ] } } ]
Pesan output
Tindakan Get Resource Snapshot dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
Successfully returned information about the following resources
using Google Cloud Asset Inventory:
ASSET_IDENTIFIER
|
Tindakan berhasil. |
Error executing action "Get Resource Snapshot". 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 Get Resource Snapshot:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Mencantumkan Peran Akun Layanan
Gunakan tindakan List Service Account Roles untuk mencantumkan peran yang terkait dengan akun layanan Google Cloud menggunakan Inventaris Aset Cloud.
Tindakan ini tidak berjalan di entity Google SecOps.
Input tindakan
Untuk mengonfigurasi tindakan List Service Account Roles, gunakan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Service Accounts |
Wajib Daftar akun layanan yang dipisahkan koma untuk mengambil detailnya. |
Check Roles |
Opsional Daftar peran yang dipisahkan koma untuk diperiksa dalam kaitannya
dengan akun layanan, seperti |
Check Permissions |
Opsional Daftar izin yang dipisahkan koma untuk diperiksa dalam
kaitannya dengan akun layanan, seperti |
Expand Permissions |
Opsional Jika dipilih, tindakan akan menampilkan informasi tentang semua izin unik yang terkait dengan resource. Tidak dipilih secara default. |
Max Roles To Return |
Wajib Jumlah peran yang terkait dengan akun layanan yang akan ditampilkan. Nilai defaultnya adalah 100. |
Max Permissions To Return |
Wajib Jumlah izin yang terkait dengan akun layanan yang akan ditampilkan. |
Output tindakan
Tindakan List Service Account Roles 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 Service Account Roles:
{
"roles": ["role1", "role2"],
"unique_permissions": ["permission1", "permission2"]
}
Pesan output
Tindakan List Service Account Roles dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "List Service Account Roles". Reason:
ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Ping
Gunakan tindakan Ping untuk menguji konektivitas ke Cloud Asset Inventory.
Tindakan tidak dijalankan pada entity Google SecOps.
Input tindakan
Tidak ada.
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 Google Cloud Asset Inventory
server with the provided connection parameters! |
Tindakan berhasil. |
Failed to connect to the Google Cloud Asset Inventory server!
|
Tindakan gagal. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Ping:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.