Halaman ini menjelaskan cara menggunakan Inventaris Aset Cloud untuk memantau secret Anda, mengekspor data untuk analisis, dan menjalankan kueri yang efektif untuk mendapatkan insight yang Anda perlukan.
Ringkasan
Cloud Asset Inventory menganalisis lingkungan Google Cloud Anda dan mencatat setiap perubahan pada resource cloud, seperti virtual machine, database, bucket penyimpanan, dan dalam konteks ini, secret Secret Manager Anda. Integrasi antara Secret Manager dan Cloud Asset Inventory membantu Anda melakukan hal berikut:
-
Menjalankan kueri: Menelusuri secret tertentu atau mengidentifikasi pola di seluruh secret Anda.
-
Siapkan pemberitahuan: Konfigurasikan Inventaris Aset Cloud untuk mengirim notifikasi ke Pub/Sub saat peristiwa tertentu terjadi, seperti saat secret dibuat, diubah, atau dihapus.
-
Mengekspor data: Mengekspor inventaris rahasia Anda ke BigQuery untuk analisis dan pelaporan mendalam.
-
Mengelola dan menganalisis secret: Lihat semua secret Anda di satu tempat (di seluruh project dan seluruh organisasi Anda) dan identifikasi secret yang mungkin salah dikonfigurasi atau melanggar kebijakan keamanan organisasi Anda. Misalnya, Anda dapat menemukan secret yang tidak dirotasi secara berkala atau tidak memiliki kontrol akses yang tepat.
Ini adalah tugas lanjutan untuk pengguna Secret Manager. Sebelum membaca halaman ini, sebaiknya Anda membaca hal berikut:
-
Ringkasan Secret Manager untuk memahami konsep dan fitur utama Secret Manager
-
Ringkasan Inventaris Aset Cloud untuk memahami Inventaris Aset Cloud dan melihat fitur pengelolaan asetnya yang komprehensif
Membuat kueri Secret Manager
Untuk menganalisis secret dengan kueri mirip SQL, sebaiknya Anda mengekspor secret dan versi secret ke BigQuery. Secret Manager tidak terintegrasi dengan Asset Search atau Policy Analyzer. Kueri ini menggunakan Google Cloud CLI dan BigQuery untuk menelusuri aset Anda.
Batasan
Penggunaan Inventaris Aset Cloud untuk menganalisis resource Secret Manager memiliki batasan berikut:
-
Inventaris Aset Cloud hanya mendukung ekspor dan listingan snapshot selama lima minggu terakhir.
Memantau perubahan aset
Inventaris Aset Cloud melacak pembaruan real-time dan mendukung pemantauan perubahan ini. Anda dapat mengonfigurasi feed untuk mengirim notifikasi ke kumpulan topik Pub/Sub yang dikonfigurasi setiap kali ada perubahan pada resource Anda. Selain itu, Inventaris Aset Cloud mendukung konfigurasi kondisi di feed Anda, sehingga Anda dapat memantau perubahan tertentu untuk jenis aset tertentu. Untuk mempelajari cara memicu alur kerja pada perubahan aset, lihat dokumentasi Pub/Sub.
Mengekspor aset ke BigQuery
Dengan mengekspor secret dan versi secret ke BigQuery, Anda dapat menjalankan kueri mirip SQL pada data dalam jumlah besar dan menghasilkan insight yang bermakna tentang aset Anda. Sebelum mengekspor aset, pastikan set data dan akun layanan Anda dikonfigurasi dengan benar.
Untuk mengekspor aset, jalankan perintah berikut:
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- CONTENT_TYPE: jenis konten aset (
RESOURCE
). - PROJECT_ID: ID project yang berisi secret yang akan dianalisis.
- SNAPSHOT_TIME: waktu untuk mengambil snapshot resource. Rentang waktu ini dapat berkisar antara waktu saat ini dan 5 minggu yang lalu.
- BIGQUERY_PROJECT_ID: ID project tempat tabel BigQuery berada.
- DATASET_ID: ID set data BigQuery.
- TABLE_NAME: tabel tempat Anda mengekspor metadata. Jika tidak ada, folder akan dibuat.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud asset export \ --content-type=CONTENT_TYPE \ --project=PROJECT_ID \ --snapshot-time=SNAPSHOT_TIME \ --bigquery-table=projects/BIGQUERY_PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \ --output-bigquery-force
Windows (PowerShell)
gcloud asset export ` --content-type=CONTENT_TYPE ` --project=PROJECT_ID ` --snapshot-time=SNAPSHOT_TIME ` --bigquery-table=projects/BIGQUERY_PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME ` --output-bigquery-force
Windows (cmd.exe)
gcloud asset export ^ --content-type=CONTENT_TYPE ^ --project=PROJECT_ID ^ --snapshot-time=SNAPSHOT_TIME ^ --bigquery-table=projects/BIGQUERY_PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME ^ --output-bigquery-force
Untuk informasi selengkapnya, lihat Mengekspor ke BigQuery.
Sampel kueri
Gunakan contoh kueri ini untuk menemukan secret dan versi secret dengan properti tertentu.
Secret regional yang dibuat dalam dua minggu terakhir
Temukan secret (dan propertinya) yang ditambahkan ke organisasi Anda dalam dua minggu terakhir.
BigQuery
SELECT name, FROM BIGQUERY_TABLE WHERE asset_type='secretmanager.googleapis.com/Secret' AND resource.location <> "global" AND DATE(JSON_VALUE(resource.data, '$.createTime')) > DATE_SUB(CURRENT_DATE(), INTERVAL 2 WEEK);
Ganti BIGQUERY_TABLE dengan jalur lengkap ke tabel BigQuery yang telah Anda gunakan untuk mengekspor semua aset di bagian Mengekspor aset ke BigQuery dalam dokumen ini.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID project yang berisi secret yang akan dianalisis
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID \ --asset-types='secretmanager.googleapis.com/Secret' \ --snapshot-time=$NOW \ --content-type='resource' \ --filter="resource.location != global AND resource.data.createTime>-P2W"
Windows (PowerShell)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ` --asset-types='secretmanager.googleapis.com/Secret' ` --snapshot-time=$NOW ` --content-type='resource' ` --filter="resource.location != global AND resource.data.createTime>-P2W"
Windows (cmd.exe)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ^ --asset-types='secretmanager.googleapis.com/Secret' ^ --snapshot-time=$NOW ^ --content-type='resource' ^ --filter="resource.location != global AND resource.data.createTime>-P2W"
Secret regional di lokasi tertentu
Temukan semua secret yang disimpan di lokasi tertentu, seperti us-central1
.
BigQuery
SELECT * FROM BIGQUERY_TABLE WHERE asset_type='secretmanager.googleapis.com/Secret' AND resource.location = "us-central1";
Ganti BIGQUERY_TABLE dengan jalur lengkap ke tabel BigQuery yang telah Anda gunakan untuk mengekspor semua aset di bagian Mengekspor aset ke BigQuery dalam dokumen ini.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID project yang berisi secret yang akan dianalisis
- LOCATION: lokasi Google Cloud dari secret
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID \ --asset-types='secretmanager.googleapis.com/Secret' \ --snapshot-time=$NOW \ --content-type='resource' \ --filter="resource.location = LOCATION AND resource.data.createTime>-P2W"
Windows (PowerShell)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ` --asset-types='secretmanager.googleapis.com/Secret' ` --snapshot-time=$NOW ` --content-type='resource' ` --filter="resource.location = LOCATION AND resource.data.createTime>-P2W"
Windows (cmd.exe)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ^ --asset-types='secretmanager.googleapis.com/Secret' ^ --snapshot-time=$NOW ^ --content-type='resource' ^ --filter="resource.location = LOCATION AND resource.data.createTime>-P2W"
Versi secret regional yang dibuat lebih dari 180 hari yang lalu
Mencantumkan semua versi secret yang dibuat lebih dari 180 hari yang lalu.
BigQuery
SELECT * FROM BIGQUERY_TABLE WHERE asset_type='secretmanager.googleapis.com/SecretVersion' resource.location <> "global" AND DATE(JSON_VALUE(resource.data, '$.createTime')) < DATE_SUB(CURRENT_DATE(), INTERVAL 180 DAY) AND JSON_VALUE(resource.data, '$.state') = "ENABLED";
Ganti BIGQUERY_TABLE dengan jalur lengkap ke tabel BigQuery yang telah Anda gunakan untuk mengekspor semua aset di bagian Mengekspor aset ke BigQuery dalam dokumen ini.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID project yang berisi secret yang akan dianalisis
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID \ --asset-types='secretmanager.googleapis.com/SecretVersion' \ --snapshot-time=$NOW \ --content-type='resource' \ --filter="resource.location != global AND resource.data.createTime < P6M AND resource.data.state = ENABLED"
Windows (PowerShell)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ` --asset-types='secretmanager.googleapis.com/SecretVersion' ` --snapshot-time=$NOW ` --content-type='resource' ` --filter="resource.location != global AND resource.data.createTime < P6M AND resource.data.state = ENABLED"
Windows (cmd.exe)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ^ --asset-types='secretmanager.googleapis.com/SecretVersion' ^ --snapshot-time=$NOW ^ --content-type='resource' ^ --filter="resource.location != global AND resource.data.createTime < P6M AND resource.data.state = ENABLED"
Secret regional tanpa CMEK yang dikonfigurasi
Cantumkan semua secret yang tidak dienkripsi dengan kunci enkripsi yang dikelola pelanggan (CMEK):
BigQuery
SELECT * FROM BIGQUERY_TABLE WHERE asset_type='secretmanager.googleapis.com/Secret' resource.location <> "global" AND JSON_VALUE(resource.data, "$.customerManagedEncryption.kmsKeyName") IS NOT NULL;
Ganti BIGQUERY_TABLE dengan jalur lengkap ke tabel BigQuery yang telah Anda gunakan untuk mengekspor semua aset di bagian Mengekspor aset ke BigQuery dalam dokumen ini.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID project yang berisi secret yang akan dianalisis
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID \ --asset-types='secretmanager.googleapis.com/Secret' \ --snapshot-time=$NOW \ --content-type='resource' \ --filter="resource.location != global AND resource.data.customerManagedEncryption = NULL"
Windows (PowerShell)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ` --asset-types='secretmanager.googleapis.com/Secret' ` --snapshot-time=$NOW ` --content-type='resource' ` --filter="resource.location != global AND resource.data.customerManagedEncryption = NULL"
Windows (cmd.exe)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ^ --asset-types='secretmanager.googleapis.com/Secret' ^ --snapshot-time=$NOW ^ --content-type='resource' ^ --filter="resource.location != global AND resource.data.customerManagedEncryption = NULL"
Secret regional dengan CMEK yang dikonfigurasi
Mencantumkan semua secret yang dienkripsi dengan CMEK.
BigQuery
SELECT * FROM BIGQUERY_TABLE WHERE asset_type='secretmanager.googleapis.com/Secret' resource.location <> "global" AND JSON_VALUE(resource.data, "$.customerManagedEncryption.kmsKeyName") IS NOT NULL;
Ganti BIGQUERY_TABLE dengan jalur lengkap ke tabel BigQuery yang telah Anda gunakan untuk mengekspor semua aset di bagian Mengekspor aset ke BigQuery dalam dokumen ini.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID project yang berisi secret yang akan dianalisis
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID \ --asset-types='secretmanager.googleapis.com/Secret' \ --snapshot-time=$NOW \ --content-type='resource' \ --filter="resource.location != global AND resource.data.customerManagedEncryption != NULL"
Windows (PowerShell)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ` --asset-types='secretmanager.googleapis.com/Secret' ` --snapshot-time=$NOW ` --content-type='resource' ` --filter="resource.location != global AND resource.data.customerManagedEncryption != NULL"
Windows (cmd.exe)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ^ --asset-types='secretmanager.googleapis.com/Secret' ^ --snapshot-time=$NOW ^ --content-type='resource' ^ --filter="resource.location != global AND resource.data.customerManagedEncryption != NULL"
Secret regional yang dienkripsi dengan CMEK tertentu
Menemukan secret yang dienkripsi dengan CMEK tertentu.
BigQuery
SELECT * FROM BIGQUERY_TABLE WHERE asset_type='secretmanager.googleapis.com/Secret' resource.location <> "global" AND JSON_VALUE(resource.data, "$.customerManagedEncryption.kmsKeyName") = KMS_KEY_NAME;
Ganti kode berikut:
-
BIGQUERY_TABLE: jalur lengkap ke tabel BigQuery yang menjadi tujuan ekspor semua aset di bagian Mengekspor aset ke BigQuery dalam dokumen ini.
-
KMS_KEY_NAME: ID kunci atau ID yang memenuhi syarat sepenuhnya untuk kunci
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID project yang berisi secret yang akan dianalisis
- KMS_KEY_NAME: ID kunci atau ID yang memenuhi syarat sepenuhnya untuk kunci
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud beta asset list --project=PROJECT_ID \ --asset-types='secretmanager.googleapis.com/Secret' \ --snapshot-time=$NOW \ --content-type='resource' \ --filter="resource.location != global AND resource.data.customerManagedEncryption.kmsKeyName=KMS_KEY_NAME"
Windows (PowerShell)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud beta asset list --project=PROJECT_ID ` --asset-types='secretmanager.googleapis.com/Secret' ` --snapshot-time=$NOW ` --content-type='resource' ` --filter="resource.location != global AND resource.data.customerManagedEncryption.kmsKeyName=KMS_KEY_NAME"
Windows (cmd.exe)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud beta asset list --project=PROJECT_ID ^ --asset-types='secretmanager.googleapis.com/Secret' ^ --snapshot-time=$NOW ^ --content-type='resource' ^ --filter="resource.location != global AND resource.data.customerManagedEncryption.kmsKeyName=KMS_KEY_NAME"
Versi secret regional tanpa CMEK yang dikonfigurasi
Temukan semua versi secret yang diaktifkan dan tidak dienkripsi dengan CMEK.
BigQuery
SELECT * FROM BIGQUERY_TABLE WHERE asset_type='secretmanager.googleapis.com/SecretVersion' resource.location <> "global" AND JSON_VALUE(resource.data, "$.customerManagedEncryption.kmsKeyVersionName") IS NULL AND JSON_VALUE(resource.data, "$.state") = "ENABLED";
Ganti BIGQUERY_TABLE dengan jalur lengkap ke tabel BigQuery yang telah Anda gunakan untuk mengekspor semua aset di bagian Mengekspor aset ke BigQuery dalam dokumen ini.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID project yang berisi secret yang akan dianalisis
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID \ --asset-types='secretmanager.googleapis.com/SecretVersion' \ --snapshot-time=$NOW \ --content-type='resource' \ --filter="(resource.location != global AND resource.data.customerManagedEncryption.kmsKeyVersionName = NULL) AND resource.data.state=ENABLED"
Windows (PowerShell)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ` --asset-types='secretmanager.googleapis.com/SecretVersion' ` --snapshot-time=$NOW ` --content-type='resource' ` --filter="(resource.location != global AND resource.data.customerManagedEncryption.kmsKeyVersionName = NULL) AND resource.data.state=ENABLED"
Windows (cmd.exe)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ^ --asset-types='secretmanager.googleapis.com/SecretVersion' ^ --snapshot-time=$NOW ^ --content-type='resource' ^ --filter="(resource.location != global AND resource.data.customerManagedEncryption.kmsKeyVersionName = NULL) AND resource.data.state=ENABLED"
Versi secret regional yang dienkripsi dengan CMEK tertentu
Mencantumkan semua versi secret yang diaktifkan dan dienkripsi dengan versi CMEK tertentu.
BigQuery
SELECT * FROM BIGQUERY_TABLE WHERE asset_type='secretmanager.googleapis.com/SecretVersion' resource.location <> "global" AND JSON_VALUE(resource.data, "$.customerManagedEncryption.kmsKeyVersionName") = KMS_KEY_VERSION_NAME AND JSON_VALUE(resource.data, "$.state") = "ENABLED";
Ganti kode berikut:
-
BIGQUERY_TABLE: jalur lengkap ke tabel BigQuery yang menjadi tujuan ekspor semua aset di bagian Mengekspor aset ke BigQuery dalam dokumen ini.
-
KMS_KEY_VERSION_NAME: nomor versi kunci Cloud Key Management Service
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID project yang berisi secret yang akan dianalisis
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID \ --asset-types='secretmanager.googleapis.com/SecretVersion' \ --snapshot-time=$NOW \ --content-type='resource' \ --filter="(resource.location != global AND resource.data.customerManagedEncryption.kmsKeyVersionName = KMS_KEY_VERSION_NAME) AND resource.data.state=ENABLED"
Windows (PowerShell)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ` --asset-types='secretmanager.googleapis.com/SecretVersion' ` --snapshot-time=$NOW ` --content-type='resource' ` --filter="(resource.location != global AND resource.data.customerManagedEncryption.kmsKeyVersionName = KMS_KEY_VERSION_NAME) AND resource.data.state=ENABLED"
Windows (cmd.exe)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ^ --asset-types='secretmanager.googleapis.com/SecretVersion' ^ --snapshot-time=$NOW ^ --content-type='resource' ^ --filter="(resource.location != global AND resource.data.customerManagedEncryption.kmsKeyVersionName = KMS_KEY_VERSION_NAME) AND resource.data.state=ENABLED"
Secret regional tanpa rotasi yang dikonfigurasi
Temukan semua secret yang tidak memiliki jadwal rotasi.
BigQuery
SELECT name FROM BIGQUERY_TABLE WHERE asset_type='secretmanager.googleapis.com/Secret' AND resource.location <> "global" AND JSON_EXTRACT(resource.data, '$.rotation') IS NULL;
Ganti BIGQUERY_TABLE dengan jalur lengkap ke tabel BigQuery yang telah Anda gunakan untuk mengekspor semua aset di bagian Mengekspor aset ke BigQuery dalam dokumen ini.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID project yang berisi secret yang akan dianalisis
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID \ --asset-types='secretmanager.googleapis.com/Secret' \ --snapshot-time=$NOW \ --content-type='resource' \ --filter="resource.location != global AND resource.data.rotation = NULL"
Windows (PowerShell)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ` --asset-types='secretmanager.googleapis.com/Secret' ` --snapshot-time=$NOW ` --content-type='resource' ` --filter="resource.location != global AND resource.data.rotation = NULL"
Windows (cmd.exe)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ^ --asset-types='secretmanager.googleapis.com/Secret' ^ --snapshot-time=$NOW ^ --content-type='resource' ^ --filter="resource.location != global AND resource.data.rotation = NULL"
Secret regional dengan periode rotasi tertentu
Temukan semua secret yang dijadwalkan untuk dirotasi kurang dari sekali setiap 90 hari:
BigQuery
SELECT * FROM BIGQUERY_TABLE WHERE asset_type='secretmanager.googleapis.com/Secret' AND resource.location <> "global" AND CAST( TRIM( JSON_VALUE(JSON_EXTRACT(resource.data, "$.rotation.rotationPeriod")),"s") AS INT64) < 86400 * 90 #Rotation period in seconds (86400s in 1 day * 90 days)
Ganti BIGQUERY_TABLE dengan jalur lengkap ke tabel BigQuery yang telah Anda gunakan untuk mengekspor semua aset di bagian Mengekspor aset ke BigQuery dalam dokumen ini.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID project yang berisi secret yang akan dianalisis
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") ROTATION_PERIOD_SECONDS=$((90 * 24 * 60 * 60)) gcloud asset list --project=PROJECT_ID \ --asset-types='secretmanager.googleapis.com/Secret' \ --snapshot-time=$NOW \ --content-type='resource' \ --filter="resource.location != global AND resource.data.rotation != null AND resource.data.rotation.rotationPeriod <= ${ROTATION_PERIOD_SECONDS}s"
Windows (PowerShell)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") ROTATION_PERIOD_SECONDS=$((90 * 24 * 60 * 60)) gcloud asset list --project=PROJECT_ID ` --asset-types='secretmanager.googleapis.com/Secret' ` --snapshot-time=$NOW ` --content-type='resource' ` --filter="resource.location != global AND resource.data.rotation != null AND resource.data.rotation.rotationPeriod <= ${ROTATION_PERIOD_SECONDS}s"
Windows (cmd.exe)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") ROTATION_PERIOD_SECONDS=$((90 * 24 * 60 * 60)) gcloud asset list --project=PROJECT_ID ^ --asset-types='secretmanager.googleapis.com/Secret' ^ --snapshot-time=$NOW ^ --content-type='resource' ^ --filter="resource.location != global AND resource.data.rotation != null AND resource.data.rotation.rotationPeriod <= ${ROTATION_PERIOD_SECONDS}s"
Secret regional yang akan berakhir dalam 30 hari ke depan
Mencantumkan secret yang akan berakhir masa berlakunya dalam 30 hari ke depan.
BigQuery
SELECT * FROM BIGQUERY_TABLE WHERE asset_type='secretmanager.googleapis.com/Secret' AND resource.location <> "global" AND DATE(JSON_VALUE(resource.data, '$.expireTime')) < DATE_ADD(CURRENT_DATE(), INTERVAL 30 DAY);
Ganti BIGQUERY_TABLE dengan jalur lengkap ke tabel BigQuery yang telah Anda gunakan untuk mengekspor semua aset di bagian Mengekspor aset ke BigQuery dalam dokumen ini.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID project yang berisi aset yang akan dipantau
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID \ --asset-types='secretmanager.googleapis.com/Secret' \ --snapshot-time=$NOW \ --content-type='resource' \ --filter="resource.location != global AND resource.data.expireTime < PD30"
Windows (PowerShell)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ` --asset-types='secretmanager.googleapis.com/Secret' ` --snapshot-time=$NOW ` --content-type='resource' ` --filter="resource.location != global AND resource.data.expireTime < PD30"
Windows (cmd.exe)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ^ --asset-types='secretmanager.googleapis.com/Secret' ^ --snapshot-time=$NOW ^ --content-type='resource' ^ --filter="resource.location != global AND resource.data.expireTime < PD30"
Secret regional dengan topik Pub/Sub yang dikonfigurasi
Mencantumkan semua secret yang memiliki setidaknya satu topik Pub/Sub yang dikonfigurasi.
BigQuery
SELECT name, ARRAY_LENGTH(JSON_EXTRACT_ARRAY(resource.data, '$.topics')) AS topics_count, FROM BIGQUERY_TABLE WHERE asset_type='secretmanager.googleapis.com/Secret' AND resource.location <> "global" AND ARRAY_LENGTH(JSON_EXTRACT_ARRAY(resource.data, '$.topics')) > 0
Ganti BIGQUERY_TABLE dengan jalur lengkap ke tabel BigQuery yang telah Anda gunakan untuk mengekspor semua aset di bagian Mengekspor aset ke BigQuery dalam dokumen ini.
gcloud
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- PROJECT_ID: ID project yang berisi aset yang akan dipantau
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID \ --asset-types='secretmanager.googleapis.com/Secret' \ --snapshot-time=$NOW \ --content-type='resource' \ --filter="resource.location != global AND resource.data.topics != NULL"
Windows (PowerShell)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ` --asset-types='secretmanager.googleapis.com/Secret' ` --snapshot-time=$NOW ` --content-type='resource' ` --filter="resource.location != global AND resource.data.topics != NULL"
Windows (cmd.exe)
NOW=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ") gcloud asset list --project=PROJECT_ID ^ --asset-types='secretmanager.googleapis.com/Secret' ^ --snapshot-time=$NOW ^ --content-type='resource' ^ --filter="resource.location != global AND resource.data.topics != NULL"
Langkah selanjutnya
- Pelajari praktik terbaik.