En el otoño de 2024, Google Cloud lanzó Cloud Key Management Service (KMS) con Autokey en General Availability, con un enfoque más ágil para gestionar llaves de cifrado en distintos servicios de Google Cloud. KMS Autokey busca simplificar la creación y administración de Customer-Managed Encryption Keys (CMEKs) automatizando el aprovisionamiento, la asignación y la rotación de llaves. Así, la seguridad se vuelve más fácil de gestionar y tu infraestructura queda alineada con las mejores prácticas de la industria en protección de datos.
En este artículo veremos qué es Cloud KMS con Autokey, cómo funciona, cómo habilitarlo y usarlo, e incluso cómo deshabilitarlo.
¿Qué es Cloud KMS con Autokey?
Cloud KMS con Autokey automatiza la creación de llaves de cifrado cuando se despliegan recursos en servicios compatibles como Cloud Storage, Compute Engine, BigQuery, Secret Manager, Cloud SQL y Spanner.
Antes había que aprovisionar previamente las llaves, los key rings y las cuentas de servicio antes de poder usarlos. Ahora, con KMS Autokey, todo eso se resuelve sobre la marcha. Cuando se crea un nuevo recurso, KMS Autokey genera las llaves bajo demanda y garantiza un cifrado fluido para tus workloads sin intervención manual.
¿Por qué usar Cloud KMS con Autokey?
Cloud KMS con Autokey no solo simplifica la gestión de llaves: también garantiza que tus prácticas de seguridad cumplan con los estándares de la industria y las prácticas recomendadas. Esto incluye:
- Protección con Hardware Security Module (HSM) para tus llaves.
- Separación de funciones mediante controles de acceso basados en roles.
- Rotación automática de llaves para mantener tus datos seguros.
- Control de la ubicación de las llaves para cumplir con los requisitos regulatorios.
- Especificidad de llaves para una gestión de acceso granular.
Las llaves generadas con Cloud KMS y Autokey funcionan exactamente igual que cualquier otra llave de Cloud HSM, pero el proceso es automático y escalable, lo que lo vuelve ideal para entornos dinámicos donde se despliegan recursos nuevos con frecuencia.
No tiene costo adicional usar Cloud KMS con Autokey. Las llaves creadas con Autokey tienen el mismo precio que cualquier otra llave de Cloud HSM.
Cómo habilitar KMS Autokey
Para habilitar Cloud KMS con Autokey hay que configurarlo a nivel de carpeta dentro de tu Google Cloud Organization. Es decir, vas a necesitar crear una carpeta nueva (o usar una existente) y luego crear un proyecto dentro de esa carpeta para almacenar tus llaves. Después creas proyectos nuevos dentro de la carpeta, o mueves proyectos existentes hacia ella, para aprovechar la creación automática con Autokey. En el ejemplo de abajo, creamos una carpeta nueva y dos proyectos dentro de ella. Prefiero crear una carpeta nueva en lugar de reutilizar una existente, porque así puedes usarla como límite de seguridad y aplicar el principio de mínimo privilegio en los accesos.

ejemplo de estructura de carpetas
Paso 1: crear una carpeta y dos proyectos dentro de ella
- Nombre de la carpeta: kms-autokey (carpeta con Cloud KMS Autokey habilitado)
- Nombre del proyecto: kms-keys (proyecto que almacena las llaves)
- Nombre del proyecto: kms-enabled-proj (proyecto que tiene llaves asignadas a recursos)
Paso 2: asignar los roles de IAM requeridos
Para que Cloud KMS con Autokey funcione correctamente, se te deben asignar ciertos roles a nivel de organización y de carpeta:
Nivel de carpeta (carpeta kms-autokey)
- Cloud KMS Autokey Admin (roles/cloudkms.autokeyAdmin)
- Folder IAM Admin (roles/resourcemanager.folderIamAdmin)
Nivel de organización
- Billing Account User (roles/billing.user)
Una vez que tengas estos roles, podrás habilitar Cloud KMS con Autokey en la carpeta.
Paso 3: habilitar Cloud KMS con Autokey en la carpeta
- En tu consola de GCP, selecciona la carpeta kms-autokey.
- Ve a Key Management.

selecciona la carpeta y entra a Key Management
3. En el selector de contexto, elige el proyecto que va a contener tus llaves. En nuestro ejemplo, es kms-keys.

