Visualizza l'utilizzo delle chiavi

Questa pagina mostra come visualizzare le risorse Google Cloud all'interno della tua organizzazione protette dalle tue chiavi Cloud KMS. Il monitoraggio dell'utilizzo delle chiavi è disponibile solo all'interno delle risorse dell'organizzazione.

Puoi visualizzare informazioni sulle risorse protette dalle tue chiavi a due livelli:

  • Le informazioni del riepilogo dell'utilizzo della chiave per ogni chiave includono il numero di risorse protette, progetti e prodotti Google Cloud unici che utilizzano la chiave. Questo livello di dettaglio è disponibile per chiunque disponga del ruolo Visualizzatore Cloud KMS per la chiave.
  • Le informazioni Dettagli sull'utilizzo della chiave identificano le risorse protette da e dipendenti da questa chiave. Questo livello di dettaglio è privilegiato ed è disponibile solo per gli account con il ruolo Visualizzatore risorse protette Cloud KMS nell'organizzazione.

Prima di iniziare

Questa pagina presuppone che tu stia utilizzando Cloud KMS all'interno di una Google Cloud risorsa organizzazione.

  1. Chiedi all'amministratore dell'organizzazione di concedere al service account Cloud KMS il ruolo Cloud KMS Organization Service Agent (roles/cloudkms.orgServiceAgent) nella risorsa dell'organizzazione. Questo ruolo non è disponibile nella console Google Cloud , quindi devi utilizzare gcloud CLI per concederlo:

    Interfaccia a riga di comando gcloud

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
        --member=serviceAccount:service-org-ORGANIZATION_ID@gcp-sa-cloudkms.iam.gserviceaccount.com \
        --role=roles/cloudkms.orgServiceAgent
    

    Sostituisci ORGANIZATION_ID con l'ID numerico della tua organizzazione.

  2. Assegna il ruolo Visualizzatore Cloud KMS (roles/cloudkms.viewer) a chiunque debba visualizzare i riepiloghi dell'utilizzo delle chiavi. Per informazioni sulla concessione dei ruoli, consulta Gestire l'accesso.

  3. Concedi il ruolo Cloud KMS Protected Resources Viewer (roles/cloudkms.protectedResourcesViewer) alla risorsa dell'organizzazione a chiunque debba visualizzare i dettagli sull'utilizzo delle chiavi. Questo ruolo non è disponibile nella console Google Cloud , quindi devi utilizzare gcloud CLI per concederlo:

    Interfaccia a riga di comando gcloud

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
        --member=user:USER_EMAIL \
        --role=roles/cloudkms.protectedResourcesViewer
    

    Sostituisci quanto segue:

    • ORGANIZATION_ID: l'ID numerico della tua organizzazione.
    • USER_EMAIL: l'indirizzo email dell'utente.
  4. Attiva l'API Cloud KMS Inventory.

    Abilitare l'API

Visualizzare le informazioni sull'utilizzo delle chiavi

Console

  1. Nella console Google Cloud , vai alla pagina Inventario chiavi.

    Vai all'inventario delle chiavi

  2. (Facoltativo) Per filtrare l'elenco delle chiavi, inserisci i termini di ricerca nella casella filter_list Filtro e poi premi Invio. Ad esempio, puoi filtrare per posizione, portachiavi, stato o altre proprietà delle chiavi.

  3. Fai clic sul nome della chiave per cui vuoi visualizzare le informazioni sull'utilizzo.

  4. Fai clic sulla scheda Monitoraggio dell'utilizzo.

  5. (Facoltativo) Per filtrare l'elenco delle risorse protette, inserisci i termini di ricerca nella casella filter_list Filtro e poi premi Invio.

Vengono visualizzati il riepilogo e i dettagli dell'utilizzo della chiave selezionata.

Interfaccia a riga di comando gcloud

Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.

Per visualizzare il riepilogo dell'utilizzo delle chiavi, utilizza il metodo get-protected-resources-summary:

gcloud kms inventory get-protected-resources-summary \
    --keyname  projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto che contiene il portachiavi.
  • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
  • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
  • KEY_NAME: il nome della chiave per cui vuoi visualizzare il riepilogo dell'utilizzo.

Per visualizzare i dettagli sull'utilizzo delle chiavi, utilizza il metodo search-protected-resources:

gcloud kms inventory search-protected-resources \
    --keyname  projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
    --scope=organizations/ORGANIZATION_ID

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto che contiene il portachiavi.
  • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
  • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
  • KEY_NAME: il nome della chiave per cui vuoi visualizzare i dettagli di utilizzo.
  • ORGANIZATION_ID: l'ID numerico della tua organizzazione.

API

Questi esempi utilizzano curl come client HTTP per dimostrare l'utilizzo dell'API. Per saperne di più sul controllo dell'accesso, consulta Accesso all'API Cloud KMS.

