En este tema, se muestra cómo ver los Google Cloud recursos de tu organización que están protegidos por tus claves de Cloud KMS.
Puedes ver información sobre los recursos que protegen tus claves en dos niveles:
- La información del Resumen de uso de claves de cada clave incluye la cantidad de recursos, proyectos y Google Cloud productos únicos protegidos que usan la clave. Este nivel de detalle está disponible para cualquier persona que tenga el rol de visor de Cloud KMS en la clave.
- La información de los detalles de uso de la clave identifica qué recursos están protegidos por esta clave y dependen de ella. Este nivel de detalle es de acceso privilegiado y solo está disponible para las cuentas que tienen el rol de Visualizador de recursos protegidos de Cloud KMS en la organización.
Antes de comenzar
En este tema, se supone que usas Cloud KMS dentro de unGoogle Cloud recurso de organización.
Pídele al administrador de tu organización que 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.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.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 de 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
: El ID numérico de tu organización.USER_EMAIL
: La dirección de correo electrónico del usuario.
Habilita la API de Cloud KMS Inventory.
Cómo ver la información de uso de claves
Console
En la consola de Google Cloud, ve a la página Inventario de claves.
Opcional: Para filtrar la lista de claves, ingresa tus términos de búsqueda en el cuadro Filtro filter_list y, luego, presiona Intro. Por ejemplo, puedes filtrar por ubicación, anillo de claves, estado y otras propiedades de las claves.
Haz clic en el nombre de la clave de la que deseas ver la información de uso.
Haz clic en la pestaña Seguimiento de uso.
Opcional: Para filtrar la lista de recursos protegidos, ingresa tus términos de búsqueda en el cuadro Filtro 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
: El ID del proyecto que contiene el llavero.LOCATION
: la ubicación de Cloud KMS del llavero de claves.KEY_RING
: el nombre del llavero de claves que incluye la claveKEY_NAME
: Es el nombre de la clave para la que deseas ver el resumen de uso.
Para ver los detalles del uso de 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
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto que contiene el llavero.LOCATION
: la ubicación de Cloud KMS del llavero de claves.KEY_RING
: el nombre del llavero de claves que incluye la claveKEY_NAME
: Es el nombre de la clave para la que deseas ver los detalles de uso.ORGANIZATION_ID
: 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
: El ID del proyecto que contiene el llavero.LOCATION
: la ubicación de Cloud KMS del llavero de claves.KEY_RING
: el nombre del llavero de claves que incluye la claveKEY_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
: El ID numérico de tu organización.PROJECT_ID
: El ID del proyecto que contiene el llavero.LOCATION
: la ubicación de Cloud KMS del llavero de claves.KEY_RING
: el nombre del llavero de claves que incluye la claveKEY_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 del uso de la clave
Los detalles de uso sobre los recursos protegidos que están encriptados con la clave seleccionada incluyen lo siguiente:
- Nombre: Es el nombre del Google Cloud recurso protegido por la clave seleccionada.
- Project: 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 usa para encriptar este recurso. Algunos recursos protegidos no informan la versión de la clave criptográfica.
- Producto de Cloud: Es el Google Cloud producto asociado con este recurso.
- Tipo de recurso: Es el tipo de recurso protegido, por ejemplo, Bucket (Cloud Storage) o Disco (Compute Engine).
- Ubicación: Es la Google Cloud región asociada con el recurso.
- Fecha de creación: Es la hora en la que se creó el recurso.
- Etiquetas: Es un conjunto de pares clave-valor asociados con el recurso.
Cómo enumerar las versiones de clave que protegen un recurso
Si un recurso está protegido por varias versiones de claves, es posible que no puedas ver la lista completa de versiones de claves en la pestaña Seguimiento de uso.
Para enumerar las versiones de claves 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)"
Reemplaza lo siguiente:
KEY_NAME
: Es el nombre de la clave para la que deseas enumerar las versiones.ORGANIZATION_ID
: El ID numérico de tu organización.RESOURCE_NAME
: Es el nombre del recurso para el que deseas enumerar las versiones de clave.
Limitaciones
Cuando uses el seguimiento de uso de claves, ten en cuenta lo siguiente:
- El seguimiento de 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 de uso.
- No se realiza un seguimiento de algunos recursos de CMEK. En el caso de los tipos de recursos que no se indican en Tipos de recursos a los que se les hace un seguimiento, es posible que la información sobre el uso de claves no se incluya en los detalles del uso de claves. Por ejemplo, el uso de claves por parte de Datastream para encriptar recursos
ConnectionProfile
(datastream.googleapis.com/ConnectionProfile
) no se muestra en la pestaña Seguimiento de 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 de 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 los objetos a los buckets. No se muestran los nombres de los objetos. Un bucket se mostrará como que usa una clave si tiene al menos un objeto que usa esa clave.
- 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 de uso de claves son solo con fines informativos. Realiza tu propia diligencia debida con otras fuentes antes de realizar cambios que podrían provocar interrupciones o pérdida de datos. No inhabilites ni destruyas versiones de claves solo según la información de seguimiento del uso de claves.
Tipos de recursos a los que se les hace un seguimiento
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 |