En esta página, se muestra cómo rotar una clave de forma manual o automática. Para obtener más información sobre la rotación de claves en general, consulta Rotación de claves.
Roles obligatorios
Para obtener los permisos que necesitas para rotar claves, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu clave:
-
Administrador de Cloud KMS (
roles/cloudkms.admin
) -
Vuelve a encriptar los datos:
Encriptador y desencriptador de CryptoKey de Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter
)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para rotar las claves. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para rotar las claves:
-
Cambiar la versión de la clave primaria:
cloudkms.cryptoKeys.update
-
Cambiar o inhabilitar la rotación automática:
cloudkms.cryptoKeys.update
-
Crear una nueva versión de clave:
cloudkms.cryptoKeyVersions.create
-
Inhabilita las versiones de clave antiguas:
cloudkms.cryptoKeyVersions.update
-
Vuelve a encriptar datos:
-
cloudkms.cryptoKeyVersions.useToDecrypt
-
cloudkms.cryptoKeyVersions.useToEncrypt
-
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Un solo usuario con un rol personalizado que contenga todos estos permisos puede rotar las claves y volver a encriptar los datos por su cuenta. Los usuarios con el rol de administrador de Cloud KMS y el rol de encriptador o desencriptador de CryptoKey de Cloud KMS pueden trabajar juntos para rotar las claves y volver a encriptar los datos. Sigue el principio de privilegio mínimo cuando asignes roles. Para obtener más detalles, consulta Roles y permisos.
Cuando rotas una clave, los datos que se encriptaron con versiones de claves anteriores no se vuelven a encriptar de forma automática. Para obtener más información, consulta desencriptar y volver a encriptar. La rotación de una clave no inhabilita ni destruye de forma automática ninguna versión de clave existente. Destruir las versiones de claves que ya no se necesitan ayuda a reducir los costos.
Cómo configurar la rotación automática
Para configurar la rotación automática cuando creas una clave nueva, haz lo siguiente:
Console
Cuando usas la consola de Google Cloud para crear una clave, Cloud KMS establece el período de rotación y la próxima rotación de forma automática. Puedes usar los valores predeterminados o especificar valores diferentes.
Para especificar un período de rotación y una fecha de inicio diferentes, haz lo siguiente durante la creación de la clave, antes de hacer clic en el botón Crear:
En Período de rotación de claves, selecciona una opción.
En A partir del, selecciona la fecha en la que deseas que se realice la primera rotación automática. Puedes dejar Starting on en su valor predeterminado para iniciar la primera rotación automática un período de rotación de claves a partir de la creación de 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 Google Cloud CLI.
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "encryption" \ --rotation-period ROTATION_PERIOD \ --next-rotation-time NEXT_ROTATION_TIME
Reemplaza lo siguiente:
KEY_NAME
: el nombre de la clave.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.LOCATION
: Es la ubicación de Cloud KMS del llavero de claves.ROTATION_PERIOD
: Es el intervalo para rotar la clave, por ejemplo,30d
para rotar la clave cada 30 días. El período de rotación debe ser de al menos 1 día y un máximo de 100 años. 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-time
para programar la primera rotación durante un período de rotación a partir de la fecha en la que ejecutas 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 configura un entorno de desarrollo de C# e instala el SDK de C# para Cloud KMS.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Cloud KMS.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Cloud KMS.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Cloud KMS.
PHP
Para ejecutar este código, primero obtén información sobre cómo usar PHP en Google Cloud y, luego, instala el SDK de PHP para Cloud KMS.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Cloud KMS.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby para Cloud KMS.
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 crear una clave, usa el método CryptoKey.create
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "PURPOSE", "rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
Reemplaza lo siguiente:
PURPOSE
: Es el propósito de la clave.ROTATION_PERIOD
: Es el intervalo para rotar la clave, por ejemplo,30d
para rotar la clave cada 30 días. El período de rotación debe ser de al menos 1 día y un máximo de 100 años. 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
. Para obtener más información, consulta:CryptoKey.nextRotationTime
.
Para configurar la rotación automática en una clave existente, haz lo siguiente:
Console
Ve a la página Administración de claves en la consola de Google Cloud.
Haz clic en el nombre del llavero de claves que contiene la clave para la que quieres agregar un programa de rotación.
Haz clic en la clave a la que deseas agregar una programación de rotación.
En el encabezado, haz clic en Editar período de rotación.
En el mensaje, elige valores nuevos para los campos Período de rotación y A partir de.
En la ventana, haz clic en Guardar.
gcloud
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.
gcloud kms keys update KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --rotation-period ROTATION_PERIOD \ --next-rotation-time NEXT_ROTATION_TIME
Reemplaza lo siguiente:
KEY_NAME
: el nombre de la clave.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.LOCATION
: Es la ubicación de Cloud KMS del llavero de claves.ROTATION_PERIOD
: Es el intervalo para rotar la clave, por ejemplo,30d
para rotar la clave cada 30 días. El período de rotación debe ser de al menos 1 día y un máximo de 100 años. Para obtener más información, consulta CryptoKey.rotationPeriod.NEXT_ROTATION_TIME
: La marca de tiempo en la que se debe completar la siguiente rotación, por ejemplo,2023-01-01T01:02:03
. Puedes omitir--next-rotation-time
para programar la siguiente rotación para un período de rotación a partir del momento en que ejecutas 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 configura un entorno de desarrollo de C# e instala el SDK de C# para Cloud KMS.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Cloud KMS.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Cloud KMS.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Cloud KMS.
PHP
Para ejecutar este código, primero obtén información sobre cómo usar PHP en Google Cloud y, luego, instala el SDK de PHP para Cloud KMS.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Cloud KMS.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby para Cloud KMS.
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 actualizar una clave, usa el método CryptoKey.patch
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?updateMask=rotationPeriod,nextRotationTime" \ --request "PATCH" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
Reemplaza lo siguiente:
ROTATION_PERIOD
: Es el intervalo para rotar la clave, por ejemplo,30d
para rotar la clave cada 30 días. El período de rotación debe ser de al menos 1 día y un máximo de 100 años. Para obtener más información, consulta CryptoKey.rotationPeriod.NEXT_ROTATION_TIME
: La marca de tiempo en la que se debe completar la siguiente rotación, por ejemplo,2023-01-01T01:02:03
. Para obtener más información, consulta:CryptoKey.nextRotationTime
.
Rota una clave de forma manual
Primero, crea una versión de clave nueva:
Console
Ve a la página Administración de claves en la consola de Google Cloud.
Haz clic en el nombre del llavero de claves que contiene la clave para la que crearás una versión de clave nueva.
Haz clic en la clave para la que crearás una versión de clave nueva.
En el encabezado, haz clic en Rotar.
En el mensaje, haz clic en Rotar para confirmar.
gcloud
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.
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION
Reemplaza lo siguiente:
KEY_NAME
: el nombre de la clave.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.LOCATION
: Es la ubicación de Cloud KMS del llavero de claves.
A las versiones de claves se les asigna un número de manera secuencial.
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 configura un entorno de desarrollo de C# e instala el SDK de C# para Cloud KMS.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Cloud KMS.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Cloud KMS.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Cloud KMS.
PHP
Para ejecutar este código, primero obtén información sobre cómo usar PHP en Google Cloud y, luego, instala el SDK de PHP para Cloud KMS.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Cloud KMS.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby para Cloud KMS.
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 rotar una clave de forma manual, primero crea una versión de clave nueva llamando al método CryptoKeyVersions.create.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions" \ --request "POST" \ --header "authorization: Bearer TOKEN"
Este comando crea una versión de clave nueva, pero no la establece como la versión principal.
Para establecer la versión de clave nueva como la principal, consulta Cómo configurar una versión existente como la versión de clave primaria.
Si es necesario, vuelve a encriptar los datos que se encriptaron con la versión de clave anterior.
Configura una versión existente como la versión de clave primaria
A fin de establecer una versión de clave diferente como la versión principal de una clave, actualízala con la nueva información de la versión principal. Se debe habilitar una versión de clave antes de configurarla como la versión principal.
Console
Ve a la página Administración de claves en la consola de Google Cloud.
Haz clic en el nombre del llavero de claves que contiene la clave cuya versión principal deseas actualizar.
Haz clic en la clave cuya versión principal deseas actualizar.
En la fila correspondiente a la versión de clave que deseas convertir en principal, haz clic en Ver más
.Haz clic en Crear versión principal en el menú.
En el mensaje de confirmación, haz clic en Convertir en principal.
gcloud
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.
gcloud kms keys update KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --primary-version KEY_VERSION
Reemplaza lo siguiente:
KEY_NAME
: el nombre de la clave.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.LOCATION
: Es la ubicación de Cloud KMS del llavero de claves.- KEY_VERSION: Es el número de versión de la nueva clave primaria.
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 configura un entorno de desarrollo de C# e instala el SDK de C# para Cloud KMS.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Cloud KMS.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Cloud KMS.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Cloud KMS.
PHP
Para ejecutar este código, primero obtén información sobre cómo usar PHP en Google Cloud y, luego, instala el SDK de PHP para Cloud KMS.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby para Cloud KMS.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Cloud KMS.
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 cambiar la versión de la clave primaria, llama al método CryptoKey.updatePrimaryVersion.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME:updatePrimaryVersion" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"cryptoKeyVersionId": "KEY_VERSION"}'
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto que contiene el llavero.LOCATION
: Es la ubicación de Cloud KMS del llavero de claves.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.KEY_NAME
: el nombre de la clave.- KEY_VERSION: Es el número de versión de la nueva clave primaria.
Cuando cambias la versión de la clave primaria, el cambio suele ser coherente en un plazo de 1 minuto. Sin embargo, en casos excepcionales, este cambio puede tardar hasta 3 horas en propagarse. Durante este tiempo, es posible que se use la versión principal anterior para encriptar los datos. Para obtener más información, consulta Coherencia de recursos de Cloud KMS.
Inhabilita la rotación automática
Para inhabilitar la rotación automática de una clave, borra el programa de rotación de la clave:
Console
Ve a la página Administración de claves en la consola de Google Cloud.
Haz clic en el nombre del llavero de claves que contiene la clave para la que quieres quitar el programa de rotación.
Haz clic en la clave de la que quieres quitar la programación de rotación.
En el encabezado, haz clic en Editar período de rotación.
En el mensaje, haz clic en el campo Período de rotación y selecciona Nunca (rotación manual).
En la ventana, haz clic en Guardar.
gcloud
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.
gcloud kms keys update KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --remove-rotation-schedule
Reemplaza lo siguiente:
KEY_NAME
: el nombre de la clave.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.LOCATION
: Es la ubicación de Cloud KMS del llavero de claves.
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 configura un entorno de desarrollo de C# e instala el SDK de C# para Cloud KMS.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Cloud KMS.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Cloud KMS.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Cloud KMS.
PHP
Para ejecutar este código, primero obtén información sobre cómo usar PHP en Google Cloud y, luego, instala el SDK de PHP para Cloud KMS.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby para Cloud KMS.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Cloud KMS.
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 actualizar una clave, usa el método CryptoKey.patch
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?updateMask=rotationPeriod,nextRotationTime" \ --request "PATCH" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"rotationPeriod": null, "nextRotationTime": null}'
Para obtener más detalles sobre rotationPeriod
y nextRotationTime
, consulta keyRings.cryptoKeys
.
Rota una clave externa
Rota una clave externa coordinada
Puedes configurar la rotación automática para claves externas simétricas coordinadas. También puedes crear una versión de clave nueva de forma manual para claves externas simétricas o asimétricas coordinadas.
Si rotas o creas una versión de clave nueva, todos los datos recién creados que se protejan con esa clave se encriptarán con la versión nueva. Los datos protegidos con una versión de clave anterior no se vuelven a encriptar. Como resultado, tu administrador de claves externo debe seguir haciendo que el material de clave de la versión de clave anterior esté disponible para su uso.
Para crear una versión de clave nueva para una clave externa coordinada, completa los siguientes pasos:
Console
En la consola de Google Cloud, ve a la página Administración de claves.
Selecciona el llavero de claves y, luego, selecciona la clave.
Haz clic en Crear versión. Aparecerá un mensaje que indica que la versión de clave nueva se generará en Cloud KMS y en tu EKM. Si ves un campo Key path o Key URI, la clave seleccionada no es una clave externa coordinada.
Para confirmar que deseas crear una versión de clave nueva, haz clic en Crear versión.
La nueva versión de clave aparecerá en el estado Generación pendiente. En el caso de las claves simétricas, las versiones de claves creadas de forma manual no se configuran automáticamente como la versión de clave primaria. Puedes configurar la nueva versión de clave como primaria.
gcloud CLI
Para crear una nueva versión de clave simétrica y establecerla como la versión de clave primaria, usa el comando kms keys versions create
con la marca --primary
:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --primary
Reemplaza lo siguiente:
KEY_NAME
: el nombre de la clave.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.LOCATION
: Es la ubicación de Cloud KMS del llavero de claves.
Para crear una nueva versión de clave asimétrica o una nueva versión de clave simétrica que no sea la versión de clave primaria, usa el comando kms keys versions
create
:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION
Reemplaza lo siguiente:
KEY_NAME
: el nombre de la clave.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.LOCATION
: Es la ubicación de Cloud KMS del llavero de claves.
Rota un EKM de Cloud administrado de forma manual a través de una clave de VPC
Primero, rota el material de clave externo en tu administrador de claves externo. Si eso genera una ruta de la clave nueva, debes rotar o crear una nueva versión de clave de Cloud EKM con la ruta de la clave nueva. Para las claves de encriptación simétrica, rota la clave de Cloud EKM y especifica la nueva ruta de acceso de la clave desde tu administrador de claves externo. En el caso de las claves asimétricas, crea una versión de clave nueva y especifica la nueva ruta de acceso a la clave.
Si rotas o creas una versión de clave nueva, todos los datos recién creados que se protejan con esa clave se encriptarán con la versión nueva. Los datos protegidos con una versión de clave anterior no se vuelven a encriptar. Como resultado, tu administrador de claves externo debe seguir haciendo que el material de clave de la versión de clave anterior esté disponible para su uso.
Si el material de clave del sistema de administración de claves externas no cambia, pero la ruta de acceso de la clave cambia, puedes actualizar la ruta de acceso externa de la clave sin rotar la clave.
Console
En la consola de Google Cloud, ve a la página Administración de claves.
Selecciona el llavero de claves y, luego, selecciona la clave.
Haz clic en Rotar clave.
En Ruta de acceso de la clave, ingresa la ruta de acceso de la clave de la versión nueva.
Haz clic en Rotar clave para confirmar.
gcloud
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 crear una nueva versión de clave simétrica y establecerla como la versión de clave primaria, usa el comando kms keys versions create
con la marca --primary
:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --ekm-connection-key-path EXTERNAL_KEY_PATH \ --primary
Reemplaza lo siguiente:
KEY_NAME
: el nombre de la clave.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.LOCATION
: Es la ubicación de Cloud KMS del llavero de claves.EXTERNAL_KEY_PATH
: Es la ruta de acceso a la nueva versión de la clave externa.
Para crear una nueva versión de clave asimétrica o una nueva versión de clave simétrica que no sea la versión de clave primaria, usa el comando kms keys versions
create
:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --ekm-connection-key-path EXTERNAL_KEY_PATH
Reemplaza lo siguiente:
KEY_NAME
: el nombre de la clave.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.LOCATION
: Es la ubicación de Cloud KMS del llavero de claves.EXTERNAL_KEY_PATH
: Es la ruta de acceso a la nueva versión de la clave externa.
Para obtener información sobre todas las marcas y los valores posibles, ejecuta el comando con la marca --help
.
Después de crear la versión de clave de forma correcta, puedes usarla como lo harías con cualquier otra versión de clave de Cloud KMS.
Rota una clave de Cloud EKM administrada de forma manual a través de Internet
Primero, rota el material de clave externo en tu administrador de claves externo. Si eso genera un URI nuevo, debes rotar o crear una nueva versión de clave de Cloud EKM con el URI nuevo. Para las claves de encriptación simétrica, rota la clave de Cloud EKM y especifica el nuevo URI de clave desde tu administrador de claves externo. Para las claves asimétricas, crea una versión de clave nueva y especifica el URI de clave nuevo.
Si rotas o creas una versión de clave nueva, todos los datos recién creados que se protejan con esa clave se encriptarán con la versión nueva. Los datos protegidos con una versión de clave anterior no se vuelven a encriptar. Como resultado, tu administrador de claves externo debe seguir haciendo que el material de clave de la versión de clave anterior esté disponible para su uso.
Si el material de clave del sistema de administración de claves externas no cambia, pero el URI cambia, puedes actualizar el URI externo de la clave sin rotar la clave.
Console
En la consola de Google Cloud, ve a la página Administración de claves.
Selecciona el llavero de claves y, luego, selecciona la clave.
Selecciona Rotar clave para las claves simétricas o Crear versión para las claves asimétricas.
Ingresa el nuevo URI de clave y, luego, selecciona Rotar clave para las claves simétricas o Crear versión para las claves asimétricas.
La versión de clave nueva se convertirá en la versión principal.
gcloud CLI
Para crear una nueva versión de clave simétrica y establecerla como la versión de clave primaria, usa el comando kms keys versions create
con la marca --primary
:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --external-key-uri EXTERNAL_KEY_URI \ --primary
Reemplaza lo siguiente:
KEY_NAME
: el nombre de la clave.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.LOCATION
: Es la ubicación de Cloud KMS del llavero de claves.EXTERNAL_KEY_URI
: Es el URI de clave de la nueva versión de clave externa.
Para crear una nueva versión de clave asimétrica o una nueva versión de clave simétrica que no sea la versión de clave primaria, usa el comando kms keys versions
create
:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --external-key-uri EXTERNAL_KEY_URI
Reemplaza lo siguiente:
KEY_NAME
: el nombre de la clave.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.LOCATION
: Es la ubicación de Cloud KMS del llavero de claves.EXTERNAL_KEY_URI
: Es el URI de clave de la nueva versión de clave externa.
¿Qué sigue?
- Después de rotar una clave, puedes volver a encriptar los datos que se encriptaron con esa clave.
- Después de volver a encriptar los datos, puedes comprobar si la versión de clave está en uso.
- Después de confirmar que una versión de clave ya no está en uso, puedes destruirla.