Crea claves de encriptación con Cloud KMS
En esta guía de inicio rápido, se muestra cómo crear y usar claves de encriptación con Cloud Key Management Service en un proyecto de tu propiedad. En estas instrucciones, se usa la consola deTrusted Cloud para crear llaveros de claves, claves y versiones de claves en Cloud KMS. Para obtener instrucciones que usan otros métodos, consulta Descripción general de las claves automáticas, Crea un llavero de claves y Crea una clave.
En esta guía de inicio rápido, se usa la línea de comandos para enviar solicitudes a la API de Cloud KMS. A fin de ver ejemplos de programación que usen las bibliotecas cliente para enviar solicitudes a la API de Cloud KMS, consulta Encriptación y desencriptación.
Antes de comenzar
-
In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Trusted Cloud project.
-
Enable the Cloud KMS API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Configura gcloud CLI para usar tu identidad federada.
Para obtener más información, consulta Accede a gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
Claves y llaveros de claves
Para encriptar y desencriptar contenido, necesitarás una clave de Cloud KMS, que es parte de un llavero de claves.
Crea un llavero de claves denominado
test
y una clave con el nombrequickstart
. Consulta la descripción general de la jerarquía de objetos para obtener más información sobre estos objetos y cómo se relacionan.gcloud kms keyrings create "test" \ --location "global"
gcloud kms keys create "quickstart" \ --location "global" \ --keyring "test" \ --purpose "encryption"
Puedes usar la opción
list
para ver el nombre y los metadatos de la clave que acabas de crear.gcloud kms keys list \ --location "global" \ --keyring "test"
Deberías ver lo siguiente:
NAME PURPOSE PRIMARY_STATE projects/PROJECT_ID/locations/global/keyRings/test/cryptoKeys/quickstart ENCRYPT_DECRYPT ENABLED
Encripta datos
Ahora que tienes una clave, puedes usarla para encriptar texto o contenido binario.
Almacena algo de texto para encriptar en un archivo llamado “mysecret.txt”.
echo -n "Some text to be encrypted" > mysecret.txt
Para encriptar los datos con
gcloud kms encrypt
, proporciona tu información de clave, especifica el nombre del archivo de texto sin formato que se debe encriptar y especifica el nombre del archivo que contendrá el contenido encriptado:gcloud kms encrypt \ --location "global" \ --keyring "test" \ --key "quickstart" \ --plaintext-file ./mysecret.txt \ --ciphertext-file ./mysecret.txt.encrypted
El método
encrypt
guarda tu contenido encriptado en el archivo que especifica la marca--ciphertext-file
.Desencripta contenido cifrado
Para desencriptar los datos con
gcloud kms decrypt
, proporciona tu información de clave, especifica el nombre del archivo encriptado (archivo de cifrado) a desencriptar, y especifica el nombre del archivo que contendrá el contenido desencriptado:gcloud kms decrypt \ --location "global" \ --keyring "test" \ --key "quickstart" \ --ciphertext-file ./mysecret.txt.encrypted \ --plaintext-file ./mysecret.txt.decrypted
El método
decrypt
guarda tu contenido desencriptado en el archivo que especifica la marca--plaintext-file
.A fin de desencriptar contenido, debes utilizar la misma clave que usaste para encriptarlo.
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Trusted Cloud por los recursos que usaste en esta página.
Crea una lista de versiones disponibles para tu clave:
gcloud kms keys versions list \ --location "global" \ --keyring "test" \ --key "quickstart"
Para destruir una versión, ejecuta el siguiente comando, en el que
1
es el número de la versión de la clave que deseas destruir:gcloud kms keys versions destroy 1 \ --location "global" \ --keyring "test" \ --key "quickstart"
Próximos pasos
- Comienza a usar la API.
- Revisa la referencia de la API.
- Obtén más información para encriptar datos en reposo.