Cómo ver el uso de la clave

En esta página, se muestra cómo ver los recursos Google Cloud de tu organización que están protegidos por tus claves de Cloud KMS. El seguimiento del uso de claves solo está disponible en los recursos de la organización.

Puedes ver información sobre los recursos que protegen tus claves en dos niveles:

  • La información del resumen de uso de la clave para cada clave incluye la cantidad de recursos protegidos, proyectos y productos Google Cloud únicos que usan la clave. Este nivel de detalle está disponible para cualquier persona que tenga el rol de visualizador de Cloud KMS en la clave.
  • La información de Detalles de uso de la clave identifica qué recursos están protegidos por esta clave y dependen de ella. Este nivel de detalle es privilegiado y solo está disponible para las cuentas con el rol de visualizador de recursos protegidos de Cloud KMS en la organización.

Antes de comenzar

En esta página, se supone que usas Cloud KMS dentro de unGoogle Cloud recurso de organización.

  1. Pídele al administrador de tu organización que le otorgue a tu cuenta de servicio de Cloud KMS el rol de agente de servicios de organización de Cloud KMS (cloudkms.orgServiceAgent) en el recurso de tu organización. Este rol no está disponible en la consola de Google Cloud , por lo que debes usar gcloud CLI para otorgarlo:

    gcloud CLI

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

    Reemplaza ORGANIZATION_ID por el ID numérico de tu organización.

  2. Otorga el rol de visualizador de Cloud KMS (roles/cloudkms.viewer) a cualquier persona que necesite ver los resúmenes de uso de claves. Para obtener información sobre cómo otorgar roles, consulta Administra el acceso.

  3. Otorga el rol de visualizador de recursos protegidos de Cloud KMS (roles/cloudkms.protectedResourcesViewer) en el recurso de tu organización a cualquier persona que necesite ver los detalles del uso de las claves. Este rol no está disponible en la consola de Google Cloud , por lo que debes usar gcloud CLI para otorgarlo:

    gcloud CLI

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

    Reemplaza lo siguiente:

    • ORGANIZATION_ID: Es el ID numérico de tu organización.
    • USER_EMAIL: La dirección de correo electrónico del usuario.
  4. Habilita la API de Cloud KMS Inventory.

    Habilitar la API

Consulta la información de uso de claves

Console

  1. En la consola de Google Cloud , ve a la página Inventario de claves.

    Ir a Key Inventory

  2. Opcional: Para filtrar la lista de claves, ingresa los términos de búsqueda en el cuadro Filtro de filter_list y, luego, presiona Intro. Por ejemplo, puedes filtrar por ubicación, llavero, estado o cualquier otra propiedad de las llaves.

  3. Haz clic en el nombre de la clave para la que deseas ver la información de uso.

  4. Haz clic en la pestaña Seguimiento del uso.

  5. Opcional: Para filtrar la lista de recursos protegidos, ingresa los términos de búsqueda en el cuadro Filtro de filter_list y, luego, presiona Intro.

Se muestran el resumen y los detalles del uso de la clave seleccionada.

gcloud CLI

Para usar Cloud KMS en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.

Para ver el resumen del uso de claves, usa el método get-protected-resources-summary:

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto que contiene el llavero de claves.
  • LOCATION: la ubicación de Cloud KMS del llavero de claves.
  • KEY_RING: el nombre del llavero de claves que incluye la clave
  • KEY_NAME: Es el nombre de la clave para la que deseas ver el resumen de uso.

Para ver los detalles del uso de la clave, usa el método 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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto que contiene el llavero de claves.
  • LOCATION: la ubicación de Cloud KMS del llavero de claves.
  • KEY_RING: el nombre del llavero de claves que incluye la clave
  • KEY_NAME: Es el nombre de la clave para la que deseas ver los detalles de uso.
  • ORGANIZATION_ID: Es el ID numérico de tu organización.

API

En estos ejemplos, se usa curl como un cliente HTTP para demostrar el uso de la API. Para obtener más información sobre el control de acceso, consulta Accede a la API de Cloud KMS.

Para ver el resumen del uso de claves, usa el método 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"

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto que contiene el llavero de claves.
  • LOCATION: la ubicación de Cloud KMS del llavero de claves.
  • KEY_RING: el nombre del llavero de claves que incluye la clave
  • KEY_NAME: Es el nombre de la clave para la que deseas ver el resumen de uso.
  • CALLING_PROJECT_ID: Es el ID del proyecto desde el que llamas a la API de KMS Inventory.

Para ver los detalles del uso de claves, usa el método 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"

