Cómo utilizar la CLI de cifrado del AWS - AWS Encryption SDK

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo utilizar la CLI de cifrado del AWS

En este tema se explica cómo utilizar los parámetros en la CLI de cifrado del AWS. Para ver ejemplos, consulte Ejemplos de la CLI de cifrado del AWS. Para ver la documentación completa, consulte Read the Docs. La sintaxis que se muestra en estos ejemplos corresponde a las versiones 2.1.x y posteriores de la CLI de cifrado del AWS.

nota

Las versiones de la CLI de cifrado del AWS anteriores a la 4.0.0 se encuentran en la fase de fin de soporte.

Puede actualizar de forma segura desde la versión 2.1. x y versiones posteriores a la última versión de la CLI de cifrado del AWS sin cambios en el código ni en los datos. Sin embargo, se introdujeron nuevas funciones de seguridad en la versión 2.1.x que no son compatibles con versiones anteriores. Para actualizar desde la versión 1.7.x o anterior, primero debe actualizar a la última versión 1.x de la CLI de cifrado del AWS. Para obtener más información, consulte Migrar su AWS Encryption SDK.

Las nuevas funciones de seguridad se publicaron originalmente en las versiones 1.7.x y 2.0.x. de la CLI de cifrado del AWS. Sin embargo, la versión 1.8.x de la CLI de cifrado de AWS reemplaza a la versión 1.7.x y la versión 2.1.x de la CLI de cifrado de AWS reemplaza a la 2.0.x. Para obtener más información, consulte el aviso de seguridad correspondiente en el repositorio aws-encryption-sdk-cli en GitHub.

Para ver un ejemplo que muestra cómo usar la característica de seguridad que limita las claves de datos cifrados, consulte Limitar las claves de datos cifrados.

Para ver un ejemplo que muestra cómo utilizar claves multirregionales de AWS KMS, consulte Uso de AWS KMS keys multirregional.

Cómo cifrar y descifrar datos

La CLI de cifrado del AWS utiliza las características del AWS Encryption SDK para facilitar el cifrado y descifrado de datos de forma segura.

nota

El parámetro --master-keys está obsoleto en la versión 1.8.x de la CLI de cifrado del AWS y se eliminó en la versión 2.1.x. En su lugar, utilice el parámetro --wrapping-keys. A partir de la versión 2.1.x, el parámetro --wrapping-keys es obligatorio para cifrar y descifrar. Para obtener más información, consulte Referencia de sintaxis y parámetros de la CLI del AWS Encryption SDK.

  • Al cifrar datos en la CLI de cifrado del AWS, se especifican los datos de texto no cifrado y una clave de empaquetado (o clave maestra), como un AWS KMS key en AWS Key Management Service (AWS KMS). Si utiliza un proveedor de claves maestras personalizadas, también debe especificarlo. También debe especificar las ubicaciones de salida del mensaje cifrado y de los metadatos relativos a la operación de cifrado. El contexto de cifrado es opcional, pero se recomienda.

    En la versión 1.8.x, se requiere el parámetro --commitment-policy cuando usa el parámetro --wrapping-keys; de lo contrario, no será válido. En la versión 2.1.x, el parámetro --commitment-policy es opcional, pero se recomienda.

    aws-encryption-cli --encrypt --input myPlaintextData \ --wrapping-keys key=1234abcd-12ab-34cd-56ef-1234567890ab \ --output myEncryptedMessage \ --metadata-output ~/metadata \ --encryption-context purpose=test \ --commitment-policy require-encrypt-require-decrypt

    La CLI de cifrado del AWS cifra los datos con una clave de datos única. Luego, cifra la clave de datos con las claves de empaquetado que especifique. Devuelve un mensaje cifrado y los metadatos relativos a la operación. El mensaje cifrado contiene los datos cifrados (texto cifrado) y una copia cifrada de la clave de datos. No tiene que preocuparse por almacenar, administrar ni perder la clave de datos.

     

  • Al descifrar datos, en el mensaje cifrado se transmiten el contexto de cifrado opcional y las ubicaciones de salida del texto no cifrado y de los metadatos. También debe especificar las claves de empaquetado que la CLI de cifrado del AWS puede usar para descifrar el mensaje o decirle a la CLI de cifrado del AWS que puede usar cualquier clave de empaquetado que cifre el mensaje.

    A partir de la versión 1.8.x, el parámetro --wrapping-keys es opcional al descifrar, pero se recomienda. A partir de la versión 2.1.x, el parámetro --wrapping-keys es obligatorio para cifrar y descifrar.

    Al descifrar, puede utilizar el atributo key del parámetro --wrapping-keys para especificar las claves de empaquetado que descifran los datos. Especificar una clave de empaquetado de AWS KMS al descifrar es opcional, pero es una práctica recomendada que previene que utilice una clave que no tenía intención de usar. Si utiliza un proveedor de claves maestras personalizadas, debe especificar el proveedor y la clave de empaquetado.

    Si no utiliza el atributo key, debe establecer el atributo de discovery del parámetro --wrapping-keys en true, lo que permite a la CLI de cifrado del AWS descifrar mediante cualquier clave de empaquetado que haya cifrado el mensaje.

    Como práctica recomendada, utilice el parámetro --max-encrypted-data-keys para evitar descifrar un mensaje mal formado con un número excesivo de claves de datos cifradas. Especifique el número esperado de claves de datos cifrados (una por cada clave de empaquetado utilizada en el cifrado) o un máximo razonable (por ejemplo, 5). Para obtener más información, consulte Limitar las claves de datos cifrados.

    El parámetro --buffer devuelve el texto no cifrado solo después de procesar todas las entradas, incluida la verificación de la firma digital, si existe alguna.

    El parámetro --decrypt-unsigned descifra el texto cifrado y garantiza que los mensajes no estén firmados antes del descifrado. Utilice este parámetro si utilizó el parámetro --algorithm y seleccionó un conjunto de algoritmos sin firma digital para cifrar los datos. Si el texto cifrado está firmado, se produce un error en el descifrado.

    Puede utilizar --decrypt o --decrypt-unsigned para el descifrado, pero no ambos.

    aws-encryption-cli --decrypt --input myEncryptedMessage \ --wrapping-keys key=1234abcd-12ab-34cd-56ef-1234567890ab \ --output myPlaintextData \ --metadata-output ~/metadata \ --max-encrypted-data-keys 1 \ --buffer \ --encryption-context purpose=test \ --commitment-policy require-encrypt-require-decrypt

    La CLI de cifrado del AWS utiliza la clave maestra para descifrar la clave de datos contenida en el mensaje cifrado. A continuación, utiliza la clave de datos para descifrar los datos. Devuelve los datos en texto no cifrado y los metadatos relativos a la operación.

