Descripción general de Autokey

Autokey de Cloud KMS simplifica la creación y el uso de claves de encriptación administradas por el cliente (CMEK) automatizando el aprovisionamiento y la asignación. Con Autokey, los llaveros de claves y las claves se generan a pedido. Las cuentas de servicio que usan las claves para encriptar y desencriptar recursos se crean y se les otorgan roles de Identity and Access Management (IAM) cuando es necesario. Los administradores de Cloud KMS conservan el control y la visibilidad completos de las claves creadas por Autokey, sin necesidad de planificar y crear cada recurso por adelantado. Usar Autokey es más sencillo que aprovisionar claves por tu cuenta, y es la opción recomendada si las claves que crea Autokey cumplen con todos tus requisitos.

El uso de claves generadas por Autokey puede ayudarte a alinearte de manera coherente con los estándares de la industria y las prácticas recomendadas para la seguridad de los datos, incluido el nivel de protección de Cloud HSM de múltiples usuarios, la separación de obligaciones, la rotación de claves, la ubicación y la especificidad de las claves. Autokey crea claves que siguen los lineamientos generales y los lineamientos específicos del tipo de recurso para losCloud de Confiance servicios que se integran con Autokey de Cloud KMS. Después de crearse, las claves solicitadas con Autokey funcionan de manera idéntica a otras claves de Cloud HSM con la misma configuración.

Autokey también puede simplificar el uso de Terraform para la administración de claves, ya que elimina la necesidad de ejecutar infraestructura como código con privilegios elevados de creación de claves.

Puedes usar Autokey con el almacenamiento de claves en un proyecto dedicado (antes conocido como administración de claves centralizada) o con el almacenamiento de claves en el mismo proyecto (antes conocido como administración de claves delegada). Para usar Autokey con el almacenamiento de claves de proyectos dedicados, debes tener un recurso de organización que contenga un recurso de carpeta. Cuando usas el almacenamiento de claves de proyectos dedicados, habilitas Autokey para los proyectos dentro de una carpeta, y las claves creadas por Autokey se crean en el proyecto de claves designado para esa carpeta. Cuando usas el almacenamiento de claves en el mismo proyecto, habilitas Autokey en una carpeta o un proyecto para permitir que Autokey cree claves en el mismo proyecto que los recursos que protegen.

Para obtener más información sobre los recursos de organización y carpeta, consulta Jerarquía de recursos.

La función Autokey de Cloud KMS está disponible en todas las Cloud de Confiance ubicaciones en las que Cloud HSM está disponible. Para obtener más información sobre las ubicaciones de Cloud KMS, consulta Ubicaciones de Cloud KMS. No hay costos adicionales por usar Autokey de Cloud KMS. Las claves creadas con Autokey tienen el mismo precio que cualquier otra clave de Cloud HSM. Para obtener más información sobre los precios, consulta los precios de Cloud Key Management Service.

Cómo funciona Autokey

En esta sección, se explica cómo funciona Autokey de Cloud KMS. En este proceso, participan los siguientes roles de usuario:

Administrador
El administrador es un usuario responsable de administrar la seguridad a nivel de la carpeta o la organización.nk
Desarrollador de Autokey
El desarrollador de Autokey es un usuario responsable de crear recursos con Autokey de Cloud KMS.
Administrador de Cloud KMS
El administrador de Cloud KMS es un usuario responsable de administrar los recursos de Cloud KMS. Este rol tiene menos responsabilidades cuando se usa Autokey que cuando se usan claves creadas de forma manual.

Los siguientes agentes de servicio también participan en este proceso:

Agente de servicio de Cloud KMS
Es el agente de servicio de Cloud KMS en un proyecto de claves determinado. Autokey depende de que este agente de servicio tenga privilegios elevados para crear claves y llaveros de claves de Cloud KMS, y para establecer la política de IAM en las claves, lo que otorga permisos de encriptación y desencriptación para cada agente de servicio de recursos.
Agente de servicio de recursos
Es el agente de servicio de un servicio determinado en un proyecto de recursos determinado. Este agente de servicio debe tener permisos de encriptación y desencriptación en cualquier clave de Cloud KMS antes de poder usarla para la protección de CMEK en un recurso. Autokey crea el agente de servicio de recursos cuando es necesario y le otorga los permisos necesarios para usar la clave de Cloud KMS.

El administrador habilita Autokey de Cloud KMS

Para habilitar Autokey, elige una de las siguientes rutas según el modelo de almacenamiento de claves que elijas:

  1. Almacenamiento de claves en un proyecto dedicado: Habilita el almacenamiento de claves en un proyecto dedicado en una carpeta. Designa un proyecto de claves exclusivo para contener las claves que protegen los recursos creados en otros proyectos dentro de la carpeta.
  2. Almacenamiento de claves en el mismo proyecto: Habilita el almacenamiento de claves en el mismo proyecto en proyectos individuales o para todos los proyectos dentro de una carpeta para crear claves en el mismo proyecto que los recursos que protegen.