Reemplaza lo siguiente:

  • ORGANIZATION_ID: Es el ID numérico de tu organización.
  • PROJECT_ID: Es el ID del proyecto que contiene el llavero de claves.
  • LOCATION: la ubicación de Cloud KMS del llavero de claves.
  • KEY_RING: el nombre del llavero de claves que incluye la clave
  • KEY_NAME: Es el nombre de la clave para la que deseas ver los detalles de uso.
  • CALLING_PROJECT_ID: Es el ID del proyecto desde el que llamas a la API de KMS Inventory.

Detalles clave de uso

Los detalles de uso sobre los recursos protegidos que se encriptan con la clave seleccionada incluyen lo siguiente:

  • Nombre: Es el nombre del recurso Google Cloud protegido por la clave seleccionada.
  • Proyecto: Es el nombre del proyecto que contiene el recurso protegido.
  • Versión de la clave criptográfica: Es la versión de la clave que se usó para encriptar este recurso. Algunos recursos protegidos no informan la versión de la clave criptográfica.
  • Producto de Cloud: Es el producto de Google Cloud asociado a este recurso.
  • Tipo de recurso: Es el tipo de recurso protegido, por ejemplo, Bucket (Cloud Storage) o Disk (Compute Engine).
  • Ubicación: Es la región Google Cloud asociada al recurso.
  • Fecha de creación: Es la fecha y hora en la que se creó el recurso.
  • Etiquetas: Es un conjunto de pares clave-valor asociados al recurso.

Enumera las versiones de clave que protegen un recurso

Si un recurso está protegido por varias versiones de clave, es posible que no puedas ver la lista completa de versiones de clave en la pestaña Seguimiento del uso.

Para enumerar las versiones de claves que protegen un recurso, usa gcloud CLI para ejecutar el siguiente comando:

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

Reemplaza lo siguiente:

  • KEY_NAME: Es el nombre de la clave para la que deseas enumerar las versiones.
  • ORGANIZATION_ID: Es el ID numérico de tu organización.
  • RESOURCE_NAME: Es el nombre del recurso para el que deseas enumerar las versiones de la clave.

Limitaciones

Cuando uses el seguimiento de uso de claves, ten en cuenta lo siguiente:

  • El seguimiento del uso de claves solo está disponible para el uso de claves CMEK. Si usas una versión de clave en tus aplicaciones dentro o fuera de Google Cloud, ese uso no se incluye en la pestaña Seguimiento del uso.
  • No se hace un seguimiento de algunos recursos de CMEK. En el caso de los tipos de recursos que no se enumeran en Tipos de recursos supervisados, es posible que la información sobre el uso de claves no se incluya en los detalles de uso de claves. Por ejemplo, el uso de claves por parte de Datastream para encriptar recursos de ConnectionProfile (datastream.googleapis.com/ConnectionProfile) no se muestra en la pestaña Seguimiento del uso.
  • Es posible que los datos se demoren. Por ejemplo, si creas un recurso protegido nuevo, el recurso protegido y la versión de clave asociada no se agregan de inmediato a la pestaña Seguimiento del uso.
  • Los datos de uso de las claves de Cloud Storage están sujetos a las siguientes limitaciones adicionales:
    • Los datos de uso de claves se agregan desde los objetos a los buckets. No se muestran los nombres de los objetos. Se mostrará que un bucket usa una clave si tiene al menos un objeto que la usa.
    • Es posible que el seguimiento del uso de claves no esté completo para los buckets que contienen objetos protegidos con más de 4,000 versiones de claves únicas.
  • Los detalles del seguimiento del uso de claves solo tienen fines informativos. Realiza tu propia diligencia debida con otras fuentes antes de realizar cambios que puedan provocar interrupciones o pérdida de datos. No inhabilite ni destruya versiones de claves solo en función de la información de seguimiento del uso de claves.

Tipos de recursos supervisados

Se admiten los siguientes tipos de recursos:

    Servicio Recurso
    Aplicaciones de IA discoveryengine.googleapis.com/DataStore
    AlloyDB para PostgreSQL alloydb.googleapis.com/Backup
    AlloyDB para PostgreSQL alloydb.googleapis.com/Cluster
    Concentrador de API de 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 de Cloud Healthcare healthcare.googleapis.com/Dataset
    Cloud Logging logging.googleapis.com/LogBucket
    Cloud Run run.googleapis.com/Revision
    Funciones de Cloud Run cloudfunctions.googleapis.com/CloudFunction
    Funciones de Cloud Run 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
    Instancias de Vertex AI Workbench notebooks.googleapis.com/Instance
    Workflows workflows.googleapis.com/Workflow