Cómo especificar las claves de empaquetado

Cuando cifra datos en la CLI de cifrado del AWS, debe especificar al menos una clave de empaquetado (o clave maestra). Puede usar AWS KMS keys en AWS Key Management Service (AWS KMS), claves de empaquetado de un proveedor de claves maestras personalizado o ambas. El proveedor de claves maestras personalizadas puede ser cualquiera que sea compatible con Python.

Para especificar las claves de empaquetado en las versiones 1.8.x y posteriores, utilice el parámetro --wrapping-keys (-w). El valor de este parámetro es una colección de atributos con el formato attribute=value. Los atributos que se utilizan dependen del proveedor de claves maestras y del comando.

  • AWS KMS. En los comandos de cifrado, debe especificar un parámetro --wrapping-keys con un atributo key. A partir de la versión 2.1.x, el parámetro --wrapping-keys también es obligatorio para descifrar comandos. Al descifrar, el parámetro --wrapping-keys requiere un atributo key o un atributo discovery con un valor de true (pero no ambos). Otros atributos son opcionales.

  • Proveedor de claves maestras personalizadas. Debe especificar un parámetro --wrapping-keys en cada comando. El valor del parámetro debe tener los atributos key y provider.

Puede incluir varios parámetros --wrapping-keys y varios atributos key en el mismo comando.

Atributos de parámetro de clave de empaquetado

El valor del parámetro --wrapping-keys se compone de los siguientes atributos y sus valores. Todos los comandos de cifrado requieren un parámetro --wrapping-keys (o parámetro --master-keys). A partir de la versión 2.1.x, el parámetro --wrapping-keys también es obligatorio para descifrar.

Si el nombre o valor de un atributo contiene espacios o caracteres especiales, incluya tanto el nombre como el valor entre comillas. Por ejemplo, --wrapping-keys key=12345 "provider=my cool provider".

Key: especifique una clave de empaquetado

El atributo key se utiliza para identificar una clave de empaquetado. Al cifrar, el valor puede ser cualquier identificador de clave que el proveedor de claves maestras pueda reconocer.

--wrapping-keys key=1234abcd-12ab-34cd-56ef-1234567890ab