Habilitar el almacenamiento de claves en un proyecto dedicado

Antes de usar Autokey con el almacenamiento de claves de proyectos dedicados en una carpeta, un administrador debe completar las siguientes tareas de configuración únicas:

  1. Habilita Autokey con almacenamiento de claves de proyecto dedicado en la carpeta y, luego, identifica el proyecto de Cloud KMS que contendrá los recursos de Autokey para esa carpeta.

  2. Crea el agente de servicio de Cloud KMS y, luego, otórgale privilegios de creación y asignación de claves.

Una vez que se complete esta configuración, los desarrolladores que puedan crear recursos compatibles con Autokey en cualquier proyecto de esa carpeta podrán activar la creación de claves de HSM de Cloud de múltiples inquilinos a pedido. Para ver las instrucciones de configuración completas de Autokey de Cloud KMS, consulta Habilita Autokey de Cloud KMS.

Habilita Autokey con el almacenamiento de claves en el mismo proyecto

Antes de que puedas usar Autokey con el almacenamiento de claves en el mismo proyecto, un administrador debe completar las siguientes tareas de configuración únicas:

  1. Habilita Autokey con almacenamiento de claves en el mismo proyecto en un proyecto o una carpeta.
  2. Habilita la API de Cloud KMS en ese proyecto o en los proyectos de la carpeta.

Cuando habilitas Autokey con el almacenamiento de claves en el mismo proyecto, se crea el agente de servicio de Cloud KMS cuando es necesario. No tienes que crear el agente de servicio de forma manual. Cualquier usuario con permisos para crear un recurso compatible con Autokey puede solicitar una clave nueva a pedido. Para ver las instrucciones de configuración completas de Autokey de Cloud KMS, consulta Habilita Autokey de Cloud KMS.

Los desarrolladores de Autokey usan Autokey de Cloud KMS

Después de que se habilita Autokey correctamente para un proyecto, los desarrolladores de Autokey pueden crear recursos protegidos con las claves que se crearon para ellos a pedido. Esto se aplica tanto a los proyectos en una carpeta en la que se habilitó Autokey con almacenamiento de claves en un proyecto dedicado como a los proyectos en los que se habilitó Autokey con almacenamiento de claves en el mismo proyecto. Los detalles del proceso de creación de recursos dependen del recurso que crees, pero el proceso sigue este flujo:

  1. El desarrollador de Autokey comienza a crear un recurso en un servicio deCloud de Confiance compatible. Durante la creación de recursos, el desarrollador solicita una clave nueva al agente de servicio de Autokey.

  2. El agente de servicio de Autokey recibe la solicitud del desarrollador y completa los siguientes pasos:

    1. Crea un llavero de claves en el proyecto en la ubicación seleccionada, a menos que ya exista ese llavero de claves.
    2. Crea una clave en el llavero de claves con la granularidad adecuada para el tipo de recurso, a menos que ya exista una clave de ese tipo.
    3. Crea la cuenta de servicio por proyecto y por servicio, a menos que ya exista.
    4. Otorga permisos de encriptación y desencriptación a la cuenta de servicio por proyecto y por servicio en la clave.
    5. Proporciona los detalles clave al desarrollador para que pueda terminar de crear el recurso.
  3. Con los detalles de la clave que devolvió correctamente el agente del servicio de Autokey, el desarrollador puede terminar de inmediato la creación del recurso protegido.

Autokey de Cloud KMS crea claves que tienen los atributos que se describen en la siguiente sección. Este flujo de creación de claves preserva la separación de obligaciones. El administrador de Cloud KMS sigue teniendo visibilidad y control totales sobre las claves creadas por Autokey.

Para comenzar a usar Autokey después de habilitarla, consulta Crea recursos protegidos con la clave automática de Cloud KMS.

Acerca de las claves creadas por Autokey

