Menganalisis secret regional dengan Inventaris Aset Cloud

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:

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