En un comando de cifrado, debe incluir al menos un atributo key y su valor. Para cifrar su clave de datos en varias claves de empaquetado, utilice varios atributos key.

aws-encryption-cli --encrypt --wrapping-keys key=1234abcd-12ab-34cd-56ef-1234567890ab key=1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d

En los comandos de cifrado que utilicen AWS KMS keys, el valor de key puede ser el ID de clave, su ARN de clave, un nombre de alias o ARN de alias. Por ejemplo, este comando de cifrado utiliza el ARN de un alias en el valor del atributo key. Para obtener más información sobre los identificadores de clave de un AWS KMS key, consulte Identificadores de clave en la Guía para desarrolladores de AWS Key Management Service.

aws-encryption-cli --encrypt --wrapping-keys key=arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias

En los comandos de descifrado que utilizan un proveedor de claves maestras personalizadas, son obligatorios los atributos key y provider.

\\ Custom master key provider aws-encryption-cli --decrypt --wrapping-keys provider='myProvider' key='100101'

En los comandos de descifrado que utilizan AWS KMS, puede utilizar el atributo key para especificar el AWS KMS keys que se va a utilizar para el descifrado, o el atributo discovery con un valor de true, que permite a la CLI de cifrado del AWS utilizar cualquiera de los AWS KMS key que se hayan utilizado para cifrar el mensaje. Si especifica una AWS KMS key, debe ser una de las claves de empaquetado utilizadas para cifrar el mensaje.

Especificar la clave de empaquetado es una práctica recomendada de AWS Encryption SDK. Garantiza que utilice la AWS KMS key que pretende utilizar.

En un comando de descifrado, el valor del atributo key debe ser un ARN de clave.

\\ AWS KMS key aws-encryption-cli --decrypt --wrapping-keys key=arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Descubrimiento: utilice cualquier AWS KMS key al descifrar

Si no necesita limitar el uso de AWS KMS keys al descifrar, puede usar el atributo discovery con un valor de true. Un valor de true permite que la CLI de cifrado del AWS descifre mediante cualquier AWS KMS key que haya cifrado el mensaje. Si no especifica un atributo discovery, discovery será false (predeterminado). El atributo discovery solo es válido en los comandos de descifrado y solo cuando el mensaje se cifró con AWS KMS keys.

El atributo discovery con un valor de true es una alternativa al uso del atributo key para especificar AWS KMS keys. Al descifrar un mensaje cifrado con AWS KMS keys, cada parámetro --wrapping-keys requiere un atributo key o un atributo discovery con un valor de true (pero no ambos).

Cuando discovery es verdadero, se recomienda utilizar los atributos discovery-partition y discovery-account para limitar el uso de AWS KMS keys a los que estén en el Cuentas de AWS que especifique. En el siguiente ejemplo, los atributos discovery permiten que la CLI de cifrado del AWS utilice cualquier AWS KMS key de los Cuentas de AWS especificados.

aws-encryption-cli --decrypt --wrapping-keys \ discovery=true \ discovery-partition=aws \ discovery-account=111122223333 \ discovery-account=444455556666
Provider: especifique el proveedor de claves maestras

El atributo provider identifica el proveedor de claves maestras. El valor predeterminado es aws-kms, que representa a AWS KMS. Si utiliza otro proveedor de claves maestras, el atributo provider es obligatorio.

--wrapping-keys key=12345 provider=my_custom_provider

Para obtener más información sobre cómo utilizar proveedores de claves maestras personalizadas (distintos de AWS KMS), consulte el tema Advanced Configuration del archivo README del repositorio de la CLI de cifrado del AWS.

Region: especifique una Región de AWS

Utilice el atributo region para especificar la Región de AWS de una AWS KMS key. Este atributo es válido solo en los comandos de cifrado y únicamente cuando el proveedor de clave maestra es AWS KMS.

--encrypt --wrapping-keys key=alias/primary-key region=us-east-2

En los comandos de la CLI de cifrado del AWS utilice la Región de AWS especificada en el valor del atributo key si este incluye la región, como sucede con los ARN. Si el valor de key especifica una Región de AWS, el atributo region se omite.

El atributo region tiene prioridad sobre las demás especificaciones de la región. Si no utiliza el atributo region, los comandos de la CLI de cifrado del AWS utilizarán la Región de AWS especificada en su perfil con nombre de AWS CLI, si lo hay, o su perfil predeterminado.

Profile: permite especificar un perfil con nombre

Utilice el atributo profile para especificar un AWS CLIperfil con nombre de la . Los perfiles con nombre pueden contener credenciales y una Región de AWS. Este atributo solo es válido cuando el proveedor de claves maestras es AWS KMS.

