Mengekspor metadata aset menggunakan Inventaris Aset Cloud
Panduan memulai ini menunjukkan cara mengekspor metadata aset pada waktu tertentu menggunakan Inventaris Aset Cloud dan perintah gcloud asset
Google Cloud CLI.
Sebelum memulai
Sebelum dapat mulai menggunakan Inventaris Aset Cloud, Anda harus mengaktifkan Cloud Asset Inventory API, Google Cloud CLI, dan menetapkan izin. Google Cloud CLI berinteraksi dengan Inventaris Aset Cloud dan layanan Google Cloud lainnya. Pelajari gcloud CLI lebih lanjut.
Mengaktifkan Cloud Asset Inventory API dan Google Cloud CLI
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Aktifkan API yang diperlukan.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Aktifkan API yang diperlukan.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
Mengonfigurasi izin
Untuk memanggil Cloud Asset Inventory API, Anda harus mengonfigurasi izin terlebih dahulu.
Menelusuri referensi
Untuk menelusuri metadata resource, jalankan perintah berikut.
gcloud asset search-all-resources \
--scope=SCOPE \
--query="QUERY" \
--asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
--order-by="ORDER_BY" \
--read-mask="READ_MASK"
Berikan nilai berikut:
SCOPE
: Opsional. Ruang lingkup bisa berupa proyek, folder, atau organisasi. Penelusuran ini terbatas pada resource Google Cloud dalam cakupan ini. Pemanggil harus diberi izincloudasset.assets.searchAllResources
pada cakupan yang diinginkan. Jika tidak ditentukan, properti project yang dikonfigurasi akan digunakan.Nilai yang diizinkan adalah:
projects/PROJECT_ID
projects/PROJECT_NUMBER
Cara menemukan nomor project Google Cloud
Konsol
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Dasbor di Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Pilih organisasi dari kotak Pilih dari, lalu telusuri nama project Anda.
- Klik nama project untuk beralih ke project tersebut. Nomor project ditampilkan di kartu Project info.
gcloud CLI
Anda dapat mengambil nomor project Google Cloud dengan perintah berikut:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Cara menemukan ID folder Google Cloud
Konsol
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- 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 dapat berupa pencocokan string penuh atau sebagian. Hapus opsi
--format
untuk melihat informasi selengkapnya tentang folder yang ditemukan.Untuk mendapatkan ID folder dalam folder lain, cantumkan subfoldernya:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Cara menemukan ID organisasi Google Cloud
Konsol
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- 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))"
-
QUERY
: Opsional. Pernyataan kueri. Lihat Sintaksis kueri untuk informasi selengkapnya. Jika tidak ditentukan atau kosong, Inventaris Aset Cloud akan menelusuri semua resource discope
yang ditentukan.Contoh:
name:Important
untuk menemukan resource Google Cloud yang namanya berisiImportant
sebagai kata.name=Important
untuk menemukan resource Google Cloud yang namanya persisImportant
.displayName:Impor*
untuk menemukan resource Google Cloud yang nama tampilannya berisiImpor
sebagai awalan.location:us-west*
untuk menemukan resource Google Cloud yang lokasinya berisius
danwest
sebagai awalan.labels:prod
untuk menemukan resource Google Cloud yang labelnya berisiprod
sebagai kunci atau nilai.labels.env:prod
untuk menemukan resource Google Cloud yang memiliki labelenv
dan nilainya adalah "prod".labels.env:*
untuk menemukan resource Google Cloud yang memiliki labelenv
.kmsKeys:key
untuk menemukan resource Google Cloud yang dienkripsi dengan kunci enkripsi yang dikelola pelanggan yang namanya berisikey
sebagai kata.sccSecurityMarks.key=value
untuk menemukan resource Google Cloud yang dilampirkan dengan sepasang tanda keamanan yang kuncinya adalahkey
dan nilainya adalahvalue
.sccSecurityMarks.key:*
untuk menemukan resource Google Cloud yang dilampirkan dengan sepasang tanda keamanan yang kuncinya adalahkey
.state:ACTIVE
untuk menemukan resource Google Cloud yang statusnya berisiACTIVE
sebagai kata.NOT state:ACTIVE
untuk menemukan resource Google Cloud yang statusnya tidak berisiACTIVE
sebagai kata.createTime<1609459200
ataucreateTime<2021-01-01
ataucreateTime<"2021-01-01T00:00:00"
untuk menemukan resource Google Cloud yang dibuat sebelum 01-01-2021 00:00:00 UTC. 1609459200 adalah stempel waktu epoch 01-01-2021 00:00:00 UTC dalam detik.updateTime>1609459200
atauupdateTime>2021-01-01
atauupdateTime>"2021-01-01T00:00:00"
untuk menemukan resource Google Cloud yang diupdate setelah 01-01-2021 00:00:00 UTC. 1609459200 adalah stempel waktu epoch 01-01-2021 00:00:00 UTC dalam detik.project:12345
untuk menemukan resource Google Cloud milik project Google Cloud dengan nomor 12345. ID project tidak didukung.folders:(123 or 456)
untuk menemukan resource Google Cloud yang merupakan turunan dari folder Google Cloud dengan angka 123 atau 456.organization:123
untuk menemukan resource Google Cloud yang merupakan turunan dari organisasi Google Cloud dengan nomor 123.parentFullResourceName:ImportantName
untuk menemukan resource Google Cloud yang nama induknya berisiImportantName
.parentAssetType:Project
untuk menemukan resource Google Cloud yang jenis aset induknya berisiProject
.Important
untuk menemukan resource Google Cloud yang berisiImportant
sebagai kata di kolom mana pun yang dapat ditelusuri.Impor*
untuk menemukan resource Google Cloud yang berisiImpor
sebagai awalan di kolom yang dapat ditelusuri.Important location:(us-west1 OR global)
untuk menemukan resource Google Cloud yang berisi "Penting" sebagai kata di setiap kolom yang dapat ditelusuri dan juga terletak di regionus-west1
atau lokasiglobal
.
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 apa pun yang didukung, errorINVALID_ARGUMENT
akan ditampilkan.ORDER_BY
: Opsional. Daftar kolom yang dipisahkan koma yang menentukan urutan penyortiran hasil. Urutan defaultnya adalah menaik. Tambahkan" DESC"
setelah nama kolom untuk menunjukkan urutan menurun. Karakter spasi redundan akan diabaikan. Contoh:"location DESC, name"
. Hanya kolom primitif tunggal dalam respons yang dapat diurutkan:name
assetType
project
displayName
description
location
createTime
updateTime
state
parentFullResourceName
parentAssetType
Semua kolom lain seperti kolom berulang (misalnya
networkTags
,kmsKeys
), kolom peta (misalnya,labels
), dan kolom struct (misalnya,additionalAttributes
) tidak didukung.READ_MASK
: Opsional. Daftar kolom yang dipisahkan koma yang menentukan kolom yang akan ditampilkan dalam hasil. Jika tidak ditentukan, semua kolom kecualiversionedResources
akan ditampilkan. Jika hanya"*"
yang ditentukan, semua kolom akan ditampilkan. Contoh:"name,location"
,"name,versionedResources"
,"*"
.
Untuk mempelajari lebih lanjut cara menelusuri referensi, lihat Menelusuri referensi.
Menelusuri kebijakan IAM
Untuk menelusuri kebijakan Identity and Access Management (IAM), jalankan perintah berikut.
gcloud asset search-all-iam-policies \
--scope=SCOPE \
--query="QUERY" \
--asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
--order-by="ORDER_BY"
Berikan nilai berikut:
SCOPE
: Opsional. Ruang lingkup bisa berupa proyek, folder, atau organisasi. Penelusuran ini terbatas pada resource IAM dalam cakupan ini. Pemanggil harus diberi izincloudasset.assets.searchAllIamPolicies
pada cakupan yang diinginkan. Jika tidak ditentukan, properti project yang dikonfigurasi akan digunakan.Nilai yang diizinkan adalah:
projects/PROJECT_ID
projects/PROJECT_NUMBER
Cara menemukan nomor project Google Cloud
Konsol
Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:
-
Buka halaman Dasbor di Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Pilih organisasi dari kotak Pilih dari, lalu telusuri nama project Anda.
- Klik nama project untuk beralih ke project tersebut. Nomor project ditampilkan di kartu Project info.
gcloud CLI
Anda dapat mengambil nomor project Google Cloud dengan perintah berikut:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Cara menemukan ID folder Google Cloud
Konsol
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- 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 dapat berupa pencocokan string penuh atau sebagian. Hapus opsi
--format
untuk melihat informasi selengkapnya tentang folder yang ditemukan.Untuk mendapatkan ID folder dalam folder lain, cantumkan subfoldernya:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Cara menemukan ID organisasi Google Cloud
Konsol
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- 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))"
-
QUERY
: Opsional. Pernyataan kueri. Lihat Sintaksis kueri untuk informasi selengkapnya. Jika tidak ditentukan atau kosong, Inventaris Aset Cloud akan menelusuri semua kebijakan IAM discope
yang ditentukan. String kueri dibandingkan dengan setiap binding kebijakan IAM, termasuk prinsip, peran, dan kondisi IAM-nya. Kebijakan IAM yang ditampilkan hanya berisi binding yang cocok dengan kueri Anda. Untuk mempelajari struktur kebijakan IAM lebih lanjut, baca artikel Struktur kebijakan.Contoh:
policy:amy@gmail.com
untuk menemukan binding kebijakan IAM yang menentukanamy@gmail.com
pengguna.policy:roles/compute.admin
untuk menemukan binding kebijakan IAM yang menentukan peran Compute Admin.policy:comp*
untuk menemukan binding kebijakan IAM yang berisicomp
sebagai awalan dari kata apa pun dalam binding.policy.role.permissions:storage.buckets.update
untuk menemukan binding kebijakan IAM yang menentukan peran yang berisi izinstorage.buckets.update
. Jika pemanggil tidak memiliki aksesiam.roles.get
ke izin yang disertakan oleh suatu peran, binding kebijakan yang menentukan peran ini akan dihapus dari hasil penelusuran.policy.role.permissions:upd*
untuk menemukan binding kebijakan IAM yang menentukan peran yang berisiupd
sebagai awalan kata apa pun dalam izin peran. Perlu diperhatikan bahwa jika pemanggil tidak memiliki aksesiam.roles.get
ke izin yang disertakan oleh peran, binding kebijakan yang menentukan peran ini akan dihapus dari hasil penelusuran.resource:organizations/123456
untuk menemukan binding kebijakan IAM yang ditetapkan pada "organizations/123456".resource=//cloudresourcemanager.googleapis.com/projects/myproject
untuk menemukan binding kebijakan IAM yang ditetapkan pada project bernamamyproject
.Important
untuk menemukan binding kebijakan IAM yang berisiImportant
sebagai kata di kolom mana pun yang dapat ditelusuri (kecuali untuk izin yang disertakan).resource:(instance1 OR instance2) policy:amy
untuk menemukan binding kebijakan IAM yang ditetapkan padainstance1
atauinstance2
resource dan juga menentukanamy
pengguna.roles:roles/compute.admin
untuk menemukan binding kebijakan IAM yang menentukan peran Compute Admin.memberTypes:user
untuk menemukan binding kebijakan IAM yang berisi jenis akun utamauser
.
ASSET_TYPE
: Opsional. Daftar jenis aset yang dapat ditelusuri yang dipisahkan koma tempat kebijakan IAM dilampirkan. Jika kosong, Inventaris Aset Cloud akan menelusuri kebijakan IAM yang disertakan ke semua jenis aset yang dapat ditelusuri. Ekspresi reguler didukung. Jika ekspresi reguler tidak cocok dengan jenis aset apa pun yang didukung, errorINVALID_ARGUMENT
akan ditampilkan.ORDER_BY
: Opsional. Daftar kolom yang dipisahkan koma yang menentukan urutan penyortiran hasil. Urutan defaultnya adalah menaik. Tambahkan" DESC"
setelah nama kolom untuk menunjukkan urutan menurun. Karakter spasi redundan akan diabaikan. Contoh:"location DESC, name"
. Hanya kolom primitif tunggal dalam respons yang dapat diurutkan:resource
assetType
project
Semua kolom lain seperti kolom berulang (misalnya
folders
) dan kolom non-primitif (misalnya,policy
) tidak didukung.
Untuk mempelajari lebih lanjut cara menelusuri kebijakan IAM, baca artikel Menelusuri kebijakan IAM.
Mengekspor snapshot aset ke Cloud Storage
Untuk mengekspor semua metadata aset pada stempel waktu tertentu ke file dalam bucket Cloud Storage, selesaikan langkah-langkah berikut.
Buat bucket baru jika Anda belum memilikinya.
Untuk mengekspor metadata aset di project Anda, jalankan perintah berikut. Perintah ini menyimpan snapshot yang diekspor dalam file di
gs://BUCKET_NAME/FILENAME
.Project
gcloud asset export \ --project=PROJECT_ID \ --billing-project=BILLING_PROJECT_ID \ --content-type=CONTENT_TYPE \ --snapshot-time="SNAPSHOT_TIME" \ --output-path="gs://BUCKET_NAME/FILENAME"
Berikan nilai berikut:
PROJECT_ID
: ID project yang metadatanya ingin Anda ekspor.BILLING_PROJECT_ID
: Opsional. Project ID tempat agen layanan Inventaris Aset Cloud default berada yang memiliki izin untuk menulis ke bucket Cloud Storage Anda. Tidak diperlukan jika Anda sudah beralih ke project penagihan dengangcloud config set project
. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Opsional. Jenis konten aset yang akan diekspor. Jika tidak ada jenis konten yang ditentukan, hanya nama aset yang akan ditampilkan. Baca selengkapnya tentang jenis konten.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil cuplikan aset. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini. Untuk mengetahui informasi tentang format waktu, lihat tanggal dan waktu topik gcloud.BUCKET_NAME
: Nama bucket Cloud Storage yang menjadi tujuan penulisan.FILENAME
: File di bucket Cloud Storage yang menjadi tujuan penulisan.
Folder
gcloud asset export \ --folder=FOLDER_ID \ --billing-project=BILLING_PROJECT_ID \ --content-type=CONTENT_TYPE \ --snapshot-time="SNAPSHOT_TIME" \ --output-path="gs://BUCKET_NAME/FILENAME"
Berikan nilai berikut:
FOLDER_ID
: ID folder yang metadatanya ingin Anda ekspor.Cara menemukan ID folder Google Cloud
Konsol
Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- 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 dapat berupa pencocokan string penuh atau sebagian. Hapus opsi
--format
untuk melihat informasi selengkapnya tentang folder yang ditemukan.Untuk mendapatkan ID folder dalam folder lain, cantumkan subfoldernya:
gcloud resource-manager folders list --folder=FOLDER_ID
-
BILLING_PROJECT_ID
: Opsional. Project ID tempat agen layanan Inventaris Aset Cloud default berada yang memiliki izin untuk menulis ke bucket Cloud Storage Anda. Tidak diperlukan jika Anda sudah beralih ke project penagihan dengangcloud config set project
. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Opsional. Jenis konten aset yang akan diekspor. Jika tidak ada jenis konten yang ditentukan, hanya nama aset yang akan ditampilkan. Baca selengkapnya tentang jenis konten.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil cuplikan aset. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini. Untuk mengetahui informasi tentang format waktu, lihat tanggal dan waktu topik gcloud.BUCKET_NAME
: Nama bucket Cloud Storage yang menjadi tujuan penulisan.FILENAME
: File di bucket Cloud Storage yang menjadi tujuan penulisan.
Organisasi
gcloud asset export \ --organization=ORGANIZATION_ID \ --billing-project=BILLING_PROJECT_ID \ --content-type=CONTENT_TYPE \ --snapshot-time="SNAPSHOT_TIME" \ --output-path="gs://BUCKET_NAME/FILENAME"
Berikan nilai berikut:
ORGANIZATION_ID
: ID organisasi yang metadatanya ingin Anda ekspor.Cara menemukan ID organisasi Google Cloud
Konsol
Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:
-
Buka Konsol Google Cloud.
- Klik kotak pengalih di panel menu.
- Klik kotak Pilih dari, lalu pilih organisasi Anda.
- 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 tempat agen layanan Inventaris Aset Cloud default berada yang memiliki izin untuk menulis ke bucket Cloud Storage Anda. Tidak diperlukan jika Anda sudah beralih ke project penagihan dengangcloud config set project
. Baca selengkapnya tentang project penagihan.CONTENT_TYPE
: Opsional. Jenis konten aset yang akan diekspor. Jika tidak ada jenis konten yang ditentukan, hanya nama aset yang akan ditampilkan. Baca selengkapnya tentang jenis konten.SNAPSHOT_TIME
: Opsional. Waktu saat Anda ingin mengambil cuplikan aset. Nilainya harus berupa waktu saat ini atau waktu yang tidak lebih dari 35 hari yang lalu. Jika tidak diberikan, snapshot akan diambil pada saat ini. Untuk mengetahui informasi tentang format waktu, lihat tanggal dan waktu topik gcloud.BUCKET_NAME
: Nama bucket Cloud Storage yang menjadi tujuan penulisan.FILENAME
: File di bucket Cloud Storage yang menjadi tujuan penulisan.
Opsional: Untuk memeriksa status ekspor, jalankan perintah berikut. ID ini ditampilkan di gcloud CLI setelah menjalankan perintah ekspor.
gcloud asset operations describe OPERATION_PATH
Melihat ringkasan aset
Untuk melihat snapshot aset setelah Anda mengekspornya ke Cloud Storage, selesaikan langkah-langkah berikut.
Buka halaman Buckets Cloud Storage di Konsol Google Cloud.
Buka file tempat Anda mengekspor metadata.
File ekspor mencantumkan aset dan nama resource-nya.
Langkah selanjutnya
Pelajari Inventaris Aset Cloud lebih lanjut.
Pelajari cara mendapatkan histori aset.