Questa pagina spiega come utilizzare Cloud Asset Inventory per monitorare i tuoi secret, esportare i dati per l'analisi ed eseguire query efficaci per ottenere le informazioni di cui hai bisogno.
Panoramica
Cloud Asset Inventory analizza il tuo ambiente Google Cloud e registra eventuali modifiche alle risorse cloud, come macchine virtuali, database, bucket di archiviazione e, in questo contesto, i secret di Secret Manager. L'integrazione tra Secret Manager e Cloud Asset Inventory ti consente di:
-
Esegui query: cerca segreti specifici o identifica schemi tra i tuoi segreti.
-
Configura gli avvisi: configura Cloud Asset Inventory per inviare notifiche a Pub/Sub quando si verificano eventi specifici, ad esempio quando i secret vengono creati, modificati o eliminati.
-
Esporta i dati: esporta l'inventario segreto in BigQuery per analisi approfondite e report.
-
Gestisci e analizza i tuoi secret: visualizza tutti i tuoi secret in un unico posto (tra i progetti e l'intera organizzazione) e identifica quelli che potrebbero essere configurati in modo errato o violare i criteri di sicurezza della tua organizzazione. Ad esempio, puoi trovare secret che non vengono ruotati regolarmente o che non dispongono di controlli di accesso adeguati.
Questa è un'attività avanzata per gli utenti di Secret Manager. Prima di leggere questa pagina, ti consigliamo di leggere quanto segue:
-
Panoramica di Secret Manager per comprendere i concetti e le funzionalità chiave di Secret Manager
-
Panoramica di Cloud Asset Inventory per comprendere Cloud Asset Inventory e le sue funzionalità complete di gestione degli asset
Eseguire query su Secret Manager
Per analizzare i tuoi secret con query simili a SQL, ti consigliamo di esportare il secret e le sue versioni in BigQuery. Secret Manager non è integrato con Asset Search o Policy Analyzer. Queste query utilizzano l'interfaccia a Google Cloud CLI e BigQuery per cercare gli asset.
Limitazioni
L'utilizzo di Cloud Asset Inventory per analizzare le risorse Secret Manager presenta la seguente limitazione:
-
Cloud Asset Inventory supporta l'esportazione e la pubblicazione di istantanee solo per le ultime cinque settimane.
Monitorare le modifiche agli asset
Cloud Asset Inventory tiene traccia degli aggiornamenti in tempo reale e supporta il monitoraggio di queste modifiche. Puoi configurare i feed per inviare notifiche a un insieme di argomenti Pub/Sub configurati ogni volta che viene apportata una modifica alle tue risorse. Inoltre, Cloud Asset Inventory supporta la configurazione di condizioni sui feed, in modo da poter monitorare modifiche specifiche per determinati tipi di asset. Per scoprire come attivare i flussi di lavoro in base alle modifiche degli asset, consulta la documentazione di Pub/Sub.
Esportare asset in BigQuery
L'esportazione dei secret e delle relative versioni in BigQuery ti consente di eseguire query simili a SQL su grandi quantità di dati e di generare informazioni significative sui tuoi asset. Prima di esportare gli asset, assicurati che i set di dati e gli account di servizio siano configurati correttamente.
Per esportare gli asset, esegui il seguente comando:
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- CONTENT_TYPE: il tipo di contenuto della risorsa (
RESOURCE
). - PROJECT_ID: l'ID del progetto contenente i secret da analizzare.
- SNAPSHOT_TIME: l'ora in cui acquisire gli snapshot delle risorse. Può essere compreso tra l'ora corrente e 5 settimane nel passato.
- BIGQUERY_PROJECT_ID: l'ID del progetto in cui si trova la tabella BigQuery.
- DATASET_ID: l'ID del set di dati BigQuery.
- TABLE_NAME: la tabella in cui esporti i metadati. Se non esiste, viene creato.
Esegui il seguente comando:
Linux, macOS o 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
Per ulteriori informazioni, consulta la sezione Esportare in BigQuery.
Query di esempio
Utilizza queste query di esempio per trovare secret e versioni dei secret con proprietà specifiche.
Secret regionali creati nelle ultime due settimane
Trova i secret (e le relative proprietà) aggiunti alla tua organizzazione nelle ultime due settimane.
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);
Sostituisci BIGQUERY_TABLE con il percorso completo della tabella BigQuery in cui hai esportato tutti gli asset nella sezione Esportare asset in BigQuery di questo documento.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del progetto contenente i secret da analizzare
Esegui il seguente comando:
Linux, macOS o 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 regionali in una località specifica
Trova tutti i secret archiviati in una posizione specifica, ad esempio us-central1
.
BigQuery
SELECT * FROM BIGQUERY_TABLE WHERE asset_type='secretmanager.googleapis.com/Secret' AND resource.location = "us-central1";
Sostituisci BIGQUERY_TABLE con il percorso completo della tabella BigQuery in cui hai esportato tutti gli asset nella sezione Esportare asset in BigQuery di questo documento.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del progetto contenente i secret da analizzare
- LOCATION: la località di Google Cloud dei segreti
Esegui il seguente comando:
Linux, macOS o 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"
Versioni dei secret regionali create più di 180 giorni fa
Elenca tutte le versioni del secret create più di 180 giorni fa.
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";
Sostituisci BIGQUERY_TABLE con il percorso completo della tabella BigQuery in cui hai esportato tutti gli asset nella sezione Esportare asset in BigQuery di questo documento.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del progetto contenente i secret da analizzare
Esegui il seguente comando:
Linux, macOS o 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 regionali senza CMEK configurato
Elenca tutti i secret non criptati con le chiavi di crittografia gestite dal cliente (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;
Sostituisci BIGQUERY_TABLE con il percorso completo della tabella BigQuery in cui hai esportato tutti gli asset nella sezione Esportare asset in BigQuery di questo documento.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del progetto contenente i secret da analizzare
Esegui il seguente comando:
Linux, macOS o 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 regionali con CMEK configurato
Elenca tutti i secret criptati con 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;
Sostituisci BIGQUERY_TABLE con il percorso completo della tabella BigQuery in cui hai esportato tutti gli asset nella sezione Esportare asset in BigQuery di questo documento.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del progetto contenente i secret da analizzare
Esegui il seguente comando:
Linux, macOS o 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 regionali criptati con una CMEK specifica
Trova i secret criptati con una CMEK specifica.
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;
Sostituisci quanto segue:
-
BIGQUERY_TABLE: il percorso completo della tabella BigQuery in cui hai esportato tutti gli asset nella sezione Esportare asset in BigQuery di questo documento.
-
KMS_KEY_NAME: l'ID della chiave o l'identificatore completo della chiave
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del progetto contenente i secret da analizzare
- KMS_KEY_NAME: l'ID della chiave o l'identificatore completo della chiave
Esegui il seguente comando:
Linux, macOS o 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"
Versioni dei secret regionali senza CMEK configurato
Trova tutte le versioni dei secret abilitate che non sono criptate con 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";
Sostituisci BIGQUERY_TABLE con il percorso completo della tabella BigQuery in cui hai esportato tutti gli asset nella sezione Esportare asset in BigQuery di questo documento.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del progetto contenente i secret da analizzare
Esegui il seguente comando:
Linux, macOS o 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"
Versioni dei secret regionali criptate con una CMEK specifica
Elenca tutte le versioni dei secret abilitate criptate con una versione CMEK specifica.
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";
Sostituisci quanto segue:
-
BIGQUERY_TABLE: il percorso completo della tabella BigQuery in cui hai esportato tutti gli asset nella sezione Esportare asset in BigQuery di questo documento.
-
KMS_KEY_VERSION_NAME: il numero di versione della chiave Cloud Key Management Service
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del progetto contenente i secret da analizzare
Esegui il seguente comando:
Linux, macOS o 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 regionali senza rotazione configurata
Trova tutti i secret che non hanno una pianificazione della rotazione.
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;
Sostituisci BIGQUERY_TABLE con il percorso completo della tabella BigQuery in cui hai esportato tutti gli asset nella sezione Esportare asset in BigQuery di questo documento.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del progetto contenente i secret da analizzare
Esegui il seguente comando:
Linux, macOS o 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 regionali con un periodo di rotazione specifico
Trova tutti i secret la cui rotazione è pianificata meno di una volta ogni 90 giorni:
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)
Sostituisci BIGQUERY_TABLE con il percorso completo della tabella BigQuery in cui hai esportato tutti gli asset nella sezione Esportare asset in BigQuery di questo documento.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del progetto contenente i secret da analizzare
Esegui il seguente comando:
Linux, macOS o 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 regionali che scadranno nei prossimi 30 giorni
Elenca i secret che scadranno nei prossimi 30 giorni.
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);
Sostituisci BIGQUERY_TABLE con il percorso completo della tabella BigQuery in cui hai esportato tutti gli asset nella sezione Esportare asset in BigQuery di questo documento.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del progetto contenente le risorse da monitorare
Esegui il seguente comando:
Linux, macOS o 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 regionali con un argomento Pub/Sub configurato
Elenca tutti i secret con almeno un argomento Pub/Sub configurato.
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
Sostituisci BIGQUERY_TABLE con il percorso completo della tabella BigQuery in cui hai esportato tutti gli asset nella sezione Esportare asset in BigQuery di questo documento.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del progetto contenente le risorse da monitorare
Esegui il seguente comando:
Linux, macOS o 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"
Passaggi successivi
- Scopri le best practice.