Dokumen ini menunjukkan cara mengekspor metadata aset project Anda ke bucket Cloud Storage.
Sebelum memulai
Aktifkan Cloud Asset Inventory API di project yang Anda jalankan perintah Inventaris Aset Cloud dari mereka.
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 boleh memiliki kebijakan retensi ditetapkan.
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 kecocokan 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. 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. 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 dengan 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. 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 pelanggan Security Command Center paket 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. Kapan--snapshot-time
tidak ditentukan, snapshot diambil pada waktu saat ini. BUCKET_NAME
: Nama bucket Cloud Storage tempat data akan ditulis.FILENAME
: File dalam bucket Cloud Storage yang akan dijadikan tujuan penulisan.
Baca referensi gcloud CLI untuk mengetahui semua opsi.
Contoh
Jalankan perintah berikut untuk mengekspor metadata resource
Anda seperti pada 30 Januari.
2024 dalam 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 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 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 kecocokan 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. 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. Tujuan jenis konten dari metadata yang ingin Anda ambil. JikacontentType
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 untuk jenis hubungan aset yang ingin Anda ambil. Anda harus menetapkanCONTENT_TYPE
keRELATIONSHIP
agar berfungsi. -
SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil cuplikan aset Anda, di 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 dalam bucket Cloud Storage yang akan dijadikan tujuan penulisan.
Lihat referensi REST untuk semua lainnya.
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 Inventaris Aset Cloud, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat 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 informasi selengkapnya, lihat 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 informasi selengkapnya, lihat 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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Memeriksa status ekspor
Proses ekspor memerlukan waktu beberapa saat. Untuk memeriksa apakah ekspor telah dilakukan, Anda dapat melakukan kueri 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. Ekspor baru permintaan ke tujuan yang sama dapat dibuat 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:
Mendapatkan
OPERATION_PATH
, yang menyertakan operasi ID, dari respons terhadap permintaan ekspor Anda. TujuanOPERATION_PATH
ditampilkan sebagai respons terhadap ekspor, yang diformat sebagai berikut:projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_ID
Untuk memeriksa status ekspor Anda, jalankan perintah berikut dengan
OPERATION_PATH
:gcloud asset operations describe OPERATION_PATH
REST
Untuk melihat status ekspor Anda, selesaikan petunjuk berikut:
Mendapatkan
OPERATION_PATH
, yang menyertakan operasi ID, dari respons terhadap permintaan ekspor Anda. TujuanOPERATION_PATH
ditampilkan sebagai nilainame
sebagai respons terhadap ekspor, yang diformat sebagai berikut:projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_ID
Untuk memeriksa status ekspor Anda, 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 Anda:
Buka halaman Buckets 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.