Per visualizzare il riepilogo dell'utilizzo delle chiavi, utilizza il metodo cryptoKeys.getProtectedResourcesSummary:

curl  "https://kmsinventory.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/protectedResourcesSummary"
    --request "GET" \
    --header "x-goog-user-project: CALLING_PROJECT_ID"
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN"

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto che contiene il portachiavi.
  • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
  • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
  • KEY_NAME: il nome della chiave per cui vuoi visualizzare il riepilogo dell'utilizzo.
  • CALLING_PROJECT_ID: l'ID del progetto da cui chiami l'API KMS Inventory.

Per visualizzare i dettagli sull'utilizzo delle chiavi, utilizza il metodo protectedResources.search:

curl "https://kmsinventory.googleapis.com/v1/organizations/ORGANIZATION_ID/protectedResources:search?crypto_key=projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
    --request "GET" \
    --header "x-goog-user-project: CALLING_PROJECT_ID"
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN"

Sostituisci quanto segue:

  • ORGANIZATION_ID: l'ID numerico della tua organizzazione.
  • PROJECT_ID: l'ID del progetto che contiene il portachiavi.
  • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
  • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
  • KEY_NAME: il nome della chiave per cui vuoi visualizzare i dettagli di utilizzo.
  • CALLING_PROJECT_ID: l'ID del progetto da cui chiami l'API KMS Inventory.

Dettagli sull'utilizzo della chiave

I dettagli di utilizzo delle risorse protette criptate con la chiave selezionata includono quanto segue:

  • Nome: il nome della risorsa Google Cloud protetta dalla chiave selezionata.
  • Progetto: il nome del progetto che contiene la risorsa protetta.
  • Versione chiave di crittografia: la versione della chiave utilizzata per criptare questa risorsa. Alcune risorse protette non segnalano la versione della chiave di crittografia.
  • Prodotto Cloud: il prodotto Google Cloud associato a questa risorsa.
  • Tipo di risorsa: il tipo di risorsa protetta, ad esempio Bucket (Cloud Storage) o Disco (Compute Engine).
  • Posizione: la regione Google Cloud associata alla risorsa.
  • Data di creazione: l'ora in cui è stata creata la risorsa.
  • Etichette: un insieme di coppie chiave-valore associate alla risorsa.

Elenca le versioni della chiave che proteggono una risorsa

Se una risorsa è protetta da diverse versioni della chiave, potresti non essere in grado di visualizzare l'elenco completo delle versioni della chiave nella scheda Monitoraggio dell'utilizzo.

Per elencare le versioni delle chiavi che proteggono una risorsa, utilizza gcloud CLI per eseguire il seguente comando:

gcloud beta kms inventory search-protected-resources \
  --keyname=KEY_NAME \
  --scope=organizations/ORGANIZATION_ID \
  --filter="name:RESOURCE_NAME" \
  --flatten="cryptoKeyVersions" \
  --format="value(cryptoKeyVersions)"

Sostituisci quanto segue:

  • KEY_NAME: il nome della chiave per cui vuoi elencare le versioni della chiave.
  • ORGANIZATION_ID: l'ID numerico della tua organizzazione.
  • RESOURCE_NAME: il nome della risorsa per cui vuoi elencare le versioni delle chiavi.

Limitazioni

Quando utilizzi il monitoraggio dell'utilizzo delle chiavi, tieni presente quanto segue:

  • Il monitoraggio dell'utilizzo delle chiavi è disponibile solo per l'utilizzo delle chiavi CMEK. Se utilizzi una versione della chiave nelle tue applicazioni all'interno o all'esterno di Google Cloud, questo utilizzo non è incluso nella scheda Monitoraggio dell'utilizzo.
  • Alcune risorse CMEK non vengono monitorate. Per i tipi di risorse non elencati in Tipi di risorse monitorati, le informazioni sull'utilizzo delle chiavi potrebbero non essere incluse nei dettagli sull'utilizzo delle chiavi. Ad esempio, l'utilizzo delle chiavi da parte di Datastream per criptare le risorse ConnectionProfile (datastream.googleapis.com/ConnectionProfile) non viene visualizzato nella scheda Monitoraggio dell'utilizzo.
  • I dati potrebbero subire ritardi. Ad esempio, se crei una nuova risorsa protetta, la risorsa protetta e la versione della chiave associata non vengono aggiunte immediatamente alla scheda Monitoraggio dell'utilizzo.
  • I dati di utilizzo delle chiavi di Cloud Storage sono soggetti alle seguenti limitazioni aggiuntive:
    • I dati di utilizzo delle chiavi vengono aggregati dagli oggetti ai bucket. I nomi degli oggetti non vengono mostrati. Un bucket verrà visualizzato come se utilizzasse una chiave se contiene almeno un oggetto che la utilizza.
    • Il monitoraggio dell'utilizzo delle chiavi potrebbe non essere completo per i bucket che contengono oggetti protetti con oltre 4000 versioni di chiavi uniche.
  • I dettagli del monitoraggio dell'utilizzo delle chiavi sono solo a scopo informativo. Esegui la tua due diligence utilizzando altre fonti prima di apportare modifiche che potrebbero comportare interruzioni o perdita di dati. Non disabilitare o eliminare le versioni della chiave in base alle sole informazioni di monitoraggio dell'utilizzo della chiave.

