Dokumen ini menunjukkan cara mengekspor metadata aset project Anda ke bucket Cloud Storage.
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 bucket Cloud Storage untuk ekspor, jika Anda belum memilikinya.
Batasan
Bucket Cloud Storage yang dienkripsi dengan kunci Cloud Key Management Service (Cloud KMS) kustom tidak didukung.
Bucket Cloud Storage tidak dapat menetapkan kebijakan retensi.
Selama ekspor, operasi mungkin membuat file sementara di folder output. Jangan hapus file sementara ini saat operasi sedang berlangsung. Setelah operasi selesai, file sementara akan dihapus secara otomatis.
Jenis konten
ACCESS_POLICY
hanya dapat diekspor di tingkat organisasi.Jika file yang Anda ekspor sudah ada dan sedang dalam proses ekspor, error
400
akan ditampilkan.Untuk menguji izin, Inventaris Aset Cloud membuat file kosong sebelum mengekspor data, yang mengirimkan peristiwa pemicu Cloud Storage tambahan dari
google.cloud.storage.object.v1.finalized
.
Mengekspor snapshot aset ke Cloud Storage
gcloud
gcloud asset export \ --SCOPE \ --billing-project=BILLING_PROJECT_ID \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --content-type=CONTENT_TYPE \ --relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --snapshot-time="SNAPSHOT_TIME" \ --output-path="gs://BUCKET_NAME/FILENAME"
Berikan nilai berikut:
-
SCOPE
: Gunakan salah satu nilai berikut:-
project=PROJECT_ID
, denganPROJECT_ID
adalah ID project yang memiliki metadata aset yang ingin Anda ekspor. -
folder=FOLDER_ID
, denganFOLDER_ID
adalah ID folder yang memiliki metadata aset yang ingin Anda ekspor.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 ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang berada 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 tanda
--format
untuk melihat informasi selengkapnya tentang folder yang ditemukan.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 yang memiliki metadata aset yang ingin Anda ekspor.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
: Opsional. 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. ASSET_TYPE_#
: Opsional. Daftar jenis aset yang dapat ditelusuri yang dipisahkan koma. Ekspresi reguler yang kompatibel dengan RE2 didukung. Jika ekspresi reguler tidak cocok dengan jenis aset yang didukung, errorINVALID_ARGUMENT
akan ditampilkan. Jika--asset-types
tidak ditentukan, semua jenis aset akan ditampilkan.CONTENT_TYPE
: Opsional. Jenis konten 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 pelanggan Security Command Center tingkat Premium dan Enterprise. Daftar yang dipisahkan koma untuk jenis hubungan aset yang ingin Anda ambil. Anda harus menetapkanCONTENT_TYPE
keRELATIONSHIP
agar fitur ini berfungsi. -
SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil snapshot aset, dalam format waktu topik gcloud. Nilainya tidak boleh lebih dari 35 hari yang lalu. Jika--snapshot-time
tidak ditentukan, snapshot akan diambil pada waktu saat ini. BUCKET_NAME
: Nama bucket Cloud Storage tempat data akan ditulis.FILENAME
: File di bucket Cloud Storage yang akan ditulis.
Lihat referensi gcloud CLI untuk semua opsi.
Contoh
Jalankan perintah berikut untuk mengekspor metadata resource
seperti yang ada pada 30 Januari
2024 di project my-project
, ke file my-file.txt
di
bucket Cloud Storage my-bucket
.
gcloud asset export \ --project=my-project \ --billing-project=my-project \ --content-type=resource \ --snapshot-time="2024-01-30" \ --output-path="gs://my-bucket/my-file.txt"
Contoh respons
Export in progress for root asset [projects/my-project]. Use [gcloud asset operations describe projects/000000000000/operations/ExportAssets/RESOURCE/00000000000000000000000000000000] to check the status of the operation.
REST
Metode HTTP dan URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH:exportAssets
Header:
X-Goog-User-Project: BILLING_PROJECT_ID
Meminta isi JSON:
{ "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "contentType": "CONTENT_TYPE", "relationshipTypes": [ "RELATIONSHIP_TYPE_1", "RELATIONSHIP_TYPE_2", "..." ], "readTime": "SNAPSHOT_TIME", "outputConfig": { "gcsDestination": { "uri": "gs://BUCKET_NAME/FILENAME" } } }
Berikan nilai berikut:
-
SCOPE_PATH
: Gunakan salah satu nilai berikut:Nilai yang diizinkan adalah:
-
projects/PROJECT_ID
, denganPROJECT_ID
adalah ID project yang memiliki metadata aset yang ingin Anda ekspor. -
projects/PROJECT_NUMBER
, denganPROJECT_NUMBER
adalah nomor project yang memiliki metadata aset yang ingin Anda ekspor.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 judul Selamat Datang.
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 yang memiliki metadata aset yang ingin Anda ekspor.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 ditampilkan di samping nama folder.
gcloud CLI
Anda dapat mengambil ID folder Google Cloud yang berada 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 tanda
--format
untuk melihat informasi selengkapnya tentang folder yang ditemukan.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
-
-
organizations/ORGANIZATION_ID
, denganORGANIZATION_ID
adalah ID organisasi yang memiliki metadata aset yang ingin Anda ekspor.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. ASSET_TYPE_#
: Opsional. Array 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. 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 pelanggan Security Command Center tingkat Premium dan Enterprise. Daftar yang dipisahkan koma untuk jenis hubungan aset yang ingin Anda ambil. Anda harus menetapkanCONTENT_TYPE
keRELATIONSHIP
agar fitur ini berfungsi. -
SNAPSHOT_TIME
: Opsional. Waktu Anda ingin mengambil snapshot aset, dalam format RFC 3339. Nilainya tidak boleh lebih dari 35 hari yang lalu. JikareadTime
tidak ditentukan, snapshot akan diambil pada waktu saat ini. BUCKET_NAME
: Nama bucket Cloud Storage tempat data akan ditulis.FILENAME
: File di bucket Cloud Storage yang akan ditulis.
Lihat referensi REST untuk semua opsi.
Contoh perintah
Jalankan salah satu perintah berikut untuk mengekspor metadata resource
seperti pada
30 Januari 2024 di project my-project
, ke file my-file.txt
di
bucket Cloud Storage my-bucket
.
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 '{ "contentType": "RESOURCE", "readTime": "2024-01-30T00:00:00Z", "outputConfig": { "gcsDestination": { "uri": "gs://my-bucket/my-file" } } }' \ https://cloudasset.googleapis.com/v1/projects/my-project:exportAssets
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-Goog-User-Project" = "BILLING_PROJECT_ID"; "Authorization" = "Bearer $cred" } $body = @" { "contentType": "RESOURCE", "readTime": "2024-01-30T00:00:00Z", "outputConfig": { "gcsDestination": { "uri": "gs://my-bucket/my-file" } } } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:exportAssets" | Select-Object -Expand Content
Contoh respons
{ "name": "projects/000000000000/operations/ExportAssets/RESOURCE/00000000000000000000000000000000", "metadata": { "@type": "type.googleapis.com/google.cloud.asset.v1.ExportAssetsRequest", "parent": "projects/000000000000", "readTime": "2024-01-30T00:00:00Z", "contentType": "RESOURCE", "outputConfig": { "gcsDestination": { "uri": "gs://my-bucket/export.txt" } } } }
C#
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.
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 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 Cloud Asset Inventory, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
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.
Ruby
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.
Memeriksa status ekspor
Proses ekspor memerlukan waktu untuk diselesaikan. Untuk memeriksa apakah ekspor telah selesai, Anda dapat membuat kueri operasi menggunakan ID operasinya.
Perhatikan bahwa meskipun ekspor Anda sudah selesai, seseorang mungkin telah membuat permintaan ekspor lain ke tujuan yang sama dengan operasi yang berbeda. Permintaan ekspor baru ke tujuan yang sama dapat dilakukan setelah permintaan sebelumnya selesai, atau jika lebih dari 15 menit telah berlalu. Permintaan ekspor yang dilakukan di luar kondisi ini akan ditolak oleh Cloud Asset Inventory.
gcloud
Untuk melihat status ekspor Anda, selesaikan petunjuk berikut:
Dapatkan
OPERATION_PATH
, yang menyertakan ID operasi, dari respons terhadap permintaan ekspor Anda.OPERATION_PATH
ditampilkan dalam respons terhadap ekspor, yang diformat sebagai berikut:projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_ID
Untuk memeriksa status ekspor, jalankan perintah berikut dengan
OPERATION_PATH
:gcloud asset operations describe OPERATION_PATH
REST
Untuk melihat status ekspor Anda, selesaikan petunjuk berikut:
Dapatkan
OPERATION_PATH
, yang menyertakan ID operasi, dari respons terhadap permintaan ekspor Anda.OPERATION_PATH
ditampilkan sebagai nilai kolomname
dalam respons terhadap ekspor, yang diformat sebagai berikut:projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_ID
Untuk memeriksa status ekspor, buat permintaan berikut.
REST
Metode HTTP dan URL:
GET https://cloudasset.googleapis.com/v1/OPERATION_PATH
Contoh perintah
curl (Linux, macOS, atau Cloud Shell)
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/OPERATION_PATH
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/OPERATION_PATH" | Select-Object -Expand Content
Contoh respons
{ "name": "projects/000000000000/operations/ExportAssets/RESOURCE/00000000000000000000000000000000", "metadata": { "@type": "type.googleapis.com/google.cloud.asset.v1.ExportAssetsRequest", "parent": "projects/000000000000", "readTime": "2024-01-30T00:00:00Z", "contentType": "RESOURCE", "outputConfig": { "gcsDestination": { "uri": "gs://my-bucket/export.txt" } } } }
Melihat ringkasan aset
Untuk melihat ringkasan aset:
Buka halaman Bucket Cloud Storage di konsol Google Cloud.
Klik nama bucket tempat Anda mengekspor snapshot aset, lalu klik nama file ekspor.
Klik Download untuk mendownload snapshot aset, lalu buka di editor teks pilihan Anda.