--wrapping-keys key=alias/primary-key profile=admin-1

Puede utilizar el atributo profile para especificar unas credenciales alternativas en los comandos de cifrado y descifrado. En un comando de cifrado, la CLI de cifrado del AWS utiliza la Región de AWS en el perfil con nombre solamente cuando el valor de key no incluye ninguna región y no hay un atributo region. En un comando de descifrado, se omite el Región de AWS en el perfil con nombre.

Cómo especificar varias claves de empaquetado

Puede especificar varias claves de empaquetado (o claves maestras) en cada comando.

Si especifica más de una clave de empaquetado, la primera de ellas genera y cifra la clave de datos que se utiliza para cifrar sus datos. Las otras claves de empaquetado cifran la misma clave de datos. El mensaje cifrado obtenido contiene los datos cifrados ("texto cifrado") y una colección de claves de datos cifradas, cada una de ellas cifrada mediante cada clave de empaquetado. Cualquiera de las claves de empaquetado permite descifrar una clave de datos y luego los datos.

Hay dos formas de especificar varias claves de empaquetado:

  • Incluir varios atributos key en el valor del parámetro --wrapping-keys.

    $key_oregon=arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab $key_ohio=arn:aws:kms:us-east-2:111122223333:key/0987ab65-43cd-21ef-09ab-87654321cdef --wrapping-keys key=$key_oregon key=$key_ohio
  • Incluir varios parámetros --wrapping-keys en el mismo comando. Utilice esta sintaxis cuando los valores de los atributos que vaya a especificar no deban aplicarse a todas las claves de empaquetado del comando.

    --wrapping-keys region=us-east-2 key=alias/test_key \ --wrapping-keys region=us-west-1 key=alias/test_key

El atributo discovery con un valor de true permite a la CLI de cifrado del AWS utilizar cualquier elemento AWS KMS key que haya cifrado el mensaje. Si usa varios parámetros --wrapping-keys en el mismo comando, el uso de discovery=true en cualquier parámetro --wrapping-keys anula de manera efectiva los límites del atributo key en otros parámetros --wrapping-keys.

Por ejemplo, en el siguiente comando, el atributo key del primer parámetro --wrapping-keys limita la CLI de cifrado del AWS al AWS KMS key especificado. Sin embargo, el atributo discovery del segundo parámetro --wrapping-keys permite a la CLI de cifrado del AWS utilizar cualquier AWS KMS key de las cuentas especificadas para descifrar el mensaje.

aws-encryption-cli --decrypt \ --wrapping-keys key=arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --wrapping-keys discovery=true \ discovery-partition=aws \ discovery-account=111122223333 \ discovery-account=444455556666

Cómo proporcionar la entrada

La operación de cifrado de la CLI de cifrado del AWS toma datos en texto no cifrado como entrada y devuelve un mensaje cifrado. La operación de descifrado toma un mensaje cifrado como entrada y devuelve datos en texto no cifrado.

El parámetro --input (-i), que indica a la CLI de cifrado del AWS dónde encontrar la entrada, es obligatorio en todos los comandos de la CLI de cifrado del AWS.

Puede proporcionar la entrada de cualquiera de las siguientes formas:

  • Utilice un archivo.

    --input myData.txt
  • Utilice un patrón de nombre de archivo.

    --input testdir/*.xml
  • Utilice un directorio o patrón de nombre de directorio. Cuando la entrada es un directorio, el parámetro --recursive (-r, -R) es obligatorio.

    --input testdir --recursive
  • Canalice la entrada al comando (stdin). Utilice el valor - para el parámetro --input. El parámetro --input siempre es obligatorio.

    echo 'Hello World' | aws-encryption-cli --encrypt --input -

Cómo especificar la ubicación de salida

El parámetro --output indica a la CLI de cifrado del AWS dónde se deben escribir los resultados de la operación de cifrado o descifrado. Es obligatorio en todos los comandos de la CLI de cifrado del AWS. La CLI de cifrado del AWS crea un nuevo archivo de salida por cada archivo de entrada de la operación.

Si un archivo de salida ya existe, de forma predeterminada, la CLI de cifrado del AWS muestra una advertencia y, a continuación, sobrescribe el archivo. Para evitar la sobrescritura, utilice el parámetro --interactive, que solicita confirmación antes de sobrescribir, o el parámetro --no-overwrite, que omite la entrada si el resultado generara una sobrescritura. Para suprimir la advertencia de sobrescritura, utilice --quiet. Para capturar los errores y las advertencias emitidos por la CLI de cifrado del AWS, utilice el operador de redireccionamiento 2>&1 para escribirlos en la secuencia de salida.

nota

Los comandos que sobrescriben archivos de salida comienzan por eliminar el archivo de salida. Aunque el comando no se ejecute correctamente, el archivo de salida podría sobrescribirse igualmente.

Puede indicar la ubicación de salida de varias maneras.

  • Especifique el nombre de archivo. Si especifica una ruta al archivo, todos los directorios de la ruta deben existir antes de que se ejecute el comando.

    --output myEncryptedData.txt
  • Especifique un directorio. El directorio de salida debe existir antes de que se ejecute el comando.

    Si la entrada contiene subdirectorios, el comando los reproduce en el directorio especificado.

    --output Test

    Cuando la ubicación de salida es un directorio (sin nombres de archivo), la CLI de cifrado del AWS crea los nombres de los archivos de salida a partir de los nombres de los archivos de entrada, a los que agrega un sufijo. Las operaciones de cifrado anexan .encrypted al nombre del archivo de entrada y las operaciones de descifrado anexan .decrypted. Para cambiar el sufijo, utilice el parámetro --suffix.

    Por ejemplo, si cifra file.txt, el comando de cifrado crea file.txt.encrypted. Si descifra file.txt.encrypted, el comando de descifrado crea file.txt.encrypted.decrypted.

     

  • Escriba en la línea de comandos (stdout). Escriba el valor - para el parámetro --output. Puede utilizar --output - para canalizar el resultado a otro comando o programa.

    --output -

Cómo utilizar un contexto de cifrado

La CLI de cifrado del AWS permite proporcionar un contexto de cifrado en los comandos de cifrado y descifrado. No es obligatorio, pero es una práctica criptográfica recomendada que le aconsejamos.

Un contexto de cifrado es un tipo de información autenticada adicional que es arbitraria y no es secreta. En la CLI de cifrado del AWS, el contexto de cifrado consta de una colección de pares name=value. Puede utilizar cualquier contenido en los pares; esto incluye información sobre los archivos, datos que le ayuden a encontrar la operación de cifrado en los logs o datos que se requieran para sus concesiones o políticas.

En un comando de cifrado

El contexto de cifrado que se especifica en un comando de cifrado, junto con cualquier par adicional que agregue el CMM, está vinculado criptográficamente a los datos cifrados. También se incluye (en texto no cifrado) en el mensaje cifrado que devuelve el comando. Si utiliza una AWS KMS key, el contexto de cifrado también podría aparecer en texto no cifrado en los registros y en los registros de auditoría, como los de AWS CloudTrail.

En el siguiente ejemplo se muestra un contexto de cifrado con tres pares de name=value.

--encryption-context purpose=test dept=IT class=confidential

En un comando de descifrado

En un comando de descifrado, el contexto de cifrado ayuda a confirmar que se descifre el mensaje cifrado acertado.

No es preciso proporcionar un contexto de cifrado en un comando de descifrado, aunque sí se haya utilizado al realizar el cifrado. Sin embargo, si lo hace, la CLI de cifrado del AWS verificará que cada elemento del contexto de cifrado del comando de descifrado coincida con un elemento del contexto de cifrado del mensaje cifrado. Si cualquier elemento no coincide, el comando de descifrado genera un error.

Por ejemplo, el siguiente comando descifra el mensaje cifrado solo si su contexto de cifrado incluye dept=IT.

aws-encryption-cli --decrypt --encryption-context dept=IT ...

Un contexto de cifrado es una parte importante de la estrategia de seguridad. Sin embargo, al elegir un contexto de cifrado, es importante recordar que sus valores no son secretos. No incluya datos confidenciales en el contexto de cifrado.

Para especificar un contexto de cifrado

  • En un comando de cifrado, utilice el parámetro --encryption-context con uno o varios pares name=value. Utilice un espacio para separar cada par del siguiente.

    --encryption-context name=value [name=value] ...
  • En un comando de descifrado, el valor del parámetro --encryption-context puede incluir pares name=value, elementos name (sin valores) o una combinación de ambos.

    --encryption-context name[=value] [name] [name=value] ...

Si name o value de un par name=value incluye espacios o caracteres especiales, incluya el par completo entre comillas.

--encryption-context "department=software engineering" "Región de AWS=us-west-2"

Por ejemplo, este comando de cifrado incluye un contexto de cifrado con dos pares, purpose=test y dept=23.

aws-encryption-cli --encrypt --encryption-context purpose=test dept=23 ...

Estos comandos de descifrado se ejecutarían correctamente. El contexto de cifrado de cada comando es un subconjunto del contexto de cifrado original.

\\ Any one or both of the encryption context pairs aws-encryption-cli --decrypt --encryption-context dept=23 ... \\ Any one or both of the encryption context names aws-encryption-cli --decrypt --encryption-context purpose ... \\ Any combination of names and pairs aws-encryption-cli --decrypt --encryption-context dept purpose=test ...

Sin embargo, estos comandos de descifrado generarían un error. El contexto de cifrado del mensaje cifrado no contiene los elementos especificados.

aws-encryption-cli --decrypt --encryption-context dept=Finance ... aws-encryption-cli --decrypt --encryption-context scope ...

Cómo especificar una política de compromiso

Para establecer la política de compromiso del comando, utilice el parámetro --commitment-policy. Este parámetro se introduce en la versión 1.8.x. Es válido en los comandos de cifrado y descifrado. La política de compromiso que establezca solo es válida para el comando en el que aparece. Si no establece una política de compromiso para un comando, la CLI de cifrado del AWS usa el valor predeterminado.

Por ejemplo, el siguiente valor de parámetro establece la política de compromiso en require-encrypt-allow-decrypt, que siempre cifra con un compromiso de clave, pero descifra un texto cifrado que se haya cifrado con o sin compromiso de clave.

--commitment-policy require-encrypt-allow-decrypt

Cómo almacenar parámetros en un archivo de configuración

Puede ahorrar tiempo y evitar errores tipográficos guardando los parámetros y valores de la CLI de cifrado del AWS que utiliza con frecuencia en archivos de configuración.

Un archivo de configuración es un archivo de texto que contiene los parámetros y los valores para un comando de la CLI de cifrado del AWS. Cuando se hace referencia a un archivo de configuración en un comando de la CLI de cifrado del AWS, la referencia se sustituye por los parámetros y los valores del archivo de configuración. El efecto es el mismo que si se hubiese escrito el contenido del archivo en la línea de comandos. Un archivo de configuración puede tener cualquier nombre y pueden estar ubicado en cualquier directorio al que el usuario actual tenga acceso.

En el siguiente ejemplo de archivo de configuración, key.conf, se especifican dos AWS KMS keys en diferentes regiones.

--wrapping-keys key=arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab --wrapping-keys key=arn:aws:kms:us-east-2:111122223333:key/0987ab65-43cd-21ef-09ab-87654321cdef

Para utilizar el archivo de configuración en un comando, el nombre de archivo debe llevar el símbolo de arroba (@) como prefijo. En una consola de PowerShell, utilice una tilde grave como carácter de escape delante del símbolo de arroba (`@).

En el comando de este ejemplo se utiliza el archivo key.conf en un comando de cifrado.

Bash
$ aws-encryption-cli -e @key.conf -i hello.txt -o testdir
PowerShell
PS C:\> aws-encryption-cli -e `@key.conf -i .\Hello.txt -o .\TestDir

Reglas de los archivos de configuración

A continuación, se enumeran las reglas para utilizar archivos de configuración:

  • Puede incluir varios parámetros en cada archivo de configuración y enumerarlos en cualquier orden. Enumere cada parámetro con sus valores (si procede) en una línea independiente.

  • Utilice # para agregar un comentario a la totalidad o parte de una línea.

  • Puede incluir referencias a otros archivos de configuración. No utilice la tilde grave como carácter de escape delante del símbolo de arroba (@), ni siquiera en PowerShell.

  • Si utiliza comillas en un archivo de configuración, el texto entrecomillado no puede abarcar varias líneas.

Por ejemplo, este es el contenido de un archivo encrypt.conf de muestra.

# Archive Files --encrypt --output /archive/logs --recursive --interactive --encryption-context class=unclassified dept=IT --suffix # No suffix --metadata-output ~/metadata @caching.conf # Use limited caching

También puede incluir varios archivos de configuración en un comando. En el comando de este ejemplo se utilizan los archivos de configuración encrypt.conf y master-keys.conf.

Bash
$ aws-encryption-cli -i /usr/logs @encrypt.conf @master-keys.conf
PowerShell
PS C:\> aws-encryption-cli -i $home\Test\*.log `@encrypt.conf `@master-keys.conf

Siguiente: Pruebe los ejemplos de CLI de cifrado del AWS