En esta página se explica cómo ver los Google Cloud recursos 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 de cada clave incluye el número de recursos protegidos, proyectos y productos únicos Google Cloud que usan la clave. Cualquier usuario que tenga el rol de lector de Cloud KMS en la clave puede acceder a este nivel de detalle.
- La información de Detalles de uso de la clave identifica los recursos que están protegidos por esta clave y dependen de ella. Este nivel de detalle es privado y solo está disponible para las cuentas que tengan el rol Lector de recursos protegidos de Cloud KMS en la organización.
Antes de empezar
En esta página se presupone que usas Cloud KMS en unGoogle Cloud recurso de organización.
Pide al administrador de tu organización que conceda a tu cuenta de servicio de Cloud KMS el rol Agente de servicio de organización de Cloud KMS (
roles/cloudkms.orgServiceAgent
) en tu recurso de organización. Este rol no está disponible en la consola, por lo que debes usar la CLI de gcloud para asignarlo: Google CloudCLI de 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
Sustituye
ORGANIZATION_ID
por el ID numérico de tu organización.Asigna el rol Lector de Cloud KMS (
roles/cloudkms.viewer
) a cualquier persona que necesite ver resúmenes de uso de claves. Para obtener información sobre cómo conceder roles, consulta el artículo sobre cómo gestionar el acceso.Asigna el rol Lector de recursos protegidos de Cloud KMS (
roles/cloudkms.protectedResourcesViewer
) en tu recurso de organización a cualquier persona que necesite ver los detalles de uso de las claves. Este rol no está disponible en la consola de Google Cloud, por lo que debes usar la CLI de gcloud para asignarlo: Google CloudCLI de gcloud
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member=user:USER_EMAIL \ --role=roles/cloudkms.protectedResourcesViewer
Haz los cambios siguientes:
ORGANIZATION_ID
: el ID numérico de tu organización.USER_EMAIL
: la dirección de correo del usuario.
Habilita la API Cloud KMS Inventory.
Ver información sobre el uso de claves
Consola
En la Google Cloud consola, ve a la página Inventario de claves.
Opcional: Para filtrar la lista de claves, introduce los términos de búsqueda en el cuadro filter_list Filtrar y, a continuación, pulsa Intro. Por ejemplo, puedes filtrar por ubicación, llavero, estado u otras propiedades de las claves.
Haga clic en el nombre de la clave de la que quiera ver información de uso.
Haga clic en la pestaña Seguimiento del uso.
Opcional: Para filtrar la lista de recursos protegidos, introduce los términos de búsqueda en el cuadro filter_list Filtrar y, a continuación, pulsa Intro.
Se muestra un resumen y los detalles del uso de la clave seleccionada.
CLI de gcloud
Para usar Cloud KMS en la línea de comandos, primero instala o actualiza a la versión más reciente de la CLI de Google Cloud.
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 \
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto que contiene el conjunto de claves.LOCATION
: la ubicación de Cloud KMS del conjunto de claves.KEY_RING
: el nombre del conjunto de claves que contiene la clave.KEY_NAME
: el nombre de la clave de la que quieras ver el resumen de uso.
Para ver los detalles del uso de las claves, 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
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto que contiene el conjunto de claves.LOCATION
: la ubicación de Cloud KMS del conjunto de claves.KEY_RING
: el nombre del conjunto de claves que contiene la clave.KEY_NAME
: el nombre de la clave de la que quieres ver los detalles de uso.ORGANIZATION_ID
: el ID numérico de tu organización.
API
En estos ejemplos se usa curl como cliente HTTP para mostrar cómo se usa la API. Para obtener más información sobre el control de acceso, consulta el artículo sobre cómo acceder a la API 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"
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto que contiene el conjunto de claves.LOCATION
: la ubicación de Cloud KMS del conjunto de claves.KEY_RING
: el nombre del conjunto de claves que contiene la clave.KEY_NAME
: el nombre de la clave de la que quieras ver el resumen de uso.CALLING_PROJECT_ID
: el ID del proyecto desde el que llamas a la API KMS Inventory.
Para ver los detalles del uso de las 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"
Haz los cambios siguientes:
ORGANIZATION_ID
: el ID numérico de tu organización.PROJECT_ID
: el ID del proyecto que contiene el conjunto de claves.LOCATION
: la ubicación de Cloud KMS del conjunto de claves.KEY_RING
: el nombre del conjunto de claves que contiene la clave.KEY_NAME
: el nombre de la clave de la que quieres ver los detalles de uso.CALLING_PROJECT_ID
: el ID del proyecto desde el que llamas a la API KMS Inventory.
Detalles de uso de las claves
Los detalles de uso de los recursos protegidos que están cifrados con la clave seleccionada incluyen lo siguiente:
- Nombre: el nombre del Google Cloud recurso protegido por la clave seleccionada.
- Proyecto: nombre del proyecto que contiene el recurso protegido.
- Versión de la clave criptográfica: la versión de la clave que se usa para cifrar este recurso. Algunos recursos protegidos no informan de la versión de la clave criptográfica.
- Producto de Cloud: el producto Google Cloud asociado a este recurso.
- Tipo de recurso: el tipo de recurso protegido, como Segmento (Cloud Storage) o Disco (Compute Engine).
- Ubicación: la Google Cloud región asociada al recurso.
- Fecha de creación: hora a la que se creó el recurso.
- Etiquetas: un conjunto de pares clave-valor asociados al recurso.
Mostrar las versiones de clave que protegen un recurso
Si un recurso está protegido por varias versiones de la clave, es posible que no puedas ver la lista completa de versiones de la clave en la pestaña Seguimiento del uso.
Para enumerar las versiones de clave que protegen un recurso, usa la CLI de gcloud 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)"
Haz los cambios siguientes:
KEY_NAME
: el nombre de la clave de la que quieres obtener una lista de versiones.ORGANIZATION_ID
: el ID numérico de tu organización.RESOURCE_NAME
: el nombre del recurso del que quieres obtener la lista de versiones de claves.
Limitaciones
Cuando uses el seguimiento del uso de claves, ten en cuenta lo siguiente:
- El seguimiento del uso de claves solo está disponible para las 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 incluyan en Tipos de recursos monitorizados, es posible que la información clave de uso no se incluya en los detalles de uso de la clave. Por ejemplo, el uso de claves por parte de Datastream para cifrar recursos
ConnectionProfile
(datastream.googleapis.com/ConnectionProfile
) no se muestra en la pestaña Seguimiento del uso. - Los datos pueden retrasarse. Por ejemplo, si creas un recurso protegido, este y la versión de clave asociada no se añadirán inmediatamente a la pestaña Seguimiento del uso.
- Los datos de uso de claves de Cloud Storage están sujetos a las siguientes limitaciones adicionales:
- Los datos de uso de claves se agregan de objetos a segmentos. No se muestran los nombres de los objetos. Se mostrará que un segmento usa una clave si tiene al menos un objeto que la usa.
- Es posible que el seguimiento del uso de claves no se complete en los contenedores que incluyan objetos protegidos con más de 4000 versiones de clave únicas.
- Los detalles de seguimiento del uso de las claves son solo informativos. Realiza las comprobaciones necesarias con otras fuentes antes de hacer cambios que puedan provocar interrupciones o pérdida de datos. No inhabilite ni destruya versiones de claves basándose únicamente en la información de seguimiento del uso de claves.
Tipos de recursos monitorizados
Se admiten los siguientes tipos de recursos:
Servicio | Recurso |
---|---|
Aplicaciones de IA | discoveryengine.googleapis.com/DataStore |
AlloyDB for PostgreSQL | alloydb.googleapis.com/Backup |
AlloyDB for PostgreSQL | alloydb.googleapis.com/Cluster |
Hub de APIs 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 |
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 (servicio principal de Google Cloud) | looker.googleapis.com/Instance |
Memorystore para 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 |
Flujos de trabajo | workflows.googleapis.com/Workflow |