Las claves creadas por Autokey de Cloud KMS tienen los siguientes atributos:

  • Nivel de protección: HSM
  • Algoritmo: AES-256 GCM
  • Período de rotación: Un año

    Después de que Autokey crea una clave, un administrador de Cloud KMS puede editar el período de rotación predeterminado.

  • Separación de obligaciones:
    • A la cuenta de servicio del servicio se le otorgan automáticamente permisos de encriptación y desencriptación en la clave.
    • Los permisos de administrador de Cloud KMS se aplican como de costumbre a las claves creadas por Autokey. Los administradores de Cloud KMS pueden ver, actualizar, habilitar o inhabilitar, y destruir las claves creadas por Autokey. A los administradores de Cloud KMS no se les otorgan permisos de encriptación y desencriptación.
    • Los desarrolladores de Autokey solo pueden solicitar la creación y la asignación de claves. No pueden ver ni administrar claves.
  • Especificidad o nivel de detalle de las claves: El nivel de detalle de las claves que crea Autokey varía según el tipo de recurso. Para obtener información específica del servicio en relación con el nivel de detalle de las claves, consulta Servicios compatibles en esta página.
  • Ubicación: Autokey crea claves en la misma ubicación que el recurso que se protegerá.

    Si necesitas crear recursos protegidos por CMEK en ubicaciones donde Cloud HSM no está disponible, debes crear tu CMEK de forma manual.

  • Estado de versión de las claves: Las claves nuevas solicitadas con Autokey se crean como la versión de clave primaria en el estado habilitado.
  • Nombres de los llaveros de claves: Todas las claves creadas por Autokey se crean en un llavero de claves llamado autokey. Los llaveros de claves en tu proyecto de Autokey se crean cuando un desarrollador de Autokey solicita la primera clave en una ubicación determinada. El llavero de claves autokey se crea en el proyecto de clave designado si usas el almacenamiento de claves en un proyecto dedicado o en el proyecto de recursos si usas el almacenamiento de claves en el mismo proyecto.
  • Nombres de las claves: Las claves creadas por Autokey siguen esta convención de nombres: PROJECT_NUMBER-SERVICE_SHORT_NAME-RANDOM_HEX
  • Exportación de claves: Al igual que todas las claves de Cloud KMS, las claves creadas por Autokey no se pueden exportar.
  • Seguimiento de claves: Al igual que todas las claves de Cloud KMS que se usan en los servicios integrados en CMEK que son compatibles con el seguimiento de claves, se puede ver un seguimiento de las claves creadas por Autokey en el panel de Cloud KMS.

Cómo controlar el uso de Autokey

Puedes controlar cómo se usa Autokey en tu organización con los siguientes controles:

  • Configuración de Autokey: Habilita Autokey en las carpetas o los proyectos en los que quieras usarlo. Los recursos secundarios heredan la configuración de Autokey, pero se pueden anular con la configuración establecida en un nivel inferior. Por ejemplo, la configuración de Autokey establecida en un proyecto tiene prioridad sobre la configuración de la carpeta principal. Esto te brinda un control ascendente de Autokey. Para obtener más información sobre cómo habilitar o inhabilitar Autokey de Cloud KMS, consulta Habilita Autokey de Cloud KMS.
  • IAM: Controlas quién puede crear y actualizar las configuraciones de Autokey, y quién puede crear recursos protegidos con Autokey a través de políticas de denegación y concesiones de roles de IAM. Estos controles de IAM se pueden establecer a nivel de la organización, la carpeta o el proyecto. Los roles de IAM otorgan a las principales la capacidad de realizar acciones permitidas por su rol. Las políticas de denegación de IAM bloquean permisos individuales, incluso si se incluyen en un rol otorgado a la principal. Las políticas de denegación de IAM establecidas en un recurso principal no se pueden anular con políticas más permisivas establecidas en un nivel inferior. Esto te brinda un control descendente sobre quién puede habilitar y usar Autokey. Si quieres obtener más información para usar las políticas de denegación de IAM y controlar el uso de Autokey en tu organización, consulta Usa políticas de denegación de IAM para controlar Autokey.
  • Política de la organización: Puedes controlar dónde y cómo se puede configurar Autokey con restricciones personalizadas de la política de la organización. Puedes aplicar restricciones de políticas de la organización a nivel de la organización, la carpeta o el proyecto. Las políticas de la organización se heredan en los recursos secundarios, pero se pueden anular con políticas aplicadas en un nivel inferior. Para obtener más información sobre el uso de restricciones personalizadas de políticas de la organización para controlar el uso de Autokey en tu organización, consulta Usa restricciones personalizadas de políticas de la organización para controlar Autokey .

Servicios compatibles

En la siguiente tabla, se enumeran los servicios que son compatibles con la función Autokey de Cloud KMS:

Servicio Recursos protegidos Nivel de detalle de las claves
AlloyDB para PostgreSQL
  • alloydb.googleapis.com/Cluster
  • alloydb.googleapis.com/Backup

La integración entre AlloyDB para PostgreSQL y Autokey de Cloud KMS solo está disponible para los recursos que se crean con Terraform o la API de REST.

Una clave por recurso
Apigee
  • apigee.googleapis.com/Organization
  • apigee.googleapis.com/Instance

La integración entre Apigee y Autokey de Cloud KMS solo está disponible para los recursos que se crean con Terraform o la API de REST.

Una clave por recurso
Centro de APIs de Apigee
  • apihub.googleapis.com/ApiHubInstance

