Anda dapat menerima notifikasi real-time tentang perubahan resource dan kebijakan dengan membuat dan berlangganan feed.
Saat membuat feed, Anda dapat menentukan bahwa Anda ingin memantau perubahan jenis resource yang didukung, kebijakan IAM, kebijakan akses, dan kebijakan organisasi dalam suatu organisasi, folder, project. Selain itu, Anda dapat menambahkan kondisi ke feed sehingga Anda hanya menerima notifikasi untuk jenis perubahan tertentu pada aset.
Setelah membuat feed, Anda akan menerima notifikasi melalui Pub/Sub setiap kali aset yang ditentukan berubah. Tujuan pesan pertama yang dipublikasikan ke topik Pub/Sub adalah pesan selamat datang di format string, dan semua pesan berikutnya dalam format TemporalAsset.
Berikut adalah contoh pesan Pub/Sub untuk jenis konten RESOURCE
.
{
"asset":{
"ancestors":[
"projects/000000000000",
"folders/000000000000",
"organizations/000000000000"
],
"assetType":"storage.googleapis.com/Bucket",
"name":"//storage.googleapis.com/my-bucket",
"resource":{
"data":{
LATEST_ASSET_METADATA
},
"discoveryDocumentUri":"https://www.googleapis.com/discovery/v1/apis/storage/v1/rest",
"discoveryName":"Bucket",
"location":"us",
"parent":"//cloudresourcemanager.googleapis.com/projects/000000000000",
"version":"v1"
},
"updateTime":"2024-01-30T00:00:00.000000Z"
},
"priorAsset":{
"ancestors":[
"projects/000000000000",
"folders/000000000000",
"organizations/000000000000"
],
"assetType":"storage.googleapis.com/Bucket",
"name":"//storage.googleapis.com/my-bucket",
"resource":{
"data":{
PREVIOUS_ASSET_METADATA
},
"discoveryDocumentUri":"https://www.googleapis.com/discovery/v1/apis/storage/v1/rest",
"discoveryName":"Bucket",
"location":"us",
"parent":"//cloudresourcemanager.googleapis.com/projects/000000000000",
"version":"v1"
},
"updateTime":"2024-01-29T00:00:00.000000Z"
},
"priorAssetState":"PRESENT",
"window":{
"startTime":"2024-01-30T00:00:00.000000Z"
}
}
Untuk mempelajari Pub/Sub lebih lanjut atau cara menyiapkan langganan, lihat Dokumentasi Pub/Sub.
Sebelum memulai
Aktifkan Cloud Asset Inventory API di project tempat Anda menjalankan perintah Cloud Asset Inventory.
Pastikan akun Anda memiliki peran yang benar untuk memanggil Cloud Asset Inventory API. Untuk izin individual bagi setiap jenis panggilan, lihat Izin.
Buat topik Pub/Sub, jika Anda belum sudah memilikinya.
Batasan
Diperlukan waktu hingga 10 menit untuk setiap pembuatan, pembaruan, atau penghapusan feed diberlakukan.
Project tempat feed dibuat harus lebih lama dari feed. Hal ini karena akun layanan yang digunakan untuk memublikasikan ke topik Pub/Sub tujuan yang ada dalam project tersebut. Feed tidak lagi berfungsi dan akan dihapus segera setelah penghapusan project bersifat permanen.
Anda dapat membuat hingga 200 feed pada induk. Batas ini hanya berlaku untuk feed mengikuti induk secara langsung dan tidak menghitung feed turunannya. Misalnya, jika Anda memiliki 10 project dalam organisasi, setiap project dapat memiliki hingga 200 feed, dan organisasi juga dapat memiliki hingga 200 feed.
Membuat feed
gcloud
gcloud asset feeds create FEED_ID \ --SCOPE \ --billing-project=BILLING_PROJECT_ID \ --pubsub-topic=projects/TOPIC_PROJECT_ID/topics/TOPIC_ID \ --asset-names=ASSET_NAME_1,ASSET_NAME_2,... \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --content-type=CONTENT_TYPE \ --relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --condition-title="CONDITION_TITLE" \ --condition-description="CONDITION_DESCRIPTION" \ --condition-expression="CONDITION_EXPRESSION"
Berikan nilai berikut:
-
SCOPE
: Gunakan salah satu nilai berikut:-
project=PROJECT_ID
, denganPROJECT_ID
adalah ID project tempat membuat feed. -
folder=FOLDER_ID
, denganFOLDER_ID
adalah ID folder tempat membuat feed.Cara menemukan ID folder Google Cloud
Konsol Google Cloud
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Telusuri nama folder Anda. ID folder akan ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dengan TOP_LEVEL_FOLDER_NAME adalah pencocokan string sebagian atau penuh untuk nama folder. Hapus flag
--format
untuk melihat informasi selengkapnya tentang menemukan folder.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder tingkat teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi tempat feed dibuat.Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
FEED_ID
: ID feed aset unik.-
BILLING_PROJECT_ID
: Opsional. Project ID tempat agen layanan Cloud Asset Inventory default berada yang memiliki izin untuk mengelola topik Pub/Sub Anda. Baca selengkapnya tentang cara menetapkan project penagihan. -
TOPIC_PROJECT_ID
: ID project tempat topik Pub/Sub berada. -
TOPIC_ID
: ID topik Pub/Sub untuk memublikasikan notifikasi. - Setidaknya salah satu definisi aset berikut:
ASSET_NAME_#
: Opsional. Daftar nama lengkap aset yang dipisahkan koma.ASSET_TYPE_#
: Opsional. Daftar jenis aset yang dapat ditelusuri yang dipisahkan koma. Ekspresi reguler yang kompatibel dengan RE2 didukung. Jika ekspresi reguler tidak cocok semua jenis aset yang didukung, errorINVALID_ARGUMENT
akan ditampilkan. Jika--asset-types
tidak ditentukan, semua jenis aset akan ditampilkan.
CONTENT_TYPE
: Opsional. Tujuan jenis konten dari metadata yang ingin Anda ambil. Jika--content-type
tidak ditentukan, hanya informasi dasar yang ditampilkan, seperti nama aset, waktu terakhir kali aset diperbarui, dan project, folder, serta organisasi tempat aset tersebut berada.-
RELATIONSHIP_TYPE_#
: Opsional. Hanya tersedia untuk Security Command Center Tingkat Premium dan Enterprise pelanggan. Daftar yang dipisahkan koma untuk jenis hubungan aset yang ingin Anda ambil. Anda harus menetapkanCONTENT_TYPE
keRELATIONSHIP
agar fitur ini berfungsi. - Jika menambahkan kondisi feed opsional, sertakan detail berikut
dalam perintah Anda:
CONDITION_TITLE
: Judul yang akan ditetapkan ke kondisi feed.-
CONDITION_DESCRIPTION
: Deskripsi yang akan ditetapkan ke kondisi feed. CONDITION_EXPRESSION
: Ekspresi kondisi yang akan diterapkan ke feed.
Lihat referensi gcloud CLI untuk semua opsi.
Contoh
Jalankan perintah berikut untuk membuat feed di topik Pub/Sub my-topic
yang memberi tahu saat perubahan dilakukan pada resource berikut dalam my-project
proyek.
- Bucket Cloud Storage
my-bucket
- Semua tabel BigQuery
gcloud asset feeds create my-feed \ --project=my-project \ --pubsub-topic=projects/my-project/topics/my-topic \ --asset-names=//storage.googleapis.com/my-bucket \ --asset-types=bigquery.googleapis.com/Table \ --content-type=resource
Contoh respons
assetNames: - //storage.googleapis.com/my-bucket assetTypes: - bigquery.googleapis.com/Table condition: {} contentType: RESOURCE feedOutputConfig: pubsubDestination: topic: projects/my-project/topics/my-topic name: projects/000000000000/feeds/my-feed
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds
Header:
X-Goog-User-Project: BILLING_PROJECT_ID
Meminta isi JSON:
{ "feedId": "FEED_ID", "feed": { "assetNames": [ "ASSET_NAME_1", "ASSET_NAME_2", "..." ], "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "contentType": "CONTENT_TYPE", "relationshipTypes": [ "RELATIONSHIP_TYPE_1", "RELATIONSHIP_TYPE_2", "..." ], "feedOutputConfig": { "pubsubDestination": { "topic": "projects/TOPIC_PROJECT_ID/topics/TOPIC_ID" } }, "condition": { "title": "CONDITION_TITLE", "description": "CONDITION_DESCRIPTION", "expression": "CONDITION_EXPRESSION" } } }
Berikan nilai berikut:
-
SCOPE_PATH
: Gunakan salah satu nilai berikut:Nilai yang diizinkan adalah:
-
projects/PROJECT_ID
, denganPROJECT_ID
adalah ID project untuk membuat feed. -
projects/PROJECT_NUMBER
, denganPROJECT_NUMBER
adalah nomor project tempat membuat feed.Cara menemukan nomor project Google Cloud
Konsol Google Cloud
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Selamat Datang di konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
-
Pilih organisasi Anda dari kotak daftar, lalu telusuri nama project Anda. Nama project, nomor project, dan project ID ditampilkan di dekat halaman Welcome {i>heading<i}.
Hingga 4.000 resource ditampilkan. Jika Anda tidak melihat project yang dicari, buka halaman Kelola resource dan filter daftar menggunakan nama project tersebut.
gcloud CLI
Anda dapat mengambil nomor project Google Cloud dengan perintah berikut:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, denganFOLDER_ID
adalah ID folder tempat feed akan dibuat.Cara menemukan ID folder Google Cloud
Konsol Google Cloud
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Telusuri nama folder Anda. ID folder akan ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dengan TOP_LEVEL_FOLDER_NAME adalah pencocokan string sebagian atau penuh untuk nama folder. Hapus flag
--format
untuk melihat informasi selengkapnya tentang menemukan folder.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder level teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi tempat feed akan dibuat.Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: Project ID yang agen layanan Inventaris Aset Cloud default, yang memiliki izin untuk mengelola Topik Pub/Sub. Baca selengkapnya tentang cara menetapkan project penagihan. FEED_ID
: ID feed aset unik.- Setidaknya salah satu definisi aset berikut:
ASSET_NAME_#
: Opsional. Array nama lengkap aset.ASSET_TYPE_#
: Opsional. Himpunan jenis aset yang dapat ditelusuri. Ekspresi reguler yang kompatibel dengan RE2 didukung. Jika ekspresi reguler tidak cocok semua jenis aset yang didukung, errorINVALID_ARGUMENT
akan ditampilkan. JikaassetTypes
tidak ditentukan, semua jenis aset akan ditampilkan.
CONTENT_TYPE
: Opsional. Jenis konten metadata yang ingin Anda ambil. JikacontentType
tidak ditentukan, hanya informasi dasar yang ditampilkan, seperti nama aset, waktu terakhir aset diperbarui, dan project, folder, serta organisasi tempat aset tersebut berada.-
RELATIONSHIP_TYPE_#
: Opsional. Hanya tersedia untuk Security Command Center Tingkat Premium dan Enterprise pelanggan. Daftar yang dipisahkan koma dari jenis hubungan aset yang ingin diambil. Anda harus menetapkanCONTENT_TYPE
keRELATIONSHIP
agar berfungsi. -
TOPIC_PROJECT_ID
: ID project tempat Topik Pub/Sub ditemukan. -
TOPIC_ID
: ID topik Pub/Sub untuk memublikasikan notifikasi. - Jika menambahkan kondisi feed opsional, sertakan detail berikut
dalam perintah Anda:
CONDITION_TITLE
: Judul yang akan ditetapkan ke kondisi feed.-
CONDITION_DESCRIPTION
: Deskripsi yang akan ditetapkan ke kondisi feed. CONDITION_EXPRESSION
: Ekspresi kondisi yang akan diterapkan ke feed.
Lihat referensi REST untuk semua lainnya.
Contoh perintah
Jalankan salah satu perintah berikut untuk membuat feed di Pub/Sub my-topic
yang memberi tahu saat terjadi perubahan pada resource berikut dalam
project my-project
.
- Bucket Cloud Storage
my-bucket
- Semua tabel BigQuery
curl (Linux, macOS, atau Cloud Shell)
curl -X POST \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "feedId": "my-feed", "feed": { "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } } }' \ https://cloudasset.googleapis.com/v1/projects/my-project/feeds
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } $body = @" { "feedId": "my-feed", "feed": { "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } } } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/feeds" | Select-Object -Expand Content
Contoh respons
{ "name": "projects/000000000000/feeds/my-feed", "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } }
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Inventaris Aset Cloud, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat Library klien Inventaris Aset Cloud
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat Library klien Inventaris Aset Cloud
Untuk melakukan autentikasi ke Inventaris Aset Cloud, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Inventaris Aset Cloud, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat Library klien Inventaris Aset Cloud
Untuk melakukan autentikasi ke Inventaris Aset Cloud, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Mendapatkan feed
gcloud
gcloud asset feeds describe FEED_ID \ --SCOPE \ --billing-project=BILLING_PROJECT_ID
Berikan nilai berikut:
-
SCOPE
: Gunakan salah satu nilai berikut:-
project=PROJECT_ID
, denganPROJECT_ID
adalah ID project tempat feed berada. -
folder=FOLDER_ID
, denganFOLDER_ID
adalah ID folder tempat feed berada.Cara menemukan ID folder Google Cloud
Konsol Google Cloud
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Telusuri nama folder Anda. ID folder akan ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dengan TOP_LEVEL_FOLDER_NAME adalah pencocokan string sebagian atau penuh untuk nama folder. Hapus flag
--format
untuk melihat informasi selengkapnya tentang menemukan folder.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder tingkat teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi tempat feed berada.Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: Project ID yang agen layanan Inventaris Aset Cloud default, yang memiliki izin untuk mengelola Topik Pub/Sub. Baca selengkapnya tentang cara menetapkan project penagihan. FEED_ID
: ID feed aset unik.
Lihat referensi gcloud CLI untuk semua opsi.
Contoh respons
assetNames: - //storage.googleapis.com/my-bucket assetTypes: - bigquery.googleapis.com/Table condition: {} contentType: RESOURCE feedOutputConfig: pubsubDestination: topic: projects/my-project/topics/my-topic name: projects/000000000000/feeds/my-feed
REST
Metode HTTP dan URL:
GET https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds/FEED_ID
Header:
X-Goog-User-Project: BILLING_PROJECT_ID
Berikan nilai berikut:
-
SCOPE_PATH
: Gunakan salah satu nilai berikut:Nilai yang diizinkan adalah:
-
projects/PROJECT_ID
, denganPROJECT_ID
adalah ID project tempat feed berada. -
projects/PROJECT_NUMBER
, denganPROJECT_NUMBER
adalah jumlah project tempat feed berada.Cara menemukan nomor project Google Cloud
Konsol Google Cloud
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Selamat Datang di konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
-
Pilih organisasi Anda dari kotak daftar, lalu telusuri nama project Anda. Nama project, nomor project, dan project ID ditampilkan di dekat halaman Welcome {i>heading<i}.
Hingga 4.000 resource ditampilkan. Jika Anda tidak melihat project yang dicari, buka halaman Kelola resource dan filter daftar menggunakan nama project tersebut.
gcloud CLI
Anda dapat mengambil nomor project Google Cloud dengan perintah berikut:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, denganFOLDER_ID
adalah ID folder tempat feed berada.Cara menemukan ID folder Google Cloud
Konsol Google Cloud
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Telusuri nama folder Anda. ID folder akan ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dengan TOP_LEVEL_FOLDER_NAME adalah pencocokan string sebagian atau penuh untuk nama folder. Hapus flag
--format
untuk melihat informasi selengkapnya tentang menemukan folder.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder level teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi tempat feed berada.Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: Project ID yang agen layanan Inventaris Aset Cloud default, yang memiliki izin untuk mengelola set data dan tabel BigQuery. Baca selengkapnya tentang cara menetapkan project penagihan. FEED_ID
: ID feed aset unik.
Lihat referensi REST untuk semua lainnya.
Contoh perintah
Jalankan salah satu perintah berikut untuk mendapatkan feed tertentu.
curl (Linux, macOS, atau Cloud Shell)
curl -X GET \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/my-project/feeds/my-feed
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/feeds/my-feed" | Select-Object -Expand Content
Contoh respons
{ "name": "projects/000000000000/feeds/my-feed", "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } }
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Inventaris Aset Cloud, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Membuat daftar feed
Untuk menampilkan daftar semua feed untuk project, folder, atau organisasi, buat salah satu terhadap permintaan berikut.
gcloud
gcloud asset feeds list \ --SCOPE \ --billing-project=BILLING_PROJECT_ID
Berikan nilai berikut:
-
SCOPE
: Gunakan salah satu nilai berikut:-
project=PROJECT_ID
, denganPROJECT_ID
adalah ID project tempat feed berada. -
folder=FOLDER_ID
, denganFOLDER_ID
adalah ID folder tempat feed berada.Cara menemukan ID folder Google Cloud
Konsol Google Cloud
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Telusuri nama folder Anda. ID folder akan ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dengan TOP_LEVEL_FOLDER_NAME adalah pencocokan string sebagian atau penuh untuk nama folder. Hapus flag
--format
untuk melihat informasi selengkapnya tentang menemukan folder.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder tingkat teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi tempat feed berada.Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: ID project tempat agen layanan Cloud Asset Inventory default berada yang memiliki izin untuk mengelola topik Pub/Sub Anda. Baca selengkapnya tentang cara menetapkan project penagihan.
Baca referensi gcloud CLI untuk mengetahui semua opsi.
Contoh respons
- assetNames: - //storage.googleapis.com/my-bucket assetTypes: - bigquery.googleapis.com/Table condition: {} contentType: RESOURCE feedOutputConfig: pubsubDestination: topic: projects/my-project/topics/my-topic name: projects/000000000000/feeds/my-feed
REST
Metode HTTP dan URL:
GET https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds
Header:
X-Goog-User-Project: BILLING_PROJECT_ID
Berikan nilai berikut:
-
SCOPE_PATH
: Gunakan salah satu nilai berikut:Nilai yang diizinkan adalah:
-
projects/PROJECT_ID
, denganPROJECT_ID
adalah ID project tempat feed berada. -
projects/PROJECT_NUMBER
, denganPROJECT_NUMBER
adalah jumlah project tempat feed berada.Cara menemukan nomor project Google Cloud
Konsol Google Cloud
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Welcome di Konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
-
Pilih organisasi Anda dari kotak daftar, lalu telusuri nama project Anda. Nama project, nomor project, dan project ID ditampilkan di dekat halaman Welcome {i>heading<i}.
Hingga 4.000 resource ditampilkan. Jika Anda tidak melihat project yang Anda cari, pergi ke Halaman Mengelola resource dan memfilter daftar menggunakan nama proyek tersebut.
gcloud CLI
Anda dapat mengambil nomor project Google Cloud dengan perintah berikut:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, denganFOLDER_ID
adalah ID folder tempat feed berada.Cara menemukan ID folder Google Cloud
Konsol Google Cloud
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Telusuri nama folder Anda. ID folder akan ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dengan TOP_LEVEL_FOLDER_NAME adalah pencocokan string sebagian atau penuh untuk nama folder. Hapus flag
--format
untuk melihat informasi selengkapnya tentang menemukan folder.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder level teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi tempat feed berada.Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: ID project tempat agen layanan Cloud Asset Inventory default berada yang memiliki izin untuk mengelola set data dan tabel BigQuery Anda. Baca selengkapnya tentang cara menetapkan project penagihan.
Lihat referensi REST untuk semua lainnya.
Contoh perintah
Jalankan salah satu perintah berikut untuk mencantumkan semua feed dalam project my-project
.
curl (Linux, macOS, atau Cloud Shell)
curl -X GET \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/my-project/feeds
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/feeds" | Select-Object -Expand Content
Contoh respons
{ "feeds": [ { "name": "projects/000000000000/feeds/my-feed", "assetNames": [ "//storage.googleapis.com/my-bucket" ], "assetTypes": [ "bigquery.googleapis.com/Table" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } } ] }
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat Library klien Inventaris Aset Cloud
Untuk melakukan autentikasi ke Inventaris Aset Cloud, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat Library klien Inventaris Aset Cloud
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat Library klien Inventaris Aset Cloud
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Memperbarui feed
Anda dapat memperbarui atribut feed yang ada dengan cara berikut:
Menambahkan dan menghapus nama aset tertentu, atau menghapus semuanya dari feed.
Menambahkan dan menghapus jenis aset tertentu, atau menghapus semuanya dari feed.
Menutupi kondisi atau menghapusnya dari feed.
gcloud
gcloud asset feeds update FEED_ID \ --SCOPE \ --billing-project=BILLING_PROJECT_ID \ --pubsub-topic=projects/TOPIC_PROJECT_ID/topics/TOPIC_ID \ --clear-asset-names \ --add-asset-names=ASSET_NAME_1,ASSET_NAME_2,... \ --remove-asset-names=ASSET_NAME_3,ASSET_NAME_4,... \ --clear-asset-types \ --add-asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --remove-asset-types=ASSET_TYPE_3,ASSET_TYPE_4,... \ --clear-content-type \ --content-type=CONTENT_TYPE \ --clear-relationship-types \ --remove-relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --add-relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --clear-condition-title \ --condition-title="CONDITION_TITLE" \ --clear-condition-description \ --condition-description="CONDITION_DESCRIPTION" \ --clear-condition-expression --condition-expression="CONDITION_EXPRESSION"
Berikan nilai berikut:
-
SCOPE
: Gunakan salah satu nilai berikut:-
project=PROJECT_ID
, denganPROJECT_ID
adalah ID project tempat feed akan diperbarui. -
folder=FOLDER_ID
, denganFOLDER_ID
adalah ID folder untuk memperbarui feed.Cara menemukan ID folder Google Cloud
Konsol Google Cloud
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Telusuri nama folder Anda. ID folder akan ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dengan TOP_LEVEL_FOLDER_NAME adalah pencocokan string sebagian atau penuh untuk nama folder. Hapus flag
--format
untuk melihat informasi selengkapnya tentang menemukan folder.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder level teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi tempat feed akan diperbarui.Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
FEED_ID
: ID feed aset unik.-
BILLING_PROJECT_ID
: Opsional. Project ID tempat agen layanan Cloud Asset Inventory default berada yang memiliki izin untuk mengelola topik Pub/Sub Anda. Baca selengkapnya tentang cara menetapkan project penagihan. -
TOPIC_PROJECT_ID
: ID project tempat topik Pub/Sub berada. -
TOPIC_ID
: ID topik Pub/Sub untuk memublikasikan notifikasi. - Setidaknya salah satu definisi aset berikut:
ASSET_NAME_#
: Opsional. Daftar nama lengkap aset yang dipisahkan koma.ASSET_TYPE_#
: Opsional. Daftar yang dipisahkan koma dari jenis aset yang dapat ditelusuri. Ekspresi reguler yang kompatibel dengan RE2 didukung. Jika ekspresi reguler tidak cocok semua jenis aset yang didukung, errorINVALID_ARGUMENT
akan ditampilkan. Kapan--asset-types
tidak ditentukan, semua jenis aset ditampilkan.
CONTENT_TYPE
: Opsional. Jenis konten metadata yang ingin Anda ambil. Kapan--content-type
tidak ditentukan, hanya informasi dasar yang ditampilkan, seperti nama aset, saat terakhir kali aset diperbarui, dan project, folder, serta organisasi apa yang mereka miliki.-
RELATIONSHIP_TYPE_#
: Opsional. Hanya tersedia untuk Security Command Center Tingkat Premium dan Enterprise pelanggan. Daftar yang dipisahkan koma dari jenis hubungan aset yang ingin diambil. Anda harus menetapkanCONTENT_TYPE
keRELATIONSHIP
agar fitur ini berfungsi. - Jika menambahkan kondisi feed opsional, sertakan detail berikut
dalam perintah Anda:
CONDITION_TITLE
: Judul yang akan ditetapkan ke kondisi feed.-
CONDITION_DESCRIPTION
: Deskripsi yang akan ditetapkan ke kondisi feed. CONDITION_EXPRESSION
: Ekspresi kondisi yang akan diterapkan ke feed Anda.
Lihat referensi gcloud CLI untuk semua opsi.
Contoh
Jalankan perintah berikut untuk mengupdate topik Pub/Sub my-topic
di project my-project
. Permintaan ini menghapus semua nama aset dari pemantauan, dan menambahkan
jenis aset gkemulticloud.googleapis.com/AttachedCluster
.
gcloud asset feeds update my-feed \ --project=my-project \ --pubsub-topic=projects/my-project/topics/my-topic \ --clear-asset-names \ --add-asset-types=gkemulticloud.googleapis.com/AttachedCluster
Contoh respons
assetTypes: - bigquery.googleapis.com/Table - gkemulticloud.googleapis.com/AttachedCluster condition: {} contentType: RESOURCE feedOutputConfig: pubsubDestination: topic: projects/my-project/topics/my-topic name: projects/000000000000/feeds/my-feed
Untuk memperbarui atribut feed, Anda harus menentukan atributnya
jalur di update_mask
dan nilai atribut tersebut.
REST
Metode HTTP dan URL:
PATCH https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds/FEED_ID
Header:
X-Goog-User-Project: BILLING_PROJECT_ID
Meminta isi JSON:
{ "feed": { "assetNames": [ "ASSET_NAME_1", "ASSET_NAME_2", "..." ], "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "contentType": "CONTENT_TYPE", "relationshipTypes": [ "RELATIONSHIP_TYPE_1", "RELATIONSHIP_TYPE_2", "..." ], "feedOutputConfig": { "pubsubDestination": { "topic": "projects/TOPIC_PROJECT_ID/topics/TOPIC_ID" } } }, "condition": { "title": "CONDITION_TITLE", "description": "CONDITION_DESCRIPTION", "expression": "CONDITION_EXPRESSION" }, "update_mask": { "paths": [ "feed_output_config.pubsub_destination.topic", ATTRIBUTE_PATH_1, ATTRIBUTE_PATH_2, ... ] } }
Berikan nilai berikut:
-
SCOPE_PATH
: Gunakan salah satu nilai berikut:Nilai yang diizinkan adalah:
-
projects/PROJECT_ID
, denganPROJECT_ID
adalah ID project untuk memperbarui feed. -
projects/PROJECT_NUMBER
, denganPROJECT_NUMBER
adalah nomor project tempat feed akan diperbarui.Cara menemukan nomor project Google Cloud
Konsol Google Cloud
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Welcome di Konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
-
Pilih organisasi Anda dari kotak daftar, lalu telusuri nama project Anda. Nama project, nomor project, dan project ID ditampilkan di dekat halaman Welcome {i>heading<i}.
Hingga 4.000 resource ditampilkan. Jika Anda tidak melihat project yang Anda cari, pergi ke Halaman Mengelola resource dan memfilter daftar menggunakan nama proyek tersebut.
gcloud CLI
Anda dapat mengambil nomor project Google Cloud dengan perintah berikut:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, denganFOLDER_ID
adalah ID folder untuk memperbarui feed.Cara menemukan ID folder Google Cloud
Konsol Google Cloud
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Telusuri nama folder Anda. ID folder akan ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dengan TOP_LEVEL_FOLDER_NAME adalah pencocokan string sebagian atau penuh untuk nama folder. Hapus flag
--format
untuk melihat informasi selengkapnya tentang menemukan folder.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder level teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi yang akan menjadi tempat memperbarui feed.Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: Project ID yang agen layanan Inventaris Aset Cloud default, yang memiliki izin untuk mengelola Topik Pub/Sub. Baca selengkapnya tentang cara menetapkan project penagihan. FEED_ID
: ID feed aset unik.- Setidaknya salah satu definisi aset berikut:
ASSET_NAME_#
: Opsional. Array nama lengkap aset.ASSET_TYPE_#
: Opsional. Himpunan jenis aset yang dapat ditelusuri. Ekspresi reguler yang kompatibel dengan RE2 didukung. Jika ekspresi reguler tidak cocok dengan jenis aset yang didukung, errorINVALID_ARGUMENT
akan ditampilkan. JikaassetTypes
tidak ditentukan, semua jenis aset akan ditampilkan.
CONTENT_TYPE
: Opsional. Tujuan jenis konten dari metadata yang ingin Anda ambil. JikacontentType
tidak ditentukan, hanya informasi dasar yang ditampilkan, seperti nama aset, waktu terakhir aset diperbarui, dan project, folder, serta organisasi tempat aset tersebut berada.-
RELATIONSHIP_TYPE_#
: Opsional. Hanya tersedia untuk Security Command Center Tingkat Premium dan Enterprise pelanggan. Daftar yang dipisahkan koma untuk jenis hubungan aset yang ingin Anda ambil. Anda harus menetapkanCONTENT_TYPE
keRELATIONSHIP
agar fitur ini berfungsi. -
TOPIC_PROJECT_ID
: ID project tempat Topik Pub/Sub ditemukan. -
TOPIC_ID
: ID topik Pub/Sub yang akan menjadi tujuan publikasi notifikasi. - Jika menambahkan kondisi feed opsional, sertakan detail berikut
dalam perintah Anda:
CONDITION_TITLE
: Judul yang akan ditetapkan pada kondisi feed.-
CONDITION_DESCRIPTION
: Deskripsi yang akan ditetapkan ke kondisi feed. CONDITION_EXPRESSION
: Ekspresi kondisi yang akan diterapkan ke feed.
Lihat referensi REST untuk semua opsi.
Contoh perintah
Jalankan salah satu perintah berikut untuk mengupdate topik Pub/Sub my-topic
di project my-project
. Permintaan ini menghapus semua nama aset dari pemantauan, dan
menambahkan jenis aset gkemulticloud.googleapis.com/AttachedCluster
.
curl (Linux, macOS, atau Cloud Shell)
curl -X PATCH \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "feed": { "assetNames": [], "assetTypes": [ "gkemulticloud.googleapis.com/AttachedCluster" ], "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } }, "update_mask": { "paths": ["feed_output_config.pubsub_destination.topic", "asset_names", "asset_types"] } }' \ https://cloudasset.googleapis.com/v1/projects/my-project/feeds/my-feed
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } $body = @" { "feed": { "assetNames": [], "assetTypes": [ "gkemulticloud.googleapis.com/AttachedCluster" ], "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } }, "update_mask": { "paths": ["feed_output_config.pubsub_destination.topic", "asset_names", "asset_types"] } } "@ Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/feeds/my-feed" | Select-Object -Expand Content
Contoh respons
{ "feeds": [ { "name": "projects/000000000000/feeds/my-feed", "assetTypes": [ "bigquery.googleapis.com/Table", "gkemulticloud.googleapis.com/AttachedCluster" ], "contentType": "RESOURCE", "feedOutputConfig": { "pubsubDestination": { "topic": "projects/my-project/topics/my-topic" } } } ] }
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat Library klien Inventaris Aset Cloud
Untuk melakukan autentikasi ke Inventaris Aset Cloud, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat Library klien Inventaris Aset Cloud
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Inventaris Aset Cloud, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Hapus feed
Jika Anda tidak ingin lagi menerima notifikasi tentang perubahan aset, lakukan salah satu hal berikut menghapus feed.
gcloud
gcloud asset feeds delete FEED_ID \ --SCOPE \ --billing-project=BILLING_PROJECT_ID
Berikan nilai berikut:
-
SCOPE
: Gunakan salah satu nilai berikut:-
project=PROJECT_ID
, denganPROJECT_ID
adalah ID project tempat feed berada. -
folder=FOLDER_ID
, denganFOLDER_ID
adalah ID folder tempat feed berada.Cara menemukan ID folder Google Cloud
Konsol Google Cloud
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Telusuri nama folder Anda. ID folder akan ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dengan TOP_LEVEL_FOLDER_NAME adalah pencocokan string sebagian atau penuh untuk nama folder. Hapus flag
--format
untuk melihat informasi selengkapnya tentang menemukan folder.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder tingkat teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi tempat feed berada.Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: Project ID yang agen layanan Inventaris Aset Cloud default, yang memiliki izin untuk mengelola Topik Pub/Sub. Baca selengkapnya tentang cara menetapkan project penagihan.
Baca referensi gcloud CLI untuk mengetahui semua opsi.
Contoh respons
Jika penghapusan berhasil, tidak akan ada respons.
REST
Metode HTTP dan URL:
DELETE https://cloudasset.googleapis.com/v1/SCOPE_PATH/feeds/FEED_ID
Header:
X-Goog-User-Project: BILLING_PROJECT_ID
Berikan nilai berikut:
-
SCOPE_PATH
: Gunakan salah satu nilai berikut:Nilai yang diizinkan adalah:
-
projects/PROJECT_NUMBER
, denganPROJECT_NUMBER
adalah jumlah project tempat feed berada.Cara menemukan nomor project Google Cloud
Konsol Google Cloud
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Selamat Datang di konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
-
Pilih organisasi Anda dari kotak daftar, lalu telusuri nama project Anda. Nama project, nomor project, dan project ID ditampilkan di dekat halaman Welcome {i>heading<i}.
Hingga 4.000 resource ditampilkan. Jika Anda tidak melihat project yang dicari, buka halaman Kelola resource dan filter daftar menggunakan nama project tersebut.
gcloud CLI
Anda dapat mengambil nomor project Google Cloud dengan perintah berikut:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, denganFOLDER_ID
adalah ID folder tempat feed berada.Cara menemukan ID folder Google Cloud
Konsol Google Cloud
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Telusuri nama folder Anda. ID folder akan ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
Dengan TOP_LEVEL_FOLDER_NAME adalah pencocokan string sebagian atau penuh untuk nama folder. Hapus flag
--format
untuk melihat informasi selengkapnya tentang menemukan folder.Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder level teratas:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi tempat feed berada.Cara menemukan ID organisasi Google Cloud
Konsol Google Cloud
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka konsol Google Cloud.
- Klik kotak daftar pengalih di panel menu.
- Pilih organisasi Anda dari kotak daftar.
- Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.
gcloud CLI
Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
BILLING_PROJECT_ID
: ID project tempat agen layanan Inventaris Aset Cloud default berada yang memiliki izin untuk mengelola topik Pub/Sub Anda. Baca selengkapnya tentang cara menetapkan project penagihan.
Lihat referensi REST untuk semua opsi.
Contoh perintah
Jalankan salah satu perintah berikut untuk menghapus feed tertentu.
curl (Linux, macOS, atau Cloud Shell)
curl -X DELETE \ -H "X-Goog-User-Project: BILLING_PROJECT_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/000000000000/feeds/my-feed
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/000000000000/feeds/my-feed" | Select-Object -Expand Content
Contoh respons
{}
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Inventaris Aset Cloud, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Inventaris Aset Cloud, lihat library klien Inventaris Aset Cloud.
Untuk melakukan autentikasi ke Inventaris Aset Cloud, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Kondisi feed
Untuk melihat jenis perubahan tertentu saja pada aset tertentu, Anda dapat menambahkan kondisi pada feed Anda. Kondisi ditulis dalam Common Expression Language (CEL).
Dukungan untuk kondisi terbatas. Dalam beberapa kasus, pembuatan atau pembaruan feed dengan kondisi dapat menyebabkan penundaan.
Batasan
Ekspresi kondisi memiliki batas panjang 3.000 karakter.
Sebagian besar nama variabel dalam ekspresi kondisi diwakili oleh huruf kecil dengan garis bawah di antara setiap kata. Misalnya,
example_variable
.Pengecualiannya adalah nama variabel sub-kolom
data
di Referensi . Nama ini tidak memiliki pemisah kata, dan karakter pertama dari setiap kata setelah yang pertama ditulis dengan huruf kapital. Misalnya,exampleVariable
.Beberapa validasi pada ekspresi kondisi dilakukan selama pembuatan feed atau waktu pembaruan feed. Namun, validasi tersebut tidak komprehensif, terutama untuk kondisi yang ditetapkan pada
temporal_asset.asset.resource.data
yang memiliki jenis dinamis. Jika memungkinkan, filter feed menggunakan parameter gcloud CLI atau REST API yang sesuai.Notifikasi tidak akan dikirim jika error terjadi selama waktu evaluasi, tetapi error akan dicatat ke dalam log.
Untuk jenis dinamis di
temporal_asset.asset.resource.data
, kondisi yang ditentukan pada kolom yang tidak ada akan memicu error runtime dan notifikasi tidak dipublikasikan. Misalnya, untuk kondisitemporal_asset.asset.resource.data.name != "my_name"
, jika kolomname
adalah hilang dalam update, evaluasi gagal dan Anda tidak menerima notifikasi. Jika kondisi Anda hanya berfungsi dengan adanya kolom tertentu, menambahkan pemeriksaan keberadaan ke kondisi untuk memastikan kondisi tersebut dievaluasi dengan benar.Jenis enum statis dapat direpresentasikan sebagai nama jalur yang sepenuhnya memenuhi syarat atau bilangan bulat mentah. Misalnya, ekspresi berikut valid untuk
prior_asset_state
:temporal_asset.prior_asset_state == google.cloud.asset.v1.TemporalAsset.PriorAssetState.DOES_NOT_EXIST
dan
temporal_asset.prior_asset_state == 3
Jenis enum dinamis di
temporal_asset.asset.resource.data
direpresentasikan sebagai string mentah. Misalnya, ekspresi berikut valid untuk jenis asetcloudresourcemanager.googleapis.com/Project
:temporal_asset.asset.resource.data.lifecycleState == "ACTIVE"
Membuat ekspresi kondisi dengan CEL
Dalam kondisi feed,
Common Expression Language (CEL) digunakan
untuk membuat keputusan boolean berdasarkan data atribut. Ekspresi kondisi
terdiri dari satu atau beberapa pernyataan yang digabungkan menggunakan operator logika. Masing-masing
menyatakan aturan kontrol berbasis atribut yang berlaku untuk
TemporalAsset
untuk menentukan apakah notifikasi dikirim.
Fitur CEL berikut adalah yang paling penting untuk kondisi feed:
Variabel: Kondisi menggunakan variabel untuk menyatakan atribut tertentu, seperti
temporal_asset.deleted
(Boolean
) atautemporal_asset.asset.name
(String
). Variabel ini diisi dengan nilai berdasarkan konteks saat runtime.Operator: Setiap jenis data, seperti
String
, mendukung kumpulan operator yang dapat digunakan untuk membuat ekspresi logika. Paling umum, operator digunakan untuk membandingkan nilai yang terdapat dalam variabel dengan nilai literal, sepertitemporal_asset.asset.name == "//cloudresourcemanager.googleapis.com/projects/12345"
. Dalam contoh ini, jika nilai inputtemporal_asset.asset.name
adalah//cloudresourcemanager.googleapis.com/projects/12345
, lalu ekspresi mengevaluasi ketrue
.Fungsi: Fungsi adalah operator gabungan untuk jenis data yang mendukung dan operasi yang lebih kompleks. Dalam ekspresi kondisi, ada fungsi yang telah ditetapkan sebelumnya yang dapat digunakan bersama dengan jenis data tertentu. Misalnya,
temporal_asset.asset.name.contains("keyword")
menggunakan fungsi yang disebutcontains
untuk memeriksa apakah nilaitemporal_asset.asset.name
berisi"keyword"
. Jika ya, hasil evaluasinya adalahtrue
.Operator logika: Kondisi mendukung operator logika yang dapat digunakan untuk membangun ekspresi logika yang kompleks dari pernyataan ekspresi dasar:
&&
(AND) dan||
(OR). Operator logis ini memungkinkan penggunaan beberapa variabel input dalam ekspresi kondisi. Misalnya:temporal_asset.deleted && temporal_asset.window.start_time.getFullYear() > 2020
menggabungkan dua pernyataan dasar, dan mengharuskan kedua pernyataan tersebut terpenuhi untuk menghasilkan hasil evaluasitrue
.
Untuk informasi selengkapnya tentang fitur CEL, lihat definisi bahasa.
Menggunakan variabel kondisi
Variabel kondisi memungkinkan Anda membuat kondisi pada atribut yang berbeda. Variabel kondisi yang didukung adalah:
- temporal_asset: Perubahan aset terbaru dalam
format
TemporalAsset. Jika kondisi bernilai benar,
TemporalAsset
akan dikirim ke tujuan yang dikonfigurasi.
Contoh ekspresi kondisi
Ekspresi kondisi berikut mengirim notifikasi pada peristiwa pembuatan:
temporal_asset.deleted == false &&
temporal_asset.prior_asset_state == google.cloud.asset.v1.TemporalAsset.PriorAssetState.DOES_NOT_EXIST
Ekspresi kondisi berikut mengirim notifikasi untuk resource yang
berada di folder 12345
dan 23456
:
"folders/12345" in temporal_asset.asset.ancestors ||
"folders/23456" in temporal_asset.asset.ancestors
Ekspresi kondisi berikut mengirimkan notifikasi saat aturan baru yang diizinkan
ditambahkan ke firewall, dengan asumsi jenis aset sudah ditetapkan ke
compute.googleapis.com/Firewall
di feed:
size(temporal_asset.asset.resource.data.allowed) >
size(temporal_asset.prior_asset.resource.data.allowed)
Ekspresi kondisi berikut mengirimkan notifikasi untuk instance VM dengan
Jenis mesin n1-standard-1
, dengan asumsi jenis aset sudah ditetapkan ke
compute.googleapis.com/Instance
dalam feed:
temporal_asset.asset.resource.data.machineType.endsWith('/machineTypes/n1-standard-1')
Ekspresi kondisi berikut mengirimkan notifikasi untuk bucket penyimpanan dengan
kebijakan IAM apa pun untuk allUsers
, dengan asumsi jenis aset ditetapkan
ke storage.googleapis.com/Bucket
, dan jenis konten ditetapkan ke IAM_POLICY
di feed:
temporal_asset.asset.iam_policy.bindings.exists(b, b.members.exists(m, m == "allUsers"))
Ekspresi kondisi berikut mengirimkan notifikasi saat bucket penyimpanan dengan kunci test
di labelnya dihapus:
temporal_asset.deleted == true && temporal_asset.prior_asset_state == google.cloud.asset.v1.TemporalAsset.PriorAssetState.PRESENT && "test" in temporal_asset.prior_asset.resource.data.labels
Pemecahan masalah
Jika Anda tidak menerima notifikasi untuk resource atau kebijakan IAM pembaruan, langkah-langkah berikut dapat membantu Anda memecahkan masalah:
Pastikan metadata telah berubah di aset Anda. Feed real-time hanya mengirimkan pembaruan ketika metadata dari jenis resource telah diubah. Operasi seperti mengupload file baru ke bucket Cloud Storage Anda tidak memicu perubahan metadata.
Pastikan aset Anda cocok dengan salah satu nama atau jenis aset yang Anda tentukan di feed.
Untuk penghapusan project, perlu diingat bahwa saat menonaktifkan project, Anda memiliki waktu 30 hari untuk mengurungkan operasi tersebut. Karena itu, kolom
deleted
dalam metadata aset tidak disetel hingga project dihapus secara permanen. Untuk memantau project yang menunggu penghapusan, Anda dapat menetapkan kondisi pada kolomlifecycleState
project. Sebagai contoh:temporal_asset.asset.resource.data.lifecycleState == "DELETE_REQUESTED"
.Periksa log untuk melihat apakah ada error saat memublikasikan update dengan topik Anda.
Cloud Logging
Jika feed real-time gagal mengirim resource atau pembaruan kebijakan IAM melalui Pub/Sub, Cloud Asset Inventory akan mencatat status dan pesan error dalam Logging. Pencatatan log diaktifkan secara {i>default<i}, dan termasuk dalam Google Cloud Observability. Pelajari tentang Harga Google Cloud Observability.
Melihat log feed real-time
Log feed real-time diindeks oleh topik Pub/Sub. Untuk melihat semua log:
Buka halaman Logs Explorer di konsol Google Cloud.
Klik daftar Resource, yang berada di dekat Search all fields .
Telusuri
Cloud Pub/Sub Topic
, lalu klik jenis resource Cloud Pub/Sub Topic.Klik ID topik yang ingin Anda lihat.
Klik Terapkan.
Encoding UTF-8 diterapkan untuk kolom log. Karakter yang bukan karakter UTF-8 akan diganti dengan tanda tanya.
Informasi yang dicatat
Entri log feed real-time berisi jenis informasi berikut:
Informasi umum yang ditampilkan di sebagian besar log Google Cloud, seperti tingkat keparahan, project ID, nomor project, atau stempel waktu.
Kolom log feed real-time di
jsonPayload
, yang berisi nama aset, feed konfigurasi output, dan status error saat memublikasikan resource atau IAM pembaruan kebijakan.
Tabel berikut menunjukkan jenis informasi yang terdapat di setiap kolom.
Kolom | Jenis dan deskripsi |
---|---|
name |
Nama Lengkap feed. Formatnya adalah salah satu dari berikut ini:
|
asset_name |
Nama lengkap aset yang akan menerima update. Contoh:
Lihat Nama resource untuk mengetahui info selengkapnya. |
condition |
Kondisi feed yang menentukan apakah pembaruan aset harus dipublikasikan. |
error_status |
Status saat ada kegagalan untuk memublikasikan pembaruan aset ke feed. |
feed_output_config |
Konfigurasi output feed yang menentukan lokasi pembaruan aset dipublikasikan ke. |