En esta página se explica cómo rotar una clave de forma automática o manual. Para obtener más información sobre la rotación de claves en general, consulte el artículo Rotación de claves.
Roles obligatorios
Para obtener los permisos que necesitas para rotar las claves, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu clave:
-
Administrador de Cloud KMS (
roles/cloudkms.admin) -
Vuelve a encriptar los datos:
Encargado del encriptado y desencriptado de claves de CryptoKey de Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter)
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para rotar claves. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para rotar las claves, se necesitan los siguientes permisos:
-
Cambiar la versión de la clave principal:
cloudkms.cryptoKeys.update -
Cambiar o inhabilitar el giro automático:
cloudkms.cryptoKeys.update -
Crea una versión de clave:
cloudkms.cryptoKeyVersions.create -
Inhabilitar versiones de clave antiguas:
cloudkms.cryptoKeyVersions.update -
Volver a cifrar los datos:
-
cloudkms.cryptoKeyVersions.useToDecrypt -
cloudkms.cryptoKeyVersions.useToEncrypt
-
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Un solo usuario con un rol personalizado que contenga todos estos permisos puede rotar las claves y volver a cifrar los datos por su cuenta. Los usuarios con los roles Administrador de Cloud KMS y Encargado del encriptado y desencriptado de la clave criptográfica Cloud KMS pueden colaborar para rotar las claves y volver a encriptar los datos. Sigue el principio de mínimos accesos al asignar roles. Para obtener más información, consulta Permisos y roles.
Cuando rotas una clave, los datos que se encriptaron con versiones anteriores de la clave no se vuelven a encriptar automáticamente. Para obtener más información, consulta Descifrar y volver a cifrar. Al rotar una clave, no se inhabilita ni se destruye automáticamente ninguna versión de la clave. Destruir las versiones de clave que ya no se necesitan ayuda a reducir los costes.
Configurar la rotación automática
Crear una clave con una programación de rotación personalizada
Para configurar la rotación automática al crear una clave:
Consola
Cuando usas la Google Cloud consola para crear una clave, Cloud KMS define automáticamente el periodo de rotación y la próxima hora de rotación. Puedes usar los valores predeterminados o especificar otros.
Para especificar un periodo de rotación y una hora de inicio diferentes, cuando crees tu clave, pero antes de hacer clic en el botón Crear, sigue estos pasos:
En Periodo de rotación de claves, selecciona una opción.
En A partir del, selecciona la fecha en la que quieras que se produzca la primera rotación automática. Puedes dejar A partir del con su valor predeterminado para iniciar la primera rotación automática un periodo de rotación de claves después de crear la clave.
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.
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "encryption" \
--rotation-period ROTATION_PERIOD \
--next-rotation-time NEXT_ROTATION_TIME
Haz los cambios siguientes:
KEY_NAME: el nombre de la clave.KEY_RING: el nombre del conjunto de claves que contiene la clave.LOCATION: la ubicación de Cloud KMS del conjunto de claves.ROTATION_PERIOD: el intervalo para rotar la clave. Por ejemplo,30dpara rotar la clave cada 30 días. El periodo de rotación debe ser de al menos 1 día y de 100 años como máximo. Para obtener más información, consulta CryptoKey.rotationPeriod.NEXT_ROTATION_TIME: la marca de tiempo en la que se debe completar la primera rotación. Por ejemplo,2023-01-01T01:02:03. Puedes omitir--next-rotation-timepara programar la primera rotación para un periodo de rotación a partir de cuando ejecutes el comando. Para obtener más información, consultaCryptoKey.nextRotationTime.
Para obtener información sobre todas las marcas y los valores posibles, ejecuta el comando con la marca --help.
C#
Para ejecutar este código, primero debes configurar un entorno de desarrollo de C# e instalar el SDK de Cloud KMS para C#.