En esta página, se muestra cómo usar Cloud Key Management Service (Cloud KMS) para realizar las siguientes operaciones con claves simétricas:
- Encriptar texto o contenido binario (sin formato) con una clave de Cloud KMS
- Desencriptar cifrado que se encriptó con una clave de Cloud KMS
Si quieres usar una clave asimétrica para la encriptación, consulta Encripta y desencripta datos con una clave asimétrica. Para obtener información sobre la encriptación simétrica sin procesar, consulta Encriptación simétrica sin procesar.
Antes de comenzar
Asegúrate de que el usuario que llama a los métodos de encriptación y desencriptación tenga los permisos
cloudkms.cryptoKeyVersions.useToEncryptycloudkms.cryptoKeyVersions.useToDecryptsobre la clave.Una forma de permitirle a un usuario que encripte o desencripte es agregar el usuario a las funciones de IAM
roles/cloudkms.cryptoKeyEncrypter,roles/cloudkms.cryptoKeyDecrypteroroles/cloudkms.cryptoKeyEncrypterDecrypterpara esa clave. La funciónroles/cloudkms.adminno proporciona estos dos permisos. Para obtener más información, consulta el artículo sobre permisos y funciones.
Encriptar
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 encrypt \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--plaintext-file FILE_TO_ENCRYPT \
--ciphertext-file ENCRYPTED_OUTPUT
Reemplaza lo siguiente:
KEY_NAME: Es el nombre de la clave que deseas usar para la encriptación.KEY_RING: el nombre del llavero de claves que incluye la claveLOCATION: Es la ubicación de Cloud KMS que contiene el llavero de claves.FILE_TO_ENCRYPT: Es la ruta de acceso al archivo que deseas encriptar.ENCRYPTED_OUTPUT: Es la ruta de acceso en la que deseas guardar el resultado encriptado.
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.