Tipi di risorse monitorati

Sono supportati i seguenti tipi di risorse:

    Servizio Risorsa
    AI Applications discoveryengine.googleapis.com/DataStore
    AlloyDB per PostgreSQL alloydb.googleapis.com/Backup
    AlloyDB per PostgreSQL alloydb.googleapis.com/Cluster
    Hub API Apigee apihub.googleapis.com/ApiHubInstance
    Artifact Registry artifactregistry.googleapis.com/Repository
    BigQuery bigquery.googleapis.com/Dataset
    BigQuery bigquery.googleapis.com/Model
    BigQuery bigquery.googleapis.com/Table
    BigQuery bigquerydatatransfer.googleapis.com/TransferConfig
    Bigtable bigtableadmin.googleapis.com/Backup
    Bigtable bigtableadmin.googleapis.com/Cluster
    Bigtable bigtableadmin.googleapis.com/Table
    Cloud Composer composer.googleapis.com/Environment
    Cloud Data Fusion datafusion.googleapis.com/Instance
    API Cloud Healthcare healthcare.googleapis.com/Dataset
    Cloud Logging logging.googleapis.com/LogBucket
    Cloud Run run.googleapis.com/Revision
    Cloud Run Functions cloudfunctions.googleapis.com/CloudFunction
    Cloud Run Functions cloudfunctions.googleapis.com/Function
    Cloud SQL sqladmin.googleapis.com/BackupRun
    Cloud SQL sqladmin.googleapis.com/Instance
    Cloud Storage storage.googleapis.com/Bucket
    Cloud Workstations workstations.googleapis.com/Workstation
    Cloud Workstations workstations.googleapis.com/WorkstationConfig
    Compute Engine compute.googleapis.com/Disk
    Compute Engine compute.googleapis.com/Image
    Compute Engine compute.googleapis.com/MachineImage
    Compute Engine compute.googleapis.com/Snapshot
    Database Migration Service datamigration.googleapis.com/MigrationJob
    Database Migration Service datamigration.googleapis.com/ConnectionProfile
    Dataflow dataflow.googleapis.com/Job
    Dataproc dataproc.googleapis.com/Cluster
    Dataproc dataproc.googleapis.com/Batch
    Dataproc Metastore metastore.googleapis.com/Service
    Datastream datastream.googleapis.com/Stream
    Document AI documentai.googleapis.com/HumanReviewConfig
    Document AI documentai.googleapis.com/Processor
    Document AI documentai.googleapis.com/ProcessorVersion
    Filestore file.googleapis.com/Instance
    Filestore file.googleapis.com/Backup
    Firestore firestore.googleapis.com/Database
    Firestore datastore.googleapis.com/Database
    Google Agentspace Enterprise discoveryengine.googleapis.com/DataStore
    Google Kubernetes Engine container.googleapis.com/Cluster
    Looker (Google Cloud core) looker.googleapis.com/Instance
    Memorystore for Redis redis.googleapis.com/Instance
    Migrate to Virtual Machines vmmigration.googleapis.com/Source
    Pub/Sub pubsub.googleapis.com/Topic
    Secret Manager secretmanager.googleapis.com/Secret
    Secret Manager secretmanager.googleapis.com/SecretVersion
    Secure Source Manager securesourcemanager.googleapis.com/Instance
    Spanner spanner.googleapis.com/Database
    Vertex AI aiplatform.googleapis.com/Dataset
    Vertex AI aiplatform.googleapis.com/Featurestore
    Vertex AI aiplatform.googleapis.com/Tensorboard
    Vertex AI aiplatform.googleapis.com/BatchPredictionJob
    Vertex AI aiplatform.googleapis.com/CustomJob
    Vertex AI aiplatform.googleapis.com/Endpoint
    Vertex AI aiplatform.googleapis.com/Model
    Vertex AI aiplatform.googleapis.com/TrainingPipeline
    Vertex AI aiplatform.googleapis.com/PipelineJob
    Vertex AI aiplatform.googleapis.com/MetadataStore
    Istanze Vertex AI Workbench notebooks.googleapis.com/Instance
    Workflow workflows.googleapis.com/Workflow