La integración entre el centro de APIs de Apigee y Autokey de Cloud KMS solo está disponible para los recursos que se crean con Terraform o la API de REST.

Una clave por recurso
Artifact Registry
  • artifactregistry.googleapis.com/Repository

Autokey crea claves durante la creación del repositorio, que se usan para todos los artefactos almacenados.

Una clave por recurso
Servicio Backup and DR
  • backupdr.googleapis.com/BackupVault

La integración entre el servicio Backup and DR y Autokey de Cloud KMS solo está disponible para los recursos que se crean con Terraform o la API de REST.

Una clave por recurso
BigQuery
  • bigquery.googleapis.com/Dataset

Autokey crea claves predeterminadas para los conjuntos de datos. Las tablas, los modelos, las consultas y las tablas temporales dentro de un conjunto de datos usan la clave predeterminada del conjunto de datos.

Autokey no crea claves para los recursos de BigQuery, excepto para los conjuntos de datos. Para proteger los recursos que no forman parte de un conjunto de datos, debes crear tus propias claves predeterminadas a nivel del proyecto o de la organización.

Una clave por recurso
Bigtable
  • bigtableadmin.googleapis.com/Cluster

Autokey crea claves para clústeres.

Autokey no crea claves para los recursos de Bigtable, excepto para los clústeres.

La integración entre Bigtable y Autokey de Cloud KMS solo está disponible para los recursos que se crean con Terraform o el SDK de Google Cloud.

Una llave por clúster
Cloud Run
  • run.googleapis.com/Service
  • run.googleapis.com/Job
Una clave por ubicación dentro de un proyecto
Cloud SQL
  • sqladmin.googleapis.com/Instance

Autokey no crea claves para los recursos de Cloud SQL BackupRun. Cuando creas una copia de seguridad de una instancia de Cloud SQL, la copia de seguridad se encripta con la clave administrada por el cliente de la instancia principal.

La integración entre Cloud SQL y Autokey de Cloud KMS solo está disponible para los recursos que se crean con Terraform o la API de REST.

Una clave por recurso
Cloud Storage
  • storage.googleapis.com/Bucket

Los objetos dentro de un bucket de almacenamiento usan la clave predeterminada del bucket. Autokey no crea claves para los recursos storage.object.

Una clave por bucket
Compute Engine
  • compute.googleapis.com/Disk
  • compute.googleapis.com/Image
  • compute.googleapis.com/Instance
  • compute.googleapis.com/MachineImage

Las instantáneas usan la clave del disco del que creas una instantánea. Autokey no crea claves para los recursos de compute.snapshot.

Una clave por recurso
Google Kubernetes Engine
  • container.googleapis.com/Cluster

La integración entre Google Kubernetes Engine y Autokey de Cloud KMS solo está disponible para los recursos que se crean con Terraform o la API de REST.

Una llave por clúster
Dataflow
  • dataflow.googleapis.com/Job
Una clave por recurso
Servicio administrado para Apache Airflow
  • composer.googleapis.com/Environment

La integración entre Managed Service para Apache Airflow y Autokey de Cloud KMS solo está disponible para los recursos que se crean con Terraform o la API de REST.

Una clave por recurso
Managed Service para Apache Spark
  • dataproc.googleapis.com/Cluster
  • dataproc.googleapis.com/SessionTemplate
  • dataproc.googleapis.com/WorkflowTemplate
  • dataproc.googleapis.com/Batch
  • dataproc.googleapis.com/Session

Para los recursos de Cluster, SessionTemplate y WorkflowTemplate: Una clave por recurso

Para los recursos de lote y sesión: Una clave por ubicación dentro de un proyecto

Memorystore for Redis
  • redis.googleapis.com/Instance
  • redis.googleapis.com/Cluster

La integración entre Memorystore para Redis y Autokey de Cloud KMS solo está disponible para los recursos que se crean con Terraform o la API de REST.

Una clave por recurso
Pub/Sub
  • pubsub.googleapis.com/Topic
Una clave por recurso
Secret Manager
  • secretmanager.googleapis.com/Secret

La integración entre Secret Manager y Autokey de Cloud KMS solo está disponible para los recursos que se crean con Terraform o la API de REST.

Una clave por ubicación dentro de un proyecto
Secure Source Manager
  • securesourcemanager.googleapis.com/Instance
Una clave por recurso
Spanner
  • spanner.googleapis.com/Database

La integración entre Spanner y Autokey de Cloud KMS solo está disponible para los recursos que se crean con Terraform o la API de REST.

Una clave por recurso
Filestore
  • file.googleapis.com/Instance
  • file.googleapis.com/Backup
Una clave por recurso

Limitaciones

  • Gcloud CLI no está disponible para los recursos de Autokey.
  • Los identificadores de claves no se encuentran en Cloud Asset Inventory.

¿Qué sigue?