asocia a la carpeta el proyecto que gestionará las llaves
Paso 4: crear la cuenta de servicio
En el proyecto de llaves de KMS (kms-keys) tendrás que crear una cuenta de service agent para que el servicio de KMS pueda interactuar con tus recursos. En cloud shell:
gcloud beta services identity create --service=cloudkms.googleapis.com --project=PROJECT_NUMBER
reemplaza PROJECT_NUMBER por el número del proyecto de llaves de KMS; en nuestro ejemplo, es el del proyecto kms-keys
ejemplo de salida
gcloud beta services identity create --service=cloudkms.googleapis.com --project=937192488103
Service identity created: [email protected]
Luego, otorga permisos de Cloud KMS Admin al service agent:
gcloud projects add-iam-policy-binding PROJECT_NUMBER --role=roles/cloudkms.admin --member=serviceAccount:[email protected]
De nuevo, reemplaza PROJECT_NUMBER por el número del proyecto de llaves de KMS; en nuestro ejemplo, es el del proyecto kms-keys
ejemplo de salida
gcloud projects add-iam-policy-binding 937192488103 --role=roles/cloudkms.admin --member=serviceAccount:[email protected]
Updated IAM policy for project [937192488103].
bindings:
- members:
- serviceAccount:[email protected]
role: roles/cloudkms.admin
- members:
- user:<omitted>@doit.com
role: roles/owner
etag: BwYsUy7dhpo=
version: 1
Paso 5: otorgar el rol KMS Autokey User
Para que los desarrolladores puedan usar KMS Autokey, debes asignarles el rol roles/cloudkms.autokeyUser. Esto se puede hacer a nivel de carpeta o a nivel de proyecto. Así lo asignas a nivel de carpeta:
gcloud resource-manager folders add-iam-policy-binding FOLDER_ID --role=roles/cloudkms.autokeyUser --member=user:USER_EMAIL
Reemplaza FOLDER_ID por la carpeta donde estás habilitando Autokey; en nuestro ejemplo, sería el id de la carpeta kms-autokey. Reemplaza USER_EMAIL por el correo de la persona o grupo a quien quieras dar permisos para usar KMS Autokey, por ejemplo un usuario o un grupo de desarrolladores.
ejemplo de salida
gcloud resource-manager folders add-iam-policy-binding 279174226974 --role=roles/cloudkms.autokeyUser --member=user:<developers email address>
Updated IAM policy for folder [279174226974].
bindings:
- members:
- user:<omitted>@doit.com
role: roles/cloudkms.autokeyAdmin
- members:
- user:<omitted>@doit.com
role: roles/cloudkms.autokeyUser
- members:
- user:<omitted>@doit.com
role: roles/resourcemanager.folderAdmin
- members:
- user:<omitted>@doit.com
role: roles/resourcemanager.folderEditor
etag: BwYsU4vSoEA=
version: 1
Una vez asignado este rol, los desarrolladores podrán crear llaves bajo demanda al momento de crear recursos.
Paso 6: crear recursos con Cloud KMS Autokey
Para probar la configuración, crea una nueva instancia de compute en el proyecto que acabas de habilitar. En nuestro ejemplo sería el proyecto kms-enabled-proj. En Avanzado, selecciona Cifrado de datos = Cloud KMS key y Tipo de llave = Cloud KMS with Autokey, y luego haz clic en "Solicitar una llave".

creación de la instancia de GCE mostrando la pestaña Avanzado y la opción para solicitar la llave
Una vez creada la instancia, verás los detalles de la llave en la sección Management de los Metadatos de la instancia de compute.

detalles de la llave
Vuelve a tu proyecto de llaves de KMS (kms-keys), entra a Key Management y verás la nueva llave creada para la instancia junto con su próxima fecha de rotación.

key ring creado en la misma región que la instancia de GCE

la llave aparece con su próxima fecha de rotación
En nuestro ejemplo, el keyring se crea en us-central1 porque es ahí donde está nuestra instancia de compute. Los key rings se crean automáticamente en la región donde residen tus recursos.
Cómo deshabilitar Cloud KMS con Autokey
Si en algún momento necesitas deshabilitar Cloud KMS con Autokey, puedes hacerlo a nivel de carpeta. Al deshabilitarlo, se elimina la configuración que vincula la carpeta con el proyecto de llaves, lo que evita la creación automática de llaves para nuevos recursos. Las llaves existentes creadas con Cloud KMS y Autokey no se ven afectadas.

Deshabilítalo para detener la creación de llaves. Las llaves existentes no se ven afectadas.
Paso opcional 1: revocar KMS Autokey Admin de la carpeta
Para revocar el rol Autokey Admin:
gcloud resource-manager folders remove-iam-policy-binding FOLDER_ID --role=roles/cloudkms.autokeyAdmin --member=user:USER_EMAIL
Esta acción revoca el rol autokeyAdmin, lo que impide al usuario volver a habilitar o gestionar KMS Autokey. Cabe destacar que las llaves existentes seguirán funcionando, y los recursos cifrados previamente con esas llaves se mantendrán seguros.
Paso opcional 2: revocar los roles de Autokey User
También puedes revocar los roles de Autokey user a nivel de carpeta o de proyecto. Así eliminas el rol roles/cloudkms.autokeyUser:
gcloud resource-manager folders remove-iam-policy-binding FOLDER_ID - role=roles/cloudkms.autokeyUser - member=user:USER_EMAIL
Si ya no vas a necesitar el service agent, también puedes revocar el rol de Cloud KMS Admin de esa cuenta:
gcloud projects remove-iam-policy-binding KEY_PROJECT_NUMBER - role=roles/cloudkms.admin - member=serviceAccount:service-KEY_PROJECT_NUMBER@gcp-sa-cloudkms.iam.gserviceaccount.com
**¿Tienes preguntas?**
En DoiT International, nuestro equipo está integrado exclusivamente por talento senior de Engineering. Nos especializamos en consultoría avanzada en la nube, diseño arquitectónico y servicios de debugging. Ya sea que estés dando los primeros pasos con sistemas distribuidos, optimizando un sistema existente o resolviendo problemas complejos, te damos asesoría experta hecha a la medida de tus necesidades.
Contáctanos hoy y deja que te ayudemos a aprovechar todo el potencial de tu infraestructura en la nube.
Cloud KMS con Autokey es una herramienta potente que facilita la gestión de llaves de cifrado en Google Cloud. Al automatizar la creación y la rotación de llaves, Autokey te ayuda a aplicar las mejores prácticas de seguridad, reducir el riesgo de error humano y escalar el cifrado de forma fluida en toda tu infraestructura.
Ahora que KMS Autokey está en General Availability, es un buen momento para empezar a usarlo en tu organización. Ya sea que estés desplegando recursos nuevos o asegurándote de que tus workloads existentes estén protegidos, Cloud KMS con Autokey hace que la gestión de llaves sea más simple y más segura.
Para guías y referencias detalladas, consulta la documentación oficial de KMS Autokey.