Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples
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.
AWS KMS ejemplos que utilizan AWS CLI
Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso del AWS Command Line Interface with AWS KMS.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.
Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.
Temas
Acciones
En el siguiente ejemplo de código se muestra cómo usar cancel-key-deletion
.
- AWS CLI
-
Para cancelar la eliminación programada de una KMS clave gestionada por el cliente
El siguiente
cancel-key-deletion
ejemplo cancela la eliminación programada de una KMS clave gestionada por el cliente.aws kms cancel-key-deletion \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
Salida:
{ "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }
Cuando el
cancel-key-deletion
comando se ejecuta correctamente, se cancela la eliminación programada. Sin embargo, el estado de la KMS clave esDisabled
, por lo que no puede utilizarla en KMS operaciones criptográficas. Para restaurar su funcionalidad, utilice elenable-key
comando.Para obtener más información, consulte Programar y cancelar la eliminación de claves en la Guía para desarrolladores del Servicio de administración de AWS claves.
-
Para API obtener más información, consulte CancelKeyDeletion
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar connect-custom-key-store
.
- AWS CLI
-
Para conectar un almacén de claves personalizado
En el siguiente
connect-custom-key-store
ejemplo, se vuelve a conectar el almacén de claves personalizadas especificado. Puede utilizar un comando como este para conectar un almacén de claves personalizado por primera vez o para volver a conectar un almacén de claves que estaba desconectado.Puedes usar este comando para conectar un almacén de HSM claves de AWS Cloud o un almacén de claves externo.
aws kms connect-custom-key-store \ --custom-key-store-id
cks-1234567890abcdef0
El comando no devuelve ningún resultado. Para comprobar que se aplicó el comando, utilice el comando
describe-custom-key-stores
.Para obtener información sobre cómo conectar un almacén de HSM claves AWS en la nube, consulte Conexión y desconexión de un almacén de HSM claves en la AWS nube en la Guía para desarrolladores del servicio de administración de AWS claves.
Para obtener información sobre cómo conectar un almacén de claves externo, consulte Conectar y desconectar un almacén de claves externo en la Guía para desarrolladores del servicio de administración de AWS claves.
-
Para API obtener más información, consulte ConnectCustomKeyStore
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar create-alias
.
- AWS CLI
-
Para crear un alias para una KMS clave
El siguiente
create-alias
comando crea un alias con el nombreexample-alias
de la KMS clave identificada por el ID de clave1234abcd-12ab-34cd-56ef-1234567890ab
.Los nombres del alias no debe empezar por
alias/
. No utilice nombres de alias que comiencen poralias/aws
; están reservados para que los usen AWS.aws kms create-alias \ --alias-name
alias/example-alias
\ --target-key-id1234abcd-12ab-34cd-56ef-1234567890ab
Este comando no devuelve ningún resultado. Para ver el nuevo alias, utilice el comando
list-aliases
.Para obtener más información, consulte Uso de alias en la AWS Guía para desarrolladores de Key Management Service.
-
Para API obtener más información, consulte CreateAlias
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar create-custom-key-store
.
- AWS CLI
-
Ejemplo 1: Para crear un almacén de HSM claves AWS en la nube
En el siguiente
create-custom-key-store
ejemplo, se crea un almacén de HSM claves AWS en la AWS nube respaldado por un HSM clúster de la nube con los parámetros necesarios. También puedes añadir elcustom-key-store-type``parameter with the default value: ``AWS_CLOUDHSM
.Para especificar la entrada de archivo para el
trust-anchor-certificate
comando en AWS CLI, se requiere elfile://
prefijo.aws kms create-custom-key-store \ --custom-key-store-name
ExampleCloudHSMKeyStore
\ --cloud-hsm-cluster-idcluster-1a23b4cdefg
\ --key-store-passwordkmsPswd
\ --trust-anchor-certificatefile://customerCA.crt
Salida:
{ "CustomKeyStoreId": cks-1234567890abcdef0 }
Para obtener más información, consulte Creación de un almacén de HSM claves en AWS la nube en la Guía para desarrolladores del servicio de administración de AWS claves.
Ejemplo 2: Para crear un almacén de claves externo con conectividad de punto final público
El siguiente
create-custom-key-store
ejemplo crea un almacén de claves externo (XKS) con el que se comunica AWS KMS a través de Internet.En este ejemplo,
XksProxyUriPath
utiliza un prefijo opcional deexample-prefix
.NOTE: Si utiliza la AWS CLI versión 1.0, ejecute el siguiente comando antes de especificar un parámetro con un HTTPS valor HTTP o, como el XksProxyUriEndpoint parámetro.
aws configure set
cli_follow_urlparam
false
De lo contrario, la AWS CLI versión 1.0 reemplaza el valor del parámetro por el contenido que se encuentra en esa URI dirección.
aws kms create-custom-key-store \ --custom-key-store-name
ExamplePublicEndpointXKS
\ --custom-key-store-typeEXTERNAL_KEY_STORE
\ --xks-proxy-connectivityPUBLIC_ENDPOINT
\ --xks-proxy-uri-endpoint"https://myproxy.xks.example.com"
\ --xks-proxy-uri-path"/example-prefix/kms/xks/v1"
\ --xks-proxy-authentication-credential"AccessKeyId=ABCDE12345670EXAMPLE, RawSecretAccessKey=DXjSUawnel2fr6SKC7G25CNxTyWKE5PF9XX6H/u9pSo="
Salida:
{ "CustomKeyStoreId": cks-2234567890abcdef0 }
Para obtener más información, consulte Creación de un almacén de claves externo en la Guía para desarrolladores del Servicio de administración de AWS claves.
Ejemplo 3: Para crear un almacén de claves externo con conectividad a VPC Endpoint Service
En el siguiente
create-custom-key-store
ejemplo, se crea un almacén de claves externo (XKS) que utiliza un Amazon VPC Endpoint Service para comunicarse AWS KMS.NOTE: Si utiliza la AWS CLI versión 1.0, ejecute el siguiente comando antes de especificar un parámetro con un HTTPS valor HTTP o, como el XksProxyUriEndpoint parámetro.
aws configure set
cli_follow_urlparam
false
De lo contrario, la AWS CLI versión 1.0 reemplaza el valor del parámetro por el contenido que se encuentra en esa URI dirección.
aws kms create-custom-key-store \ --custom-key-store-name
ExampleVPCEndpointXKS
\ --custom-key-store-typeEXTERNAL_KEY_STORE
\ --xks-proxy-connectivityVPC_ENDPOINT_SERVICE
\ --xks-proxy-uri-endpoint"https://myproxy-private.xks.example.com"
\ --xks-proxy-uri-path"/kms/xks/v1"
\ --xks-proxy-vpc-endpoint-service-name"com.amazonaws.vpce.us-east-1.vpce-svc-example1"
\ --xks-proxy-authentication-credential"AccessKeyId=ABCDE12345670EXAMPLE, RawSecretAccessKey=DXjSUawnel2fr6SKC7G25CNxTyWKE5PF9XX6H/u9pSo="
Salida:
{ "CustomKeyStoreId": cks-3234567890abcdef0 }
Para obtener más información, consulte Creación de un almacén de claves externo en la Guía para desarrolladores del Servicio de administración de AWS claves.
-
Para API obtener más información, consulte CreateCustomKeyStore
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar create-grant
.
- AWS CLI
-
Creación de una concesión
En el siguiente
create-grant
ejemplo, se crea una concesión que permite alexampleUser
usuario utilizar eldecrypt
comando de la KMS tecla de1234abcd-12ab-34cd-56ef-1234567890ab
ejemplo. La entidad principal que se va a dar de baja es el roladminRole
. La concesión utiliza la limitación de concesiónEncryptionContextSubset
para permitir este permiso solo cuando el contexto de cifrado de la solicituddecrypt
incluye un par clave-valor"Department": "IT"
.aws kms create-grant \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --grantee-principalarn:aws:iam::123456789012:user/exampleUser
\ --operationsDecrypt
\ --constraintsEncryptionContextSubset={Department=IT}
\ --retiring-principalarn:aws:iam::123456789012:role/adminRole
Salida:
{ "GrantId": "1a2b3c4d2f5e69f440bae30eaec9570bb1fb7358824f9ddfa1aa5a0dab1a59b2", "GrantToken": "<grant token here>" }
Para ver información detallada sobre la concesión, utilice el comando
list-grants
.Para obtener más información, consulte Grants in AWS KMS en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte CreateGrant
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar create-key
.
- AWS CLI
-
Ejemplo 1: Para crear una KMS clave gestionada por el cliente en AWS KMS
El siguiente
create-key
ejemplo crea una KMS clave de cifrado simétrica.Para crear la KMS clave básica, una clave de cifrado simétrica, no es necesario especificar ningún parámetro. Los valores predeterminados de esos parámetros crean una clave de cifrado simétrica.
Como este comando no especifica una política de claves, la KMS clave obtiene la política de claves predeterminada para las claves creadas mediante programación. KMS Utilice el comando
get-key-policy
para ver la política de claves. Utilice el comandoput-key-policy
para cambiar la política de claves.aws kms create-key
El
create-key
comando devuelve los metadatos de la clave, incluidos el ID de la clave y ARN la nueva KMS clave. Puede utilizar estos valores para identificar la KMS clave en otras AWS KMS operaciones. La salida no incluye las etiquetas. Para ver las etiquetas de una KMS clave, utilice lalist-resource-tags command
.Salida:
{ "KeyMetadata": { "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2017-07-05T14:04:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "Description": "", "Enabled": true, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "AWS_KMS" "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }
Nota: El
create-key
comando no permite especificar un alias. Para crear un alias para la nueva KMS clave, utilice elcreate-alias
comando.Para obtener más información, consulte Creación de claves en la Guía para desarrolladores de AWS Key Management Service.
Ejemplo 2: Para crear una RSA KMS clave asimétrica para el cifrado y el descifrado
El siguiente
create-key
ejemplo crea una KMS clave que contiene un par de RSA claves asimétricas para el cifrado y el descifrado.aws kms create-key \ --key-spec
RSA_4096
\ --key-usageENCRYPT_DECRYPT
Salida:
{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2021-04-05T14:04:55-07:00", "CustomerMasterKeySpec": "RSA_4096", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "RSA_4096", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "AWS_KMS" } }
Para obtener más información, consulte Claves asimétricas AWS KMS en la Guía para desarrolladores del Servicio de administración de AWS claves.
Ejemplo 3: Para crear una KMS clave de curva elíptica asimétrica para la firma y la verificación
Para crear una KMS clave asimétrica que contenga un ECC par de claves de curva elíptica asimétrica () para la firma y la verificación. El
--key-usage
parámetro es obligatorio aunqueSIGN_VERIFY
sea el único valor válido para las claves. ECC KMSaws kms create-key \ --key-spec
ECC_NIST_P521
\ --key-usageSIGN_VERIFY
Salida:
{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2019-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "ECC_NIST_P521", "Description": "", "Enabled": true, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "ECC_NIST_P521", "KeyState": "Enabled", "KeyUsage": "SIGN_VERIFY", "MultiRegion": false, "Origin": "AWS_KMS", "SigningAlgorithms": [ "ECDSA_SHA_512" ] } }
Para obtener más información, consulte Claves asimétricas AWS KMS en la Guía para desarrolladores del Servicio de administración de AWS claves.
Ejemplo 4: Para crear una clave HMAC KMS
El siguiente
create-key
ejemplo crea una clave de 384 bits HMACKMS. ElGENERATE_VERIFY_MAC
valor del--key-usage
parámetro es obligatorio aunque sea el único valor válido para HMAC KMS las claves.aws kms create-key \ --key-spec
HMAC_384
\ --key-usageGENERATE_VERIFY_MAC
Salida:
{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2022-04-05T14:04:55-07:00", "CustomerMasterKeySpec": "HMAC_384", "Description": "", "Enabled": true, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "HMAC_384", "KeyState": "Enabled", "KeyUsage": "GENERATE_VERIFY_MAC", "MacAlgorithms": [ "HMAC_SHA_384" ], "MultiRegion": false, "Origin": "AWS_KMS" } }
Para obtener más información, consulte HMAClas claves AWS KMS en la Guía AWS para desarrolladores del Servicio de administración de claves.
Ejemplo 4: Para crear una clave principal KMS multirregional
En el siguiente ejemplo de
create-key
se crea una clave principal de cifrado simétrica de varias regiones. Como los valores predeterminados de todos los parámetros crean una clave de cifrado simétrica, solo se necesita el--multi-region
parámetro para esta KMS clave. En AWS CLI, para indicar que un parámetro booleano es verdadero, simplemente especifique el nombre del parámetro.aws kms create-key \ --multi-region
Salida:
{ "KeyMetadata": { "Arn": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab", "AWSAccountId": "111122223333", "CreationDate": "2021-09-02T016:15:21-09:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "mrk-1234abcd12ab34cd56ef12345678990ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": true, "MultiRegionConfiguration": { "MultiRegionKeyType": "PRIMARY", "PrimaryKey": { "Arn": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab", "Region": "us-west-2" }, "ReplicaKeys": [] }, "Origin": "AWS_KMS" } }
Para obtener más información, consulte Asymmetric Keys in AWS KMS en la Guía para desarrolladores del servicio de administración de AWS claves.
Ejemplo 5: Para crear una KMS clave para el material clave importado
En el siguiente
create-key
ejemplo se crea una KMS clave sin material clave. Cuando se complete la operación, puede importar su propio material clave a la KMS clave. Para crear esta KMS clave, defina el--origin
parámetro enEXTERNAL
.aws kms create-key \ --origin
EXTERNAL
Salida:
{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2019-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "Description": "", "Enabled": false, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "PendingImport", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "EXTERNAL" } }
Para obtener más información, consulte Importación de material clave en AWS KMS claves en la Guía AWS para desarrolladores del Servicio de administración de claves.
Ejemplo 6: Para crear una KMS clave en un almacén de HSM claves en AWS la nube
El siguiente
create-key
ejemplo crea y crea una KMS clave en el almacén de HSM claves de AWS Cloud especificado. La operación crea la KMS clave y sus metadatos AWS KMS y crea el material clave en el HSM clúster de AWS Cloud asociado al almacén de claves personalizado. Los parámetros--custom-key-store-id
y--origin
son obligatorios.aws kms create-key \ --origin
AWS_CLOUDHSM
\ --custom-key-store-idcks-1234567890abcdef0
Salida:
{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CloudHsmClusterId": "cluster-1a23b4cdefg", "CreationDate": "2019-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "CustomKeyStoreId": "cks-1234567890abcdef0", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "AWS_CLOUDHSM" } }
Para obtener más información, consulta los almacenes de HSM claves en la AWS nube en la Guía para desarrolladores del servicio de administración de AWS claves.
Ejemplo 7: Para crear una KMS clave en un almacén de claves externo
El siguiente
create-key
ejemplo crea una KMS clave en el almacén de claves externo especificado. Los parámetros--custom-key-store-id
,--origin
y--xks-key-id
son obligatorios en este comando.El parámetro
--xks-key-id
especifica el ID de una clave de cifrado simétrica existente en el administrador de claves externo. Esta clave sirve como material de clave externa para la KMS clave. El valor del--origin
parámetro debe serEXTERNAL_KEY_STORE
. Elcustom-key-store-id
parámetro debe identificar un almacén de claves externo que esté conectado a su proxy de almacén de claves externo.aws kms create-key \ --origin EXTERNAL_KEY_STORE \ --custom-key-store-id cks-9876543210fedcba9 \ --xks-key-id bb8562717f809024
Salida:
{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2022-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "CustomKeyStoreId": "cks-9876543210fedcba9", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "EXTERNAL_KEY_STORE", "XksKeyConfiguration": { "Id": "bb8562717f809024" } } }
Para obtener más información, consulte Almacenes de claves externos en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte CreateKey
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar decrypt
.
- AWS CLI
-
Ejemplo 1: Para descifrar un mensaje cifrado con una KMS clave simétrica (Linux y macOS)
El siguiente ejemplo de
decrypt
comando muestra la forma recomendada de descifrar datos con el. AWS CLI Esta versión muestra cómo descifrar datos con una clave simétricaKMS.Proporcione el texto cifrado de un archivo. En el valor del
--ciphertext-blob
parámetro, utilice elfileb://
prefijo, que indica que debe leer los datos de un archivo CLI binario. Si el archivo no se encuentra en el directorio actual, escriba la ruta completa al archivo. Para obtener más información sobre la lectura de los valores de los AWS CLI AWS CLI parámetros de un archivo, consulte Carga de parámetros desde un archivo < https://docs.aws.amazon.com/cli/ latest/userguide/cli - usage-parameters-file .html> en la Guía del usuario de la interfaz de línea de AWS comandos y Prácticas recomendadas para los parámetros de archivos locales< https://aws.amazon.com/blogs/ developer/ best-practices-for-local -file-parameters/> en el blog de herramientas de línea de AWS comandos .Especifique la KMS clave para descifrar el texto cifrado. El--key-id
parámetro no es necesario cuando se descifra con una KMS clave simétrica. AWS KMSpuede obtener el identificador de KMS clave de la clave que se utilizó para cifrar los datos de los metadatos del texto cifrado. Sin embargo, siempre se recomienda especificar la KMS clave que se está utilizando. Esta práctica garantiza el uso de la KMS clave deseada y evita que se descifre inadvertidamente un texto cifrado con una KMS clave en la que no se confíe. Solicite el resultado en texto plano como un valor de texto. El--query
parámetro le indica CLI a los que obtengan únicamente el valor del campo del resultado.Plaintext
El parámetro--output
devuelve la salida como texto. Decodifique en base64 el texto sin formato y guárdelo en un archivo. El siguiente ejemplo canaliza (|) el valor del parámetroPlaintext
a la utilidad Base64, que lo decodifica. A continuación, redirige (>) la salida descodificada al archivoExamplePlaintext
.Antes de ejecutar este comando, sustituya el identificador de clave de ejemplo por un identificador de clave válido de su cuenta. AWS
aws kms decrypt \ --ciphertext-blob
fileb://ExampleEncryptedFile
\ --key-id1234abcd-12ab-34cd-56ef-1234567890ab
\ --outputtext
\ --queryPlaintext
|
base64
\ --decode>
ExamplePlaintextFile
Este comando no genera ninguna salida. La salida del comando
decrypt
se descodifica en base64 y se guarda en un archivo.Para obtener más información, consulte Descifrar en la APIreferencia del servicio de administración de AWS claves.
Ejemplo 2: Para descifrar un mensaje cifrado con una KMS clave simétrica (línea de comandos de Windows)
El ejemplo siguiente es el mismo que el anterior, excepto que usa la utilidad
certutil
para descodificar en Base64 los datos de texto sin formato. Como se muestra en los siguientes ejemplos, este procedimiento requiere dos comandos.Antes de ejecutar este comando, sustituya el identificador de clave de ejemplo por un identificador de clave válido de su AWS cuenta.
aws kms decrypt
^
--ciphertext-blobfileb://ExampleEncryptedFile
^
--key-id1234abcd-12ab-34cd-56ef-1234567890ab
^
--outputtext
^
--queryPlaintext
>
ExamplePlaintextFile.base64
Ejecute el comando
certutil
.certutil -decode ExamplePlaintextFile.base64 ExamplePlaintextFile
Salida:
Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.
Para obtener más información, consulte Descifrar en la APIreferencia del servicio de administración de AWS claves.
Ejemplo 3: Para descifrar un mensaje cifrado con una KMS clave asimétrica (Linux y macOS)
El siguiente ejemplo de
decrypt
comando muestra cómo descifrar los datos cifrados con una RSA clave asimétrica. KMSCuando se utiliza una KMS clave asimétrica, es obligatorio el
encryption-algorithm
parámetro, que especifica el algoritmo utilizado para cifrar el texto sin formato.Antes de ejecutar este comando, sustituya la ID de clave de ejemplo por una ID de clave válida de su cuenta. AWS
aws kms decrypt \ --ciphertext-blob
fileb://ExampleEncryptedFile
\ --key-id0987dcba-09fe-87dc-65ba-ab0987654321
\ --encryption-algorithmRSAES_OAEP_SHA_256
\ --outputtext
\ --queryPlaintext
|
base64
\ --decode>
ExamplePlaintextFile
Este comando no genera ninguna salida. La salida del comando
decrypt
se descodifica en base64 y se guarda en un archivo.Para obtener más información, consulte las claves asimétricas AWS KMS en la Guía para desarrolladores del servicio de administración de AWS claves.
-
Para API obtener más información, consulte Decrypt
in AWS CLI Command Reference.
-
En el siguiente ejemplo de código se muestra cómo usar delete-alias
.
- AWS CLI
-
Para eliminar un alias AWS KMS
En el siguiente ejemplo de
delete-alias
se elimina el aliasalias/example-alias
. El nombre de alias debe empezar por alias/.aws kms delete-alias \ --alias-name
alias/example-alias
Este comando no genera ninguna salida. Utilice el comando
list-aliases
para encontrar el alias.Para obtener más información, consulte Eliminación de un alias en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte DeleteAlias
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-custom-key-store
.
- AWS CLI
-
Para eliminar un almacén de claves personalizado
En el siguiente
delete-custom-key-store
ejemplo, se elimina el almacén de claves personalizado especificado.La eliminación de un almacén de HSM claves de AWS Cloud no afecta al HSM clúster de Cloud asociado. Eliminar un almacén de claves externo no afecta al proxy del almacén de claves externo asociado, al administrador de claves externo ni a las claves externas.
NOTE: Para poder eliminar un almacén de claves personalizado, debe programar la eliminación de todas KMS las claves del almacén de claves personalizado y esperar a que se eliminen esas KMS claves. A continuación, debe desconectar el almacén de claves personalizado. Para obtener ayuda para encontrar las KMS claves en su almacén de claves personalizado, consulte Eliminar un almacén de HSM claves en AWS la nube (API) en la Guía para desarrolladores del servicio de administración de AWS claves.
delete-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0
El comando no devuelve ningún resultado. Para comprobar que se ha eliminado el almacén de claves personalizado, utilice el
describe-custom-key-stores
comando.Para obtener información sobre cómo eliminar un almacén de HSM claves AWS en la nube, consulte Eliminar un almacén de HSM claves en la AWS nube en la Guía para desarrolladores del servicio de administración de AWS claves.
Para obtener información sobre la eliminación de almacenes de claves externos, consulte Eliminar un almacén de claves externo en la Guía AWS para desarrolladores del Servicio de administración de claves.
-
Para API obtener más información, consulte DeleteCustomKeyStore
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-imported-key-material
.
- AWS CLI
-
Para eliminar el material clave importado de una KMS clave
En el siguiente
delete-imported-key-material
ejemplo, se elimina el material clave que se ha importado a una KMS clave.aws kms delete-imported-key-material \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
Este comando no genera ninguna salida. Para comprobar que se ha eliminado el material clave, utilice el
describe-key
comando para buscar un estado clave igualPendingImport
oPendingDeletion
.Para obtener más información, consulte Eliminar el material clave importado< https://docs.aws.amazon.com/kms/ latest/developerguide/importing - keys-delete-key-material .html> en la Guía para desarrolladores del servicio de administración de AWS claves.
-
Para obtener API más información, consulte la Referencia de comandos DeleteImportedKeyMaterial
.AWS CLI
-
En el siguiente ejemplo de código se muestra cómo usar derive-shared-secret
.
- AWS CLI
-
Para derivar un secreto compartido
En el siguiente
derive-shared-secret
ejemplo, se obtiene un secreto compartido mediante un algoritmo de acuerdo de claves.Debe utilizar una curva elíptica NIST asimétrica recomendada (ECC) o un par de KMS claves SM2 (solo para regiones de China) con un
KeyUsage
valor deKEY_AGREEMENT
to call. DeriveSharedSecretaws kms derive-shared-secret \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --key-agreement-algorithmECDH
\ --public-key"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag"
Salida:
{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "SharedSecret": "MEYCIQCKZLWyTk5runarx6XiAkU9gv3lbwPO/pHa+DXFehzdDwIhANwpsIV2g/9SPWLLsF6p/hiSskuIXMTRwqrMdVKWTMHG", "KeyAgreementAlgorithm": "ECDH", "KeyOrigin": "AWS_KMS" }
Para obtener más información, consulte la referencia del DeriveSharedSecretservicio de administración de AWS claves. API
-
Para API obtener más información, consulte DeriveSharedSecret
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar describe-custom-key-stores
.
- AWS CLI
-
Ejemplo 1: Para obtener detalles sobre un almacén de HSM claves AWS en la nube
En el siguiente
describe-custom-key-store
ejemplo, se muestran detalles sobre el almacén de HSM claves de AWS Cloud especificado. El comando es el mismo para todos los tipos de almacenes de claves personalizados, pero el resultado difiere según el tipo de almacén de claves y, en el caso de un almacén de claves externo, su opción de conectividad.De forma predeterminada, este comando muestra información sobre todos los almacenes de claves personalizados de la cuenta y la región. Para mostrar información sobre un almacén de claves personalizadas concreto, utilice el
custom-key-store-id
parámetrocustom-key-store-name
o.aws kms describe-custom-key-stores \ --custom-key-store-name
ExampleCloudHSMKeyStore
El resultado de este comando incluye detalles útiles sobre el almacén de HSM claves de AWS Cloud, incluido su estado de conexión (
ConnectionState
). Si el estado de la conexión esFAILED
, el resultado incluye unConnectionErrorCode
campo que describe el problema.Salida:
{ "CustomKeyStores": [ { "CloudHsmClusterId": "cluster-1a23b4cdefg", "ConnectionState": "CONNECTED", "CreationDate": "2022-04-05T14:04:55-07:00", "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleExternalKeyStore", "TrustAnchorCertificate": "<certificate appears here>" } ] }
Para obtener más información, consulte Visualización de un almacén de HSM claves en la AWS nube en la Guía para desarrolladores del servicio de administración de AWS claves.
Ejemplo 2: Para obtener detalles sobre un almacén de claves externo con conectividad de punto final público
En el siguiente
describe-custom-key-store
ejemplo, se muestran detalles sobre el almacén de claves externo especificado. El comando es el mismo para todos los tipos de almacenes de claves personalizados, pero el resultado difiere según el tipo de almacén de claves y, en el caso de un almacén de claves externo, su opción de conectividad.De forma predeterminada, este comando muestra información sobre todos los almacenes de claves personalizados de la cuenta y la región. Para mostrar información sobre un almacén de claves personalizadas concreto, utilice el
custom-key-store-id
parámetrocustom-key-store-name
o.aws kms describe-custom-key-stores \ --custom-key-store-id
cks-9876543210fedcba9
El resultado de este comando incluye detalles útiles sobre el almacén de claves externo, incluido su estado de conexión (
ConnectionState
). Si el estado de la conexión esFAILED
, el resultado incluye unConnectionErrorCode
campo que describe el problema.Salida:
{ "CustomKeyStores": [ { "CustomKeyStoreId": "cks-9876543210fedcba9", "CustomKeyStoreName": "ExampleXKS", "ConnectionState": "CONNECTED", "CreationDate": "2022-12-02T07:48:55-07:00", "CustomKeyStoreType": "EXTERNAL_KEY_STORE", "XksProxyConfiguration": { "AccessKeyId": "ABCDE12345670EXAMPLE", "Connectivity": "PUBLIC_ENDPOINT", "UriEndpoint": "https://myproxy.xks.example.com", "UriPath": "/example-prefix/kms/xks/v1" } } ] }
Para obtener más información, consulte Visualización de un almacén de claves externo en la Guía AWS para desarrolladores del Servicio de administración de claves.
Ejemplo 3: Para obtener detalles sobre un almacén de claves externo con conectividad a VPC Endpoint Service
En el siguiente
describe-custom-key-store
ejemplo, se muestran detalles sobre el almacén de claves externo especificado. El comando es el mismo para todos los tipos de almacenes de claves personalizados, pero el resultado difiere según el tipo de almacén de claves y, en el caso de un almacén de claves externo, su opción de conectividad.De forma predeterminada, este comando muestra información sobre todos los almacenes de claves personalizados de la cuenta y la región. Para mostrar información sobre un almacén de claves personalizadas concreto, utilice el
custom-key-store-id
parámetrocustom-key-store-name
o.aws kms describe-custom-key-stores \ --custom-key-store-id
cks-2234567890abcdef0
El resultado de este comando incluye detalles útiles sobre el almacén de claves externo, incluido su estado de conexión (
ConnectionState
). Si el estado de la conexión esFAILED
, el resultado incluye unConnectionErrorCode
campo que describe el problema.Salida:
{ "CustomKeyStores": [ { "CustomKeyStoreId": "cks-3234567890abcdef0", "CustomKeyStoreName": "ExampleVPCExternalKeyStore", "ConnectionState": "CONNECTED", "CreationDate": "2022-12-22T07:48:55-07:00", "CustomKeyStoreType": "EXTERNAL_KEY_STORE", "XksProxyConfiguration": { "AccessKeyId": "ABCDE12345670EXAMPLE", "Connectivity": "VPC_ENDPOINT_SERVICE", "UriEndpoint": "https://myproxy-private.xks.example.com", "UriPath": "/kms/xks/v1", "VpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-example1" } } ] }
Para obtener más información, consulte Visualización de un almacén de claves externo en la Guía AWS para desarrolladores del Servicio de administración de claves.
-
Para API obtener más información, consulte DescribeCustomKeyStores
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar describe-key
.
- AWS CLI
-
Ejemplo 1: Para encontrar información detallada sobre una KMS clave
En el siguiente
describe-key
ejemplo, se obtiene información detallada sobre la clave AWS gestionada de Amazon S3 en la cuenta y la región de ejemplo. Puede usar este comando para obtener detalles sobre las claves AWS administradas y las claves administradas por el cliente.Para especificar la KMS clave, utilice el
key-id
parámetro. En este ejemplo se utiliza un valor de nombre de alias, pero puede utilizar un identificador de clave, una claveARN, un nombre de alias o un alias ARN en este comando.aws kms describe-key \ --key-id
alias/aws/s3
Salida:
{ "KeyMetadata": { "AWSAccountId": "846764612917", "KeyId": "b8a9477d-836c-491f-857e-07937918959b", "Arn": "arn:aws:kms:us-west-2:846764612917:key/b8a9477d-836c-491f-857e-07937918959b", "CreationDate": 2017-06-30T21:44:32.140000+00:00, "Enabled": true, "Description": "Default KMS key that protects my S3 objects when no other key is defined", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "AWS", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }
Para obtener más información, consulte Visualización de claves en la Guía para desarrolladores de AWS Key Management Service.
Ejemplo 2: Para obtener detalles sobre una clave RSA asimétrica KMS
En el siguiente
describe-key
ejemplo, se obtiene información detallada sobre una RSA KMS clave asimétrica utilizada para la firma y la verificación.aws kms describe-key \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
Salida:
{ "KeyMetadata": { "AWSAccountId": "111122223333", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2019-12-02T19:47:14.861000+00:00", "CustomerMasterKeySpec": "RSA_2048", "Enabled": false, "Description": "", "KeyState": "Disabled", "Origin": "AWS_KMS", "MultiRegion": false, "KeyManager": "CUSTOMER", "KeySpec": "RSA_2048", "KeyUsage": "SIGN_VERIFY", "SigningAlgorithms": [ "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512" ] } }
Ejemplo 3: Obtención de detalles sobre una clave de réplica de varias regiones
En el siguiente ejemplo de
describe-key
se obtienen los metadatos de una clave de réplica de varias regiones. Esta clave de varias regiones es una clave de cifrado simétrica. La salida de un comandodescribe-key
para cualquier clave de varias regiones devuelve información sobre la clave principal y todas sus réplicas.aws kms describe-key \ --key-id
arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab
Salida:
{ "KeyMetadata": { "MultiRegion": true, "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "CreationDate": "2021-06-28T21:09:16.114000+00:00", "Description": "", "Enabled": true, "KeyId": "mrk-1234abcd12ab34cd56ef1234567890ab", "KeyManager": "CUSTOMER", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "Origin": "AWS_KMS", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegionConfiguration": { "MultiRegionKeyType": "PRIMARY", "PrimaryKey": { "Arn": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "us-west-2" }, "ReplicaKeys": [ { "Arn": "arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "eu-west-1" }, { "Arn": "arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "ap-northeast-1" }, { "Arn": "arn:aws:kms:sa-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "sa-east-1" } ] } } }
Ejemplo 4: Para obtener detalles sobre una clave HMAC KMS
En el siguiente
describe-key
ejemplo se obtiene información detallada sobre una HMAC KMS clave.aws kms describe-key \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
Salida:
{ "KeyMetadata": { "AWSAccountId": "123456789012", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Arn": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2022-04-03T22:23:10.194000+00:00", "Enabled": true, "Description": "Test key", "KeyUsage": "GENERATE_VERIFY_MAC", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "HMAC_256", "MacAlgorithms": [ "HMAC_SHA_256" ], "MultiRegion": false } }
-
Para API obtener más información, consulte DescribeKey
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar disable-key-rotation
.
- AWS CLI
-
Para deshabilitar la rotación automática de una KMS tecla
El siguiente
disable-key-rotation
ejemplo desactiva la rotación automática de una KMS clave gestionada por el cliente. Para volver a activar la rotación automática, utilice elenable-key-rotation
comando.aws kms disable-key-rotation \ --key-id
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Este comando no genera ninguna salida. Para comprobar que la rotación automática de la KMS tecla está desactivada, utilice el
get-key-rotation-status
comando.Para obtener más información, consulte Rotación de claves en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte DisableKeyRotation
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar disable-key
.
- AWS CLI
-
Para deshabilitar temporalmente una KMS tecla
En el siguiente ejemplo, se utiliza el
disable-key
comando para deshabilitar una KMS clave gestionada por el cliente. Para volver a activar la KMS clave, utilice elenable-key
comando.aws kms disable-key \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
Este comando no genera ninguna salida.
Para obtener más información, consulte Habilitar y deshabilitar claves en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte DisableKey
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar disconnect-custom-key-store
.
- AWS CLI
-
Para desconectar un almacén de claves personalizado
En el siguiente
disconnect-custom-key-store
ejemplo, se desconecta un almacén de claves personalizado de su HSM clúster de AWS nube. Puedes desconectar un almacén de claves para solucionar un problema, actualizar su configuración o impedir que las claves del almacén de KMS claves se utilicen en operaciones criptográficas.Este comando es el mismo para todos los almacenes de claves personalizados, incluidos los almacenes de claves AWS en la nube y los almacenes de HSM claves externos.
Antes de ejecutar este comando, reemplace el ID del almacén de claves personalizado de ejemplo por uno válido.
$ aws kms disconnect-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0
Este comando no produce ningún resultado. Compruebe que el comando ha sido efectivo y utilícelo.
describe-custom-key-stores
Para obtener más información sobre cómo desconectar un almacén de HSM claves AWS en la nube, consulte Conexión y desconexión de un almacén de HSM claves en AWS la nube en la Guía para desarrolladores del servicio de administración de AWS claves.
Para obtener más información sobre cómo desconectar un almacén de claves externo, consulte Conectar y desconectar un almacén de claves externo en la Guía para desarrolladores del servicio de administración de AWS claves.
-
Para API obtener más información, consulte la Referencia DisconnectCustomKeyStore
de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar enable-key-rotation
.
- AWS CLI
-
Para activar la rotación automática de una KMS tecla
El siguiente
enable-key-rotation
ejemplo permite la rotación automática de una KMS clave gestionada por el cliente con un período de rotación de 180 días. La KMS clave se rotará un año (aproximadamente 365 días) a partir de la fecha en que se complete este comando y cada año a partir de entonces.El
--key-id
parámetro identifica la KMS clave. En este ejemplo se utiliza un ARN valor clave, pero se puede utilizar el identificador de clave o el ARN de la KMS clave. El--rotation-period-in-days
parámetro especifica el número de días entre cada fecha de rotación. Especifique un valor comprendido entre 90 y 2560 días. El valor predeterminado es 365 días si no se especifica ningún valor.aws kms enable-key-rotation \ --key-id
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
\ --rotation-period-in-days180
Este comando no genera ninguna salida. Para comprobar que la KMS clave está habilitada, utilice el
get-key-rotation-status
comando.Para obtener más información, consulte Rotación de claves en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte EnableKeyRotation
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar enable-key
.
- AWS CLI
-
Para activar una KMS clave
En el siguiente ejemplo de
enable-key
se habilita una clave administrada por el cliente. Puede utilizar un comando como este para activar una KMS tecla que haya desactivado temporalmente mediante eldisable-key
comando. También puede usarlo para habilitar una KMS tecla que esté deshabilitada porque estaba programada para su eliminación y la eliminación se canceló.Para especificar la KMS clave, utilice el
key-id
parámetro. En este ejemplo se utiliza un valor de identificador de clave, pero puede utilizar un identificador o un ARN valor de clave en este comando.Antes de ejecutar este comando, reemplace el ID de claves de ejemplo por uno válido.
aws kms enable-key \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
Este comando no genera ninguna salida. Para comprobar que la KMS clave está habilitada, utilice el
describe-key
comando. Consulte los valores de los camposKeyState
yEnabled
en la salidadescribe-key
.Para obtener más información, consulte Habilitar y deshabilitar claves en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte EnableKey
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar encrypt
.
- AWS CLI
-
Ejemplo 1: Cifrado del contenido de un archivo en Linux o MacOS
El siguiente
encrypt
comando muestra la forma recomendada de cifrar datos con el AWS CLI.aws kms encrypt \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --plaintextfileb://ExamplePlaintextFile
\ --outputtext
\ --queryCiphertextBlob
|
base64
\ --decode>
ExampleEncryptedFile
El comando hace varias cosas:
Utiliza el parámetro
--plaintext
para indicar los datos que se van a cifrar. El valor de este parámetro debe estar codificado en base64. El valor delplaintext
parámetro debe estar codificado en base64 o debe utilizar elfileb://
prefijo, que le indica que lea los datos binarios del archivo. Si el AWS CLI archivo no está en el directorio actual, escriba la ruta completa del archivo. Por ejemplo:fileb:///var/tmp/ExamplePlaintextFile
ofileb://C:\Temp\ExamplePlaintextFile
. Para obtener más información sobre la lectura de los valores de los AWS CLI parámetros de un archivo, consulte Carga de parámetros desde un archivo en la AWS Guía del usuario de la interfaz de línea de AWS comandos y en el blog Prácticas recomendadas para los parámetros de archivos localesen la herramienta de línea de comandos. Utiliza --query
los parámetros--output
y para controlar la salida del comando. Estos parámetros extraen los datos cifrados, denominados texto cifrado, de la salida del comando. Para obtener más información sobre el control de la salida, consulte Control Resultado del comando en la guía del usuario de la interfaz de línea de AWS comandos. Utiliza labase64
utilidad para decodificar el resultado extraído en datos binarios. El texto cifrado que devuelve unencrypt
comando correcto es texto codificado en base64. Debe decodificar este texto AWS CLI para poder utilizarlo para descifrarlo.Guarda el texto cifrado binario en un archivo.La parte final del comando () guarda el texto cifrado binario en un archivo para facilitar el descifrado.> ExampleEncryptedFile
Para ver un comando de ejemplo que utiliza el para descifrar datos, consulte los ejemplos de descifrado. AWS CLIEjemplo 2: Utilización del AWS CLI para cifrar datos en Windows
Este ejemplo es igual al anterior, excepto que utiliza la herramienta
certutil
en lugar debase64
. Como se muestra en el siguiente ejemplo, este procedimiento requiere dos comandos.aws kms encrypt \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --plaintextfileb://ExamplePlaintextFile
\ --outputtext
\ --queryCiphertextBlob
>
C:\Temp\ExampleEncryptedFile.base64certutil
-decode
C:\Temp\ExampleEncryptedFile.base64 C:\Temp\ExampleEncryptedFileEjemplo 3: Cifrar con una clave asimétrica KMS
El siguiente
encrypt
comando muestra cómo cifrar texto sin formato con una clave asimétrica. KMS El parámetro--encryption-algorithm
es obligatorio. Como en todos losencrypt
CLI comandos, elplaintext
parámetro debe estar codificado en base64 o debe utilizarse elfileb://
prefijo, que indica que debe leer los datos binarios del archivo AWS CLI.aws kms encrypt \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --encryption-algorithmRSAES_OAEP_SHA_256
\ --plaintextfileb://ExamplePlaintextFile
\ --outputtext
\ --queryCiphertextBlob
|
base64
\ --decode>
ExampleEncryptedFile
Este comando no genera ninguna salida.
-
Para API obtener más información, consulte Cifrar
en la referencia de comandos.AWS CLI
-
En el siguiente ejemplo de código se muestra cómo usar generate-data-key-pair-without-plaintext
.
- AWS CLI
-
Para generar un par de ECC NIST claves de datos asimétricas P384
El siguiente
generate-data-key-pair-without-plaintext
ejemplo solicita un par de claves ECC NIST P384 para su uso fuera de AWS.El comando devuelve una clave pública de texto simple y una copia de la clave privada cifrada con la clave especificadaKMS. No devuelve una clave privada de texto simple. Puede almacenar de forma segura la clave privada cifrada con los datos cifrados y llamar AWS KMS para descifrar la clave privada cuando necesite utilizarla.
Para solicitar un key pair de claves de datos asimétricas ECC NIST P384, utilice el
key-pair-spec
parámetro con un valor de.ECC_NIST_P384
La KMS clave que especifique debe ser una KMS clave de cifrado simétrica, es decir, una KMS clave con un
KeySpec
valor de.SYMMETRIC_DEFAULT
NOTE: Los valores de la salida de este ejemplo están truncados para mostrarlos.
aws kms generate-data-key-pair-without-plaintext \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --key-pair-specECC_NIST_P384
Salida:
{ "PrivateKeyCiphertextBlob": "AQIDAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAFFxmiD134doUDzMGmfCEtcAAAHaTCCB2UGCSqGSIb3DQEHBqCCB1...", "PublicKey": "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3A3eGMyPrvSn7+LdlJE1oUoQV5HpEuHAVbdOyND+NmYDH/mL1OSIEuLrcdZ5hrMH4pk83r40l...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyPairSpec": "ECC_NIST_P384" }
Los valores
PublicKey
yPrivateKeyCiphertextBlob
se devuelven en formato codificado en base64.Para obtener más información, consulte los pares de claves de datos en la Guía para desarrolladores del Servicio de administración de AWS claves.
-
Para API obtener más información, consulte GenerateDataKeyPairWithoutPlaintext
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar generate-data-key-pair
.
- AWS CLI
-
Para generar un par de claves de datos RSA asimétricas de 2048 bits
El siguiente
generate-data-key-pair
ejemplo solicita un par de claves de datos RSA asimétricas de 2048 bits para su uso fuera de. AWS El comando devuelve una clave pública de texto simple y una clave privada de texto simple para su uso y eliminación inmediatos, así como una copia de la clave privada cifrada con la clave especificada. KMS Puede almacenar de forma segura la clave privada cifrada con los datos cifrados.Para solicitar un par de claves de datos RSA asimétricas de 2048 bits, utilice el
key-pair-spec
parámetro con un valor de.RSA_2048
La KMS clave que especifique debe ser una clave de cifrado KMS simétrica, es decir, una KMS clave con un valor de.
KeySpec
SYMMETRIC_DEFAULT
NOTE: Los valores de la salida de este ejemplo están truncados para mostrarlos.
aws kms generate-data-key-pair \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --key-pair-specRSA_2048
Salida:
{ "PrivateKeyCiphertextBlob": "AQIDAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAFFxmiD134doUDzMGmfCEtcAAAHaTCCB2UGCSqGSIb3DQEHBqCCB1...", "PrivateKeyPlaintext": "MIIG/QIBADANBgkqhkiG9w0BAQEFAASCBucwggbjAgEAAoIBgQDcDd4YzI+u9Kfv4t2UkTWhShBXkekS4cBVt07I0P42ZgMf+YvU5IgS4ut...", "PublicKey": "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3A3eGMyPrvSn7+LdlJE1oUoQV5HpEuHAVbdOyND+NmYDH/mL1OSIEuLrcdZ5hrMH4pk83r40l...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyPairSpec": "RSA_2048" }
Los valores
PublicKey
PrivateKeyPlaintext
, yPrivateKeyCiphertextBlob
se devuelven en formato codificado en base64.Para obtener más información, consulte los pares de claves de datos en la Guía para desarrolladores del Servicio de administración de AWS claves.
-
Para API obtener más información, consulte GenerateDataKeyPair
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar generate-data-key-without-plaintext
.
- AWS CLI
-
Generación de una clave de datos simétrica de 256 bits sin una clave de texto no cifrado
En el siguiente ejemplo de
generate-data-key-without-plaintext
se solicita una copia cifrada de una clave de datos simétrica de 256 bits para usarla fuera de AWS. Puede llamar AWS KMS para descifrar la clave de datos cuando esté listo para usarla.Para solicitar una clave de datos de 256 bits, utilice el parámetro
key-spec
con un valor deAES_256
. Para solicitar una clave de datos de 128 bits, utilice el parámetrokey-spec
con un valor deAES_128
. Para el resto longitudes de clave de datos, utilice el parámetronumber-of-bytes
.La KMS clave que especifique debe ser una KMS clave de cifrado simétrica, es decir, una KMS clave con un valor de especificación de clave de _. SYMMETRIC DEFAULT
aws kms generate-data-key-without-plaintext \ --key-id
"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
\ --key-specAES_256
Salida:
{ "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogL", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }
CiphertextBlob
(clave de datos cifrada) se devuelve en formato codificado en base64.Para obtener más información, consulte Claves de datos en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte la Referencia GenerateDataKeyWithoutPlaintext
de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar generate-data-key
.
- AWS CLI
-
Ejemplo 1: Generación de una clave de datos simétrica de 256 bits
En el siguiente
generate-data-key
ejemplo, se solicita una clave de datos simétrica de 256 bits para utilizarla fuera de. AWS El comando devuelve una clave de datos en texto plano para su uso y eliminación inmediatos, y una copia de esa clave de datos cifrada con la clave especificada. KMS Puede almacenar de forma segura la clave de datos cifrada con los datos cifrados.Para solicitar una clave de datos de 256 bits, utilice el parámetro
key-spec
con un valor deAES_256
. Para solicitar una clave de datos de 128 bits, utilice el parámetrokey-spec
con un valor deAES_128
. Para el resto longitudes de clave de datos, utilice el parámetronumber-of-bytes
.La KMS clave que especifique debe ser una KMS clave de cifrado simétrica, es decir, una KMS clave con un valor de especificación de clave de _. SYMMETRIC DEFAULT
aws kms generate-data-key \ --key-id
alias/ExampleAlias
\ --key-specAES_256
Salida:
{ "Plaintext": "VdzKNHGzUAzJeRBVY+uUmofUGGiDzyB3+i9fVkh3piw=", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogLqPWZconQhwHAIBEIA7d9AC7GeJJM34njQvg4Wf1d5sw0NIo1MrBqZa+YdhV8MrkBQPeac0ReRVNDt9qleAt+SHgIRF8P0H+7U=" }
Plaintext
(clave de datos de texto sin formato) yCiphertextBlob
(clave de datos cifrada) se devuelven en formato codificado en base64.Para obtener más información, consulte Data keys < https://docs.aws.amazon.com/kms/ latest/developerguide/concepts .html #data -keys en la Guía para desarrolladores del servicio de administración de AWS claves.
Ejemplo 2: Generación de una clave de datos simétrica de 512 bits
En el siguiente ejemplo de
generate-data-key
se solicita una clave de datos simétrica de 512 bits para cifrado y descifrado. El comando devuelve una clave de datos en texto plano para su uso y eliminación inmediatos, y una copia de esa clave de datos cifrada con la clave especificada. KMS Puede almacenar de forma segura la clave de datos cifrada con los datos cifrados.Para solicitar una longitud de clave distinta de 128 o 256 bits, utilice el parámetro
number-of-bytes
. Para solicitar una clave de datos de 512 bits, en el siguiente ejemplo se utiliza el parámetronumber-of-bytes
con un valor de 64 (bytes).La KMS clave que especifique debe ser una KMS clave de cifrado simétrica, es decir, una KMS clave con un valor de especificación de clave de _. SYMMETRIC DEFAULT
NOTE: Los valores de la salida de este ejemplo están truncados para mostrarlos.
aws kms generate-data-key \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --number-of-bytes64
Salida:
{ "CiphertextBlob": "AQIBAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAEnX/QQNmMwDfg2korNMEc8AAACaDCCAmQGCSqGSIb3DQEHBqCCAlUwggJRAgEAMIICSgYJKoZ...", "Plaintext": "ty8Lr0Bk6OF07M2BWt6qbFdNB+G00ZLtf5MSEb4al3R2UKWGOp06njAwy2n72VRm2m7z/Pm9Wpbvttz6a4lSo9hgPvKhZ5y6RTm4OovEXiVfBveyX3DQxDzRSwbKDPk/...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }
Plaintext
(clave de datos de texto sin formato) yCiphertextBlob
(clave de datos cifrada) se devuelven en formato codificado en base64.Para obtener más información, consulte Data keys < https://docs.aws.amazon.com/kms/ latest/developerguide/concepts .html #data -keys en la Guía para desarrolladores del servicio de administración de AWS claves.
-
Para API obtener más información, consulte la Referencia GenerateDataKey
de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar generate-random
.
- AWS CLI
-
Ejemplo 1: Para generar una cadena de bytes aleatorios de 256 bits (Linux o) macOs
En el siguiente ejemplo de
generate-random
se genera una cadena de bytes aleatoria de 256 bits (32 bytes) codificada en base64. El ejemplo decodifica la cadena de bytes y la guarda en el archivo aleatorio.Al ejecutar este comando, debe usar el parámetro
number-of-bytes
para especificar la longitud del valor aleatorio en bytes.No se especifica ninguna KMS clave al ejecutar este comando. La cadena de bytes aleatorios no está relacionada con ninguna KMS clave.
De forma predeterminada, AWS KMS genera el número aleatorio. Sin embargo, si especificas un almacén de claves personalizado< https://docs.aws.amazon.com/kms/ latest/developerguide/custom - key-store-overview .html>, la cadena de bytes aleatorios se genera en el HSM clúster de AWS nube asociado al almacén de claves personalizado.
Este ejemplo utiliza los parámetros y valores siguientes:
Utiliza el
--number-of-bytes
parámetro necesario con un valor de32
para solicitar una cadena de 32 bytes (256 bits). Utiliza el--output
parámetro con un valor detext
para indicar que devuelva la AWS CLI salida como texto, en lugar deJSON. Utiliza el--query parameter
para extraer el valor de laPlaintext
propiedad de la respuesta. Canaliza (|) la salida del comando a labase64
utilidad, que decodifica la salida extraída. Utiliza el operador de redirección (>) para guardar la cadena de bytes decodificada enExampleRandom
Filer e.it usa el operador de redirección (>) para guardar el texto cifrado binario en un archivo.aws kms generate-random \ --number-of-bytes 32 \ --output text \ --query Plaintext | base64 --decode > ExampleRandom
Este comando no genera ninguna salida.
Para obtener más información, consulte la referencia del GenerateRandomservicio de administración de AWS claves. API
Ejemplo 2: Generación de un número aleatorio de 256 bits (símbolo del sistema de Windows)
En el siguiente ejemplo se utiliza el comando
generate-random
para generar una cadena de bytes aleatoria codificada en base64 de 256 bits (32 bytes). El ejemplo decodifica la cadena de bytes y la guarda en el archivo aleatorio. Este ejemplo es igual al anterior, excepto que usa la utilidadcertutil
de Windows para decodificar en base64 la cadena de bytes aleatoria antes de guardarla en un archivo.En primer lugar, genere una cadena de bytes aleatoria codificada en base64 y guárdela en un archivo temporal,
ExampleRandom.base64
.aws kms generate-random \ --number-of-bytes
32
\ --outputtext
\ --queryPlaintext
>
ExampleRandom.base64
Puesto que el resultado del comando
generate-random
se guarda en un archivo, este ejemplo no produce ningún resultado.Ahora utilice el comando
certutil -decode
para decodificar la cadena de bytes codificada en base64 del archivoExampleRandom.base64
. A continuación, guarda la cadena de bytes decodificada en el archivoExampleRandom
.certutil -decode ExampleRandom.base64 ExampleRandom
Salida:
Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.
Para obtener más información, consulte GenerateRandomla APIreferencia del servicio de administración de AWS claves.
-
Para API obtener más información, consulte GenerateRandom
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar get-key-policy
.
- AWS CLI
-
Para copiar una política de claves de una KMS clave a otra KMS
En el siguiente
get-key-policy
ejemplo, se obtiene la política de claves de una KMS clave y se guarda en un archivo de texto. A continuación, reemplaza la política de una KMS clave diferente utilizando el archivo de texto como entrada de política.Como el
--policy
parámetro deput-key-policy
requiere una cadena, debe usar la--output text
opción para devolver el resultado como una cadena de texto en lugar de hacerloJSON.aws kms get-key-policy \ --policy-name
default
\ --key-id1234abcd-12ab-34cd-56ef-1234567890ab
\ --queryPolicy
\ --outputtext
>
policy.txt
aws
kms
put-key-policy
\ --policy-namedefault
\ --key-id0987dcba-09fe-87dc-65ba-ab0987654321
\ --policyfile://policy.txt
Este comando no genera ninguna salida.
Para obtener más información, consulte PutKeyPolicyla AWS KMSAPIReferencia.
-
Para API obtener más información, consulte GetKeyPolicy
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar get-key-rotation-status
.
- AWS CLI
-
Para recuperar el estado de rotación de una KMS llave.
El siguiente
get-key-rotation-status
ejemplo devuelve información sobre el estado de rotación de la KMS clave especificada, que incluye si la rotación automática está habilitada, el período de rotación y la próxima fecha de rotación programada. Puede usar este comando en KMS las claves administradas por el cliente y en las KMS claves AWS administradas. Sin embargo, todas KMS las claves AWS gestionadas se rotan automáticamente cada año.aws kms get-key-rotation-status \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
Salida:
{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyRotationEnabled": true, "NextRotationDate": "2024-02-14T18:14:33.587000+00:00", "RotationPeriodInDays": 365 }
Para obtener más información, consulte Rotación de claves en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte GetKeyRotationStatus
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar get-parameters-for-import
.
- AWS CLI
-
Para obtener los elementos necesarios para importar material clave a una KMS clave
En el siguiente
get-parameters-for-import
ejemplo, se obtienen la clave pública y el token de importación que necesita para importar el material clave a una KMS clave. Cuando utilice elimport-key-material
comando, asegúrese de utilizar el token de importación y el material clave cifrados con la clave pública que se devolvieron en el mismoget-parameters-for-import
comando. Además, el algoritmo de empaquetado que especifique en este comando debe ser el que utilice para cifrar el material clave con la clave pública.Para especificar la KMS clave, utilice el
key-id
parámetro. En este ejemplo se utiliza un identificador de clave, pero puede utilizar un identificador de clave o una clave ARN en este comando.aws kms get-parameters-for-import \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --wrapping-algorithmRSAES_OAEP_SHA_256
\ --wrapping-key-specRSA_2048
Salida:
{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "PublicKey": "<public key base64 encoded data>", "ImportToken": "<import token base64 encoded data>", "ParametersValidTo": 1593893322.32 }
Para obtener más información, consulte Descargar la clave pública y el token de importación en la Guía para desarrolladores del Servicio de administración de AWS claves.
-
Para API obtener más información, consulte GetParametersForImport
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar get-public-key
.
- AWS CLI
-
Ejemplo 1: Para descargar la clave pública de una clave asimétrica KMS
El siguiente
get-public-key
ejemplo descarga la clave pública de una clave asimétricaKMS.Además de devolver la clave pública, el resultado incluye la información necesaria para utilizarla de forma segura fuera de ella AWS KMS, incluidos el uso de la clave y los algoritmos de cifrado compatibles.
aws kms get-public-key \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
Salida:
{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "PublicKey": "jANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAl5epvg1/QtJhxSi2g9SDEVg8QV/...", "CustomerMasterKeySpec": "RSA_4096", "KeyUsage": "ENCRYPT_DECRYPT", "EncryptionAlgorithms": [ "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256" ] }
Para obtener más información sobre el uso de KMS claves asimétricas en AWS KMS, consulte Uso de claves simétricas y asimétricas en la referencia del servicio de administración de AWS claves. API
Ejemplo 2: Para convertir una clave pública a DER formato (Linux y macOS)
El siguiente
get-public-key
ejemplo descarga la clave pública de una KMS clave asimétrica y la guarda en un DER archivo.Al utilizar el
get-public-key
comando en AWS CLI, devuelve una clave pública X.509 DER codificada en Base64. En este ejemplo, se obtiene el valor de la propiedad en forma de texto.PublicKey
Lo decodifica en Base64PublicKey
y lo guarda en el archivo.public_key.der
Eloutput
parámetro devuelve la salida como texto, en lugar de. JSON El--query
parámetro obtiene solo laPublicKey
propiedad, no las propiedades fuera de las cuales necesita usar la clave pública de forma segura AWS KMS.Antes de ejecutar este comando, sustituya el identificador de clave de ejemplo por un identificador de clave válido de su AWS cuenta.
aws kms get-public-key \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --outputtext
\ --queryPublicKey
|
base64
--decode>
public_key.der
Este comando no genera ninguna salida.
Para obtener más información sobre el uso de KMS claves asimétricas en AWS KMS, consulte Uso de claves simétricas y asimétricas en la referencia del servicio de administración de AWS claves. API
-
Para API obtener más información, consulte la Referencia de GetPublicKey
comandos AWS CLI .
-
En el siguiente ejemplo de código se muestra cómo usar import-key-material
.
- AWS CLI
-
Para importar material clave a una KMS clave
En el siguiente
import-key-material
ejemplo, se carga el material clave en una KMS clave que se creó sin material clave. El estado clave de la KMS clave debe serPendingImport
.Este comando utiliza material clave que usted cifró con la clave pública que devolvió el
get-parameters-for-import
comando. También usa el token de importación del mismoget-parameters-for-import
comando.El
expiration-model
parámetro indica que el material clave caduca automáticamente en la fecha y hora especificadas por elvalid-to
parámetro. Cuando el material clave caduca, lo AWS KMS elimina, el estado de la KMS clave cambia aPending import
y la KMS clave queda inutilizable. Para restaurar la KMS clave, debe volver a importar el mismo material clave. Para utilizar un material clave diferente, debe crear una KMS clave nueva.Antes de ejecutar este comando, sustituya el identificador de clave del ejemplo por un identificador de clave válido o una clave ARN de su AWS cuenta.
aws kms import-key-material \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --encrypted-key-materialfileb://EncryptedKeyMaterial.bin
\ --import-tokenfileb://ImportToken.bin
\ --expiration-modelKEY_MATERIAL_EXPIRES
\ --valid-to2021-09-21T19:00:00Z
Este comando no genera ninguna salida.
Para obtener más información sobre la importación de material clave, consulte Importación de material clave en la Guía AWS para desarrolladores del Servicio de administración de claves.
-
Para API obtener más información, consulte ImportKeyMaterial
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-aliases
.
- AWS CLI
-
Ejemplo 1: Para enumerar todos los alias de una AWS cuenta y una región
En el siguiente ejemplo, se utiliza el
list-aliases
comando para enumerar todos los alias de la región predeterminada de la AWS cuenta. El resultado incluye los alias asociados a las claves administradas y a KMS las claves AWS administradas por el cliente. KMSaws kms list-aliases
Salida:
{ "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/testKey", "AliasName": "alias/testKey", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/FinanceDept", "AliasName": "alias/FinanceDept", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321" }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/dynamodb", "AliasName": "alias/aws/dynamodb", "TargetKeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/ebs", "AliasName": "alias/aws/ebs", "TargetKeyId": "0987ab65-43cd-21ef-09ab-87654321cdef" }, ... ] }
Ejemplo 2: Para enumerar todos los alias de una clave concreta KMS
En el siguiente ejemplo, se utiliza el
list-aliases
comando y sukey-id
parámetro para enumerar todos los alias que están asociados a una clave concretaKMS.Cada alias está asociado a una sola KMS clave, pero una KMS clave puede tener varios alias. Este comando es muy útil porque la AWS KMS consola solo muestra un alias para cada KMS clave. Para buscar todos los alias de una KMS clave, debe usar el
list-aliases
comando.En este ejemplo se utiliza el identificador de clave de la KMS clave del
--key-id
parámetro, pero puede utilizar un identificador de clave, una claveARN, un nombre de alias o un alias ARN en este comando.aws kms list-aliases --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
Salida:
{ "Aliases": [ { "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/oregon-test-key", "AliasName": "alias/oregon-test-key" }, { "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/project121-test", "AliasName": "alias/project121-test" } ] }
Para obtener más información, consulte Uso de alias en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte ListAliases
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-grants
.
- AWS CLI
-
Para ver las concesiones en una AWS KMS clave
En el siguiente
list-grants
ejemplo, se muestran todas las concesiones de la KMS clave AWS gestionada especificada para Amazon DynamoDB en su cuenta. Esta concesión permite a DynamoDB utilizar KMS la clave en su nombre para cifrar una tabla de DynamoDB antes de escribirla en el disco. Puede usar un comando como este para ver las concesiones de las claves administradas y KMS las claves AWS administradas por el cliente en la cuenta y la KMS región. AWSEste comando usa el
key-id
parámetro con un identificador de clave para identificar la KMS clave. Puede utilizar un identificador de clave o una clave ARN para identificar la KMS clave. Para obtener el identificador de clave o ARN la clave de una KMS clave AWS gestionada, utilice ellist-aliases
comandolist-keys
o.aws kms list-grants \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
El resultado muestra que la concesión otorga a Amazon DynamoDB permiso para usar KMS la clave en operaciones criptográficas y le da permiso para ver detalles sobre KMS la clave
DescribeKey
() y para retirar grants ().RetireGrant
La restricciónEncryptionContextSubset
limita estos permisos a las solicitudes que incluyen los pares de contexto de cifrado especificados. Como resultado, los permisos de la concesión solo son efectivos en la cuenta y la tabla de DynamoDB especificadas.{ "Grants": [ { "Constraints": { "EncryptionContextSubset": { "aws:dynamodb:subscriberId": "123456789012", "aws:dynamodb:tableName": "Services" } }, "IssuingAccount": "arn:aws:iam::123456789012:root", "Name": "8276b9a6-6cf0-46f1-b2f0-7993a7f8c89a", "Operations": [ "Decrypt", "Encrypt", "GenerateDataKey", "ReEncryptFrom", "ReEncryptTo", "RetireGrant", "DescribeKey" ], "GrantId": "1667b97d27cf748cf05b487217dd4179526c949d14fb3903858e25193253fe59", "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "RetiringPrincipal": "dynamodb.us-west-2.amazonaws.com", "GranteePrincipal": "dynamodb.us-west-2.amazonaws.com", "CreationDate": "2021-05-13T18:32:45.144000+00:00" } ] }
Para obtener más información, consulte las subvenciones AWS KMS en la Guía AWS para desarrolladores de Key Management Service.
-
Para API obtener más información, consulte ListGrants
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-key-policies
.
- AWS CLI
-
Para obtener los nombres de las políticas clave de una KMS clave
En el siguiente ejemplo de
list-key-policies
se obtienen los nombres de las políticas de clave de una clave administrada por el cliente en la cuenta y la región del ejemplo. Puede usar este comando para buscar los nombres de las políticas clave para las claves AWS administradas y las claves administradas por el cliente.Este comando no resulta útil, ya que el único nombre de la política de claves válido es
default
.Para especificar la KMS clave, utilice el
key-id
parámetro. En este ejemplo se utiliza un valor de identificador de clave, pero puede utilizar un identificador de clave o una clave ARN en este comando.aws kms list-key-policies \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
Salida:
{ "PolicyNames": [ "default" ] }
Para obtener más información sobre las políticas AWS KMS clave, consulte Uso de políticas clave AWS KMS en la Guía AWS para desarrolladores del Servicio de administración de claves.
-
Para API obtener más información, consulte ListKeyPolicies
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-key-rotations
.
- AWS CLI
-
Para recuperar información sobre todas las rotaciones de materiales clave completadas
En el siguiente
list-key-rotations
ejemplo, se muestra información sobre todas las rotaciones de material clave completadas para la clave especificadaKMS.aws kms list-key-rotations \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
Salida:
{ "Rotations": [ { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "RotationDate": "2024-03-02T10:11:36.564000+00:00", "RotationType": "AUTOMATIC" }, { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "RotationDate": "2024-04-05T15:14:47.757000+00:00", "RotationType": "ON_DEMAND" } ], "Truncated": false }
Para obtener más información, consulte Rotación de claves en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte ListKeyRotations
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-keys
.
- AWS CLI
-
Para obtener las KMS claves de una cuenta y una región
En el siguiente
list-keys
ejemplo, se obtienen las KMS claves de una cuenta y una región. Este comando devuelve tanto las claves AWS administradas como las claves administradas por el cliente.aws kms list-keys
Salida:
{ "Keys": [ { "KeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }, { "KeyArn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321" }, { "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d", "KeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" } ] }
Para obtener más información, consulte Visualización de claves en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte ListKeys
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-resource-tags
.
- AWS CLI
-
Para obtener las etiquetas de una KMS clave
En el siguiente
list-resource-tags
ejemplo, se obtienen las etiquetas de una KMS clave. Para añadir o reemplazar etiquetas de recursos en KMS las claves, utilice eltag-resource
comando. El resultado muestra que esta KMS clave tiene dos etiquetas de recursos, cada una de las cuales tiene una clave y un valor.Para especificar la KMS clave, utilice el
key-id
parámetro. En este ejemplo se utiliza un valor de identificador de clave, pero puede utilizar un identificador de clave o una clave ARN en este comando.aws kms list-resource-tags \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
Salida:
{ "Tags": [ { "TagKey": "Dept", "TagValue": "IT" }, { "TagKey": "Purpose", "TagValue": "Test" } ], "Truncated": false }
Para obtener más información sobre el uso de etiquetas en AWS KMS, consulte Etiquetar claves en la Guía para desarrolladores del Servicio de administración de AWS claves.
-
Para API obtener más información, consulte ListResourceTags
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar list-retirable-grants
.
- AWS CLI
-
Para ver las subvenciones que un director puede retirar
En el siguiente
list-retirable-grants
ejemplo, se muestran todas las concesiones que elExampleAdmin
usuario puede retirar en relación con las KMS claves de una AWS cuenta y una región. Puede usar un comando como este para ver las concesiones que cualquier titular de cuenta puede retirar en relación con KMS las claves de la AWS cuenta y la región.El valor del
retiring-principal
parámetro obligatorio debe ser el nombre del recurso de Amazon (ARN) de una cuenta, usuario o rol.No puede especificar un servicio con el valor de
retiring-principal
en este comando, aunque un servicio pueda ser el principal que se retira. Para encontrar las concesiones en las que un servicio concreto es el principal que se retira, utilice ellist-grants
comando.El resultado muestra que el
ExampleAdmin
usuario tiene permiso para retirar las subvenciones en dos KMS claves diferentes de la cuenta y la región. Además del principal que se retira, la cuenta tiene permiso para retirar cualquier subvención de la cuenta.aws kms list-retirable-grants \ --retiring-principal
arn:aws:iam::111122223333:user/ExampleAdmin
Salida:
{ "Grants": [ { "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "GrantId": "156b69c63cb154aa21f59929ff19760717be8d9d82b99df53e18b94a15a5e88e", "Name": "", "CreationDate": 2021-01-14T20:17:36.419000+00:00, "GranteePrincipal": "arn:aws:iam::111122223333:user/ExampleUser", "RetiringPrincipal": "arn:aws:iam::111122223333:user/ExampleAdmin", "IssuingAccount": "arn:aws:iam::111122223333:root", "Operations": [ "Encrypt" ], "Constraints": { "EncryptionContextSubset": { "Department": "IT" } } }, { "KeyId": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", "GrantId": "8c94d1f12f5e69f440bae30eaec9570bb1fb7358824f9ddfa1aa5a0dab1a59b2", "Name": "", "CreationDate": "2021-02-02T19:49:49.638000+00:00", "GranteePrincipal": "arn:aws:iam::111122223333:role/ExampleRole", "RetiringPrincipal": "arn:aws:iam::111122223333:user/ExampleAdmin", "IssuingAccount": "arn:aws:iam::111122223333:root", "Operations": [ "Decrypt" ], "Constraints": { "EncryptionContextSubset": { "Department": "IT" } } } ], "Truncated": false }
Para obtener más información, consulte la sección Subvenciones AWS KMS en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte ListRetirableGrants
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar put-key-policy
.
- AWS CLI
-
Para cambiar la política de claves de una KMS clave
En el siguiente ejemplo de
put-key-policy
se cambia la política de claves para una clave administrada por el cliente.Para empezar, cree una política de claves y guárdela en un JSON archivo local. En este ejemplo, el archivo es
key_policy.json
. También puede especificar la política de claves como un valor de cadena del parámetropolicy
.La primera declaración de esta política clave da permiso a la AWS cuenta para usar IAM políticas que controlen el acceso a la KMS clave. La segunda sentencia otorga al
test-user
usuario permiso para ejecutar loslist-keys
comandosdescribe-key
y de la KMS tecla.Contenidos de
key_policy.json
:{ "Version" : "2012-10-17", "Id" : "key-default-1", "Statement" : [ { "Sid" : "Enable IAM User Permissions", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : "kms:*", "Resource" : "*" }, { "Sid" : "Allow Use of Key", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:user/test-user" }, "Action" : [ "kms:DescribeKey", "kms:ListKeys" ], "Resource" : "*" } ] }
Para identificar la KMS clave, en este ejemplo se utiliza el identificador de clave, pero también se puede utilizar una claveARN. El comando utiliza el parámetro
policy
para especificar las políticas de claves. Para indicar que la política se encuentra en un archivo, utiliza el prefijofile://
necesario. Este prefijo es necesario para identificar los archivos de todos los sistemas operativos compatibles. Por último, el comando usa el parámetropolicy-name
con un valor dedefault
. Si no se especifica ningún nombre de política, el valor predeterminado esdefault
. El único valor válido esdefault
.aws kms put-key-policy \ --policy-name
default
\ --key-id1234abcd-12ab-34cd-56ef-1234567890ab
\ --policyfile://key_policy.json
Este comando no produce ninguna salida. Para comprobar que se aplicó el comando, utilice el comando
get-key-policy
. El siguiente comando de ejemplo obtiene la política de claves para la misma KMS clave. El parámetrooutput
con un valor detext
devuelve un formato de texto que es fácil de leer.aws kms get-key-policy \ --policy-name
default
\ --key-id1234abcd-12ab-34cd-56ef-1234567890ab
\ --outputtext
Salida:
{ "Version" : "2012-10-17", "Id" : "key-default-1", "Statement" : [ { "Sid" : "Enable IAM User Permissions", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : "kms:*", "Resource" : "*" }, { "Sid" : "Allow Use of Key", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:user/test-user" }, "Action" : [ "kms:Describe", "kms:List" ], "Resource" : "*" } ] }
Para obtener más información, consulte Cambio de una política de claves en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte PutKeyPolicy
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar re-encrypt
.
- AWS CLI
-
Ejemplo 1: volver a cifrar un mensaje cifrado con una KMS clave simétrica diferente (Linux y macOS).
El siguiente ejemplo de
re-encrypt
comando muestra la forma recomendada de volver a cifrar los datos con. AWS CLIProporcione el texto cifrado de un archivo. En el valor del
--ciphertext-blob
parámetro, utilice elfileb://
prefijo, que indica que debe leer los datos de un archivo CLI binario. Si el archivo no se encuentra en el directorio actual, escriba la ruta completa al archivo. Para obtener más información sobre la lectura de los valores de los AWS CLI AWS CLI parámetros de un archivo, consulte Carga de parámetros desde un archivo < https://docs.aws.amazon.com/cli/ latest/userguide/cli - usage-parameters-file .html> en la Guía del usuario de la interfaz de línea de AWS comandos y Prácticas recomendadas para los parámetros de archivos locales< https://aws.amazon.com/blogs/ developer/ best-practices-for-local -file-parameters/> en el blog de herramientas de línea de AWS comandos. Especifique la KMS clave fuente, que descifra el texto cifrado.El--source-key-id
parámetro no es necesario cuando se descifra con cifrado simétrico. KMS AWS KMSpuede obtener la KMS clave que se utilizó para cifrar los datos de los metadatos del blob de texto cifrado. Sin embargo, siempre se recomienda especificar la KMS clave que se está utilizando. Esta práctica garantiza que utiliza la KMS clave deseada y evita que descifre inadvertidamente un texto cifrado con una clave en la que no confíe. Especifique la KMS clave de destino, que volverá a cifrar los datos. El parámetro siempre KMS es obligatorio.--destination-key-id
En este ejemplo se utiliza una claveARN, pero se puede utilizar cualquier identificador de clave válido. Solicite la salida en texto simple como un valor de texto.El parámetro le indica a la que debe obtener únicamente el valor del campo de la salida.--query
CLIPlaintext
El parámetro--output
devuelve la salida como texto. Decodifique en base64 el texto sin formato y guárdelo en un archivo. El siguiente ejemplo canaliza (|) el valor del parámetroPlaintext
a la utilidad Base64, que lo decodifica. A continuación, redirige (>) la salida descodificada al archivoExamplePlaintext
.Antes de ejecutar este comando, sustituya la clave de ejemplo por identificadores de clave IDs válidos de su cuenta. AWS
aws kms re-encrypt \ --ciphertext-blob
fileb://ExampleEncryptedFile
\ --source-key-id1234abcd-12ab-34cd-56ef-1234567890ab
\ --destination-key-id0987dcba-09fe-87dc-65ba-ab0987654321
\ --queryCiphertextBlob
\ --outputtext
|
base64
--decode>
ExampleReEncryptedFile
Este comando no genera ninguna salida. La salida del comando
re-encrypt
se descodifica en base64 y se guarda en un archivo.Para obtener más información, consulte ReEncrypt < https://docs.aws.amazon.com/kms/ latest/APIReference/API _ ReEncrypt .html en la referencia del servicio API de administración de AWS claves.
Ejemplo 2: Para volver a cifrar un mensaje cifrado con una KMS clave simétrica diferente (línea de comandos de Windows).
El siguiente comando
re-encrypt
de ejemplo es el mismo que el anterior, excepto que usa la utilidadcertutil
para descodificar en Base64 los datos de texto sin formato. Como se muestra en los siguientes ejemplos, este procedimiento requiere dos comandos.Antes de ejecutar este comando, sustituya el identificador de clave de ejemplo por un identificador de clave válido de su cuenta. AWS
aws kms re-encrypt
^
--ciphertext-blobfileb://ExampleEncryptedFile
^
--source-key-id1234abcd-12ab-34cd-56ef-1234567890ab
^
--destination-key-id0987dcba-09fe-87dc-65ba-ab0987654321
^
--queryCiphertextBlob
^
--outputtext
>
ExampleReEncryptedFile.base64
A continuación, use la utilidad
certutil
certutil -decode ExamplePlaintextFile.base64 ExamplePlaintextFile
Salida:
Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.
Para obtener más información, consulte ReEncrypt < https://docs.aws.amazon.com/kms/ latest/APIReference/API _ ReEncrypt .html en la APIreferencia del servicio de administración de AWS claves.
-
Para API obtener más información, consulte ReEncrypt
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar retire-grant
.
- AWS CLI
-
Retirada de una concesión en una clave maestra de cliente
En el siguiente
retire-grant
ejemplo, se elimina una concesión de una KMS clave.El siguiente comando de ejemplo especifica los parámetros
grant-id
ykey-id
. El valor delkey-id
parámetro debe ser la clave ARN de la KMS clave.aws kms retire-grant \ --grant-id
1234a2345b8a4e350500d432bccf8ecd6506710e1391880c4f7f7140160c9af3
\ --key-idarn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
Este comando no genera ninguna salida. Utilice el comando
list-grants
para confirmar que la concesión se ha retirado.Para obtener más información, consulte Retiro y revocación de concesiones en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte RetireGrant
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar revoke-grant
.
- AWS CLI
-
Revocación de una concesión en una clave maestra de cliente
En el siguiente
revoke-grant
ejemplo, se elimina una concesión de una KMS clave. El siguiente comando de ejemplo especifica los parámetrosgrant-id
ykey-id
. El valor delkey-id
parámetro puede ser el identificador de clave o la clave ARN de la KMS clave.aws kms revoke-grant \ --grant-id
1234a2345b8a4e350500d432bccf8ecd6506710e1391880c4f7f7140160c9af3
\ --key-id1234abcd-12ab-34cd-56ef-1234567890ab
Este comando no genera ninguna salida. Utilice el comando
list-grants
para confirmar que la concesión se ha revocado.Para obtener más información, consulte Retiro y revocación de concesiones en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte RevokeGrant
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar rotate-key-on-demand
.
- AWS CLI
-
Para realizar la rotación de una KMS tecla bajo demanda
El siguiente
rotate-key-on-demand
ejemplo inicia inmediatamente la rotación del material clave para la KMS clave especificada.aws kms rotate-key-on-demand \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
Salida:
{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }
Para obtener más información, consulte Cómo realizar la rotación de claves bajo demanda en la Guía para desarrolladores del Servicio de administración de AWS claves.
-
Para API obtener más información, consulte RotateKeyOnDemand
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar schedule-key-deletion
.
- AWS CLI
-
Para programar la eliminación de una KMS clave gestionada por el cliente.
En el siguiente
schedule-key-deletion
ejemplo, se programa la eliminación de la KMS clave gestionada por el cliente especificada en 15 días.El
--key-id
parámetro identifica la KMS clave. En este ejemplo se utiliza un ARN valor clave, pero se puede utilizar el identificador de clave o el ARN de la KMS clave. El--pending-window-in-days
parámetro especifica la duración del período de espera de 7 a 30 días. De forma predeterminada, el periodo de espera es de 30 días. En este ejemplo se especifica un valor de 15, que indica que hay que AWS eliminar permanentemente la KMS clave 15 días después de que se complete el comando.aws kms schedule-key-deletion \ --key-id arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --pending-window-in-days 15
La respuesta incluye la claveARN, el estado de la clave, el período de espera (
PendingWindowInDays
) y la fecha de eliminación en tiempo de Unix. Para ver la fecha de eliminación en hora local, utilice la AWS KMS consola. KMSlas claves en el estadoPendingDeletion
clave no se pueden usar en operaciones criptográficas.{ "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "DeletionDate": "2022-06-18T23:43:51.272000+00:00", "KeyState": "PendingDeletion", "PendingWindowInDays": 15 }
Para obtener más información, consulte Eliminación de claves en la Guía para desarrolladores de AWS Key Management Service.
-
Para API obtener más información, consulte ScheduleKeyDeletion
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar sign
.
- AWS CLI
-
Ejemplo 1: Cómo generar una firma digital para un mensaje
El siguiente ejemplo de
sign
genera una firma criptográfica para un mensaje corto. El resultado del comando incluye un campo deSignature
codificado en Base64 que puede comprobar mediante el comandoverify
.Debe especificar el mensaje que desee firmar y un algoritmo de firma compatible con la KMS clave asimétrica. Para obtener los algoritmos de firma de la KMS clave, utilice el
describe-key
comando.En la AWS CLI versión 2.0, el valor del
message
parámetro debe estar codificado en Base64. O bien, puede guardar el mensaje en un archivo y usar elfileb://
prefijo, que indica que deben leer los AWS CLI datos binarios del archivo.Antes de ejecutar este comando, sustituya el identificador de clave de ejemplo por un identificador de clave válido de su AWS cuenta. El identificador de clave debe representar una KMS clave asimétrica con un uso de clave de SIGN _VERIFY.
msg=(echo 'Hello World' | base64) aws kms sign \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --message fileb://UnsignedMessage \ --message-type RAW \ --signing-algorithm RSASSA_PKCS1_V1_5_SHA_256
Salida:
{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Signature": "ABCDEFhpyVYyTxbafE74ccSvEJLJr3zuoV1Hfymz4qv+/fxmxNLA7SE1SiF8lHw80fKZZ3bJ...", "SigningAlgorithm": "RSASSA_PKCS1_V1_5_SHA_256" }
Para obtener más información sobre el uso de KMS claves asimétricas en AWS KMS, consulte Claves asimétricas AWS KMS en la Guía para desarrolladores del Servicio de administración de AWS claves.
Ejemplo 2: Para guardar una firma digital en un archivo (Linux y) macOs
El siguiente ejemplo de
sign
genera una firma criptográfica para un mensaje corto almacenado en un archivo local. El comando también obtiene laSignature
propiedad de la respuesta, la decodifica en Base64 y la guarda en el archivo. ExampleSignature Puede usar el archivo de firmas en un comandoverify
que verifique la firma.El
sign
comando requiere un mensaje codificado en Base64 y un algoritmo de firma compatible con la clave asimétrica. KMS Para obtener los algoritmos de firma compatibles con la KMS clave, utilice el comando.describe-key
Antes de ejecutar este comando, sustituya el identificador de clave del ejemplo por un identificador de clave válido de su AWS cuenta. El identificador de clave debe representar una KMS clave asimétrica con un uso de clave de SIGN _VERIFY.
echo 'hello world' | base64 > EncodedMessage aws kms sign \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --message fileb://EncodedMessage \ --message-type RAW \ --signing-algorithm RSASSA_PKCS1_V1_5_SHA_256 \ --output text \ --query Signature | base64 --decode > ExampleSignature
Este comando no genera ninguna salida. En este ejemplo, se extrae la propiedad
Signature
del resultado y se guarda en un archivo.Para obtener más información sobre el uso de KMS claves asimétricas en AWS KMS, consulte Claves asimétricas AWS KMS en la Guía para desarrolladores del Servicio de administración de AWS claves.
-
Para API obtener más información, consulte la Referencia de AWS CLI comandos de inicio de sesión
.
-
En el siguiente ejemplo de código se muestra cómo usar tag-resource
.
- AWS CLI
-
Para añadir una etiqueta a una KMS clave
En el siguiente
tag-resource
ejemplo, se añaden"Purpose":"Test"
"Dept":"IT"
etiquetas a una KMS clave gestionada por el cliente. Puede usar etiquetas como estas para etiquetar KMS las claves y crear categorías de KMS claves para los permisos y la auditoría.Para especificar la KMS clave, utilice el
key-id
parámetro. En este ejemplo se utiliza un valor de identificador de clave, pero puede utilizar un identificador de clave o una clave ARN en este comando.aws kms tag-resource \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --tags TagKey='Purpose',TagValue='Test' TagKey='Dept',TagValue='IT'Este comando no genera ninguna salida. Para ver las etiquetas de una AWS KMS KMS tecla, usa el
list-resource-tags
comando.Para obtener más información sobre el uso de etiquetas en AWS KMS, consulte Etiquetar claves en la Guía para desarrolladores del Servicio de administración de AWS claves.
-
Para API obtener más información, consulte TagResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar untag-resource
.
- AWS CLI
-
Para eliminar una etiqueta de una KMS clave
En el siguiente
untag-resource
ejemplo, se elimina la etiqueta con la"Purpose"
clave de una KMS clave gestionada por el cliente.Para especificar la KMS clave, utilice el
key-id
parámetro. En este ejemplo se utiliza un valor de identificador de clave, pero puede utilizar un identificador de clave o una clave ARN en este comando. Antes de ejecutar este comando, sustituya el identificador de clave del ejemplo por un identificador de clave válido de su AWS cuenta.aws kms untag-resource \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --tag-key 'Purpose
'Este comando no genera ninguna salida. Para ver las etiquetas de una AWS KMS KMS tecla, usa el
list-resource-tags
comando.Para obtener más información sobre el uso de etiquetas en AWS KMS, consulte Etiquetar claves en la Guía para desarrolladores del Servicio de administración de AWS claves.
-
Para API obtener más información, consulte UntagResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-alias
.
- AWS CLI
-
Para asociar un alias a una KMS clave diferente
En el siguiente
update-alias
ejemplo, se asocia el aliasalias/test-key
a una KMS clave diferente.El parámetro
--alias-name
especifica el alias. El valor del nombre del alias debe empezar poralias/
. El--target-key-id
parámetro especifica la KMS clave que se va a asociar al alias. No es necesario especificar la KMS clave actual del alias.aws kms update-alias \ --alias-name alias/test-key \ --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab
Este comando no genera ninguna salida. Utilice el comando
list-aliases
para encontrar el alias.Para obtener más información, consulte Actualización de alias en la AWS Guía para desarrolladores de Key Management Service.
-
Para API obtener más información, consulte UpdateAlias
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-custom-key-store
.
- AWS CLI
-
Ejemplo 1: Para editar el nombre descriptivo de un almacén de claves personalizado
En el
update-custom-key-store
ejemplo siguiente se cambia el nombre del almacén de claves personalizado. Este ejemplo funciona para un almacén de HSM claves AWS en la nube o un almacén de claves externo.custom-key-store-id
Utilícela para identificar el almacén de claves. Utilice elnew-custom-key-store-name
parámetro para especificar el nuevo nombre descriptivo.Para actualizar el nombre descriptivo de un almacén de HSM claves AWS en la nube, primero debe desconectar el almacén de claves, por ejemplo, mediante el
disconnect-custom-key-store
comando. Puede actualizar el nombre descriptivo de un almacén de claves externo mientras esté conectado o desconectado. Para averiguar el estado de conexión de su almacén de claves personalizado, utilice eldescribe-custom-key-store
comando.aws kms update-custom-key-store \ --custom-key-store-id
cks-1234567890abcdef0
\ --new-custom-key-store-nameExampleKeyStore
Este comando no devuelve ningún dato. Para comprobar que el comando ha funcionado, utilice un
describe-custom-key-stores
comando.Para obtener más información sobre la actualización de un almacén de HSM claves AWS en la nube, consulte Edición de la configuración del almacén de HSM claves en la AWS nube en la Guía AWS para desarrolladores del servicio de administración de claves.
Para obtener más información sobre la actualización de un almacén de claves externo, consulte Edición de las propiedades del almacén de claves externo en la Guía AWS para desarrolladores del Servicio de administración de claves.
Ejemplo 2: Para editar la contraseña kmsuser de un almacén de claves AWS en la nube HSM
En el siguiente
update-custom-key-store
ejemplo, se actualiza el valor de lakmsuser
contraseña por la contraseña actual delkmsuser
HSM clúster de nube asociado al almacén de claves especificado. Este comando no cambia lakmsuser
contraseña del clúster. Simplemente indica AWS KMS la contraseña actual. Si KMS no tiene lakmsuser
contraseña actual, no podrá conectarse al almacén de HSM claves de la AWS nube.NOTE: Antes de actualizar un almacén de HSM claves AWS en la nube, debes desconectarlo. Utilice el comando
disconnect-custom-key-store
. Cuando se complete el comando, podrás volver a conectar el almacén de HSM claves de AWS Cloud. Utilice el comandoconnect-custom-key-store
.aws kms update-custom-key-store \ --custom-key-store-id
cks-1234567890abcdef0
\ --key-store-passwordExamplePassword
El comando no devuelve ningún resultado. Para comprobar que el cambio se ha realizado correctamente, utiliza un
describe-custom-key-stores
comando.Para obtener más información sobre la actualización de un almacén de HSM claves AWS en la nube, consulte Edición de la configuración del almacén de HSM claves en la AWS nube en la Guía AWS para desarrolladores del servicio de administración de claves.
Ejemplo 3: Para editar el HSM clúster AWS en la nube de un almacén de HSM claves AWS en la nube
En el siguiente ejemplo, se cambia el HSM clúster de AWS nube que está asociado a un almacén de HSM claves de la AWS nube por un clúster relacionado, por ejemplo, una copia de seguridad diferente del mismo clúster.
NOTE: Antes de actualizar un almacén de HSM claves AWS en la nube, debes desconectarlo. Utilice el comando
disconnect-custom-key-store
. Cuando se complete el comando, podrás volver a conectar el almacén de HSM claves de AWS Cloud. Utilice el comandoconnect-custom-key-store
.aws kms update-custom-key-store \ --custom-key-store-id
cks-1234567890abcdef0
\ --cloud-hsm-cluster-idcluster-1a23b4cdefg
El comando no devuelve ningún resultado. Para comprobar que el cambio se ha realizado correctamente, utiliza un
describe-custom-key-stores
comando.Para obtener más información sobre la actualización de un almacén de HSM claves AWS en la nube, consulte Edición de la configuración del almacén de HSM claves en la AWS nube en la Guía AWS para desarrolladores del servicio de administración de claves.
Ejemplo 4: Para editar la credencial de autenticación proxy de un almacén de claves externo
En el siguiente ejemplo, se actualiza la credencial de autenticación proxy del almacén de claves externo. Debe especificar tanto el como el
raw-secret-access-key
access-key-id
, incluso si va a cambiar solo uno de los valores. Puede utilizar esta función para corregir una credencial no válida o cambiarla cuando el proxy del almacén de claves externo la rota.Establezca la credencial de autenticación del proxy AWS KMS en su almacén de claves externo. A continuación, utilice este comando para proporcionar la credencial a. AWS KMS AWS KMSutiliza esta credencial para firmar sus solicitudes en el proxy del almacén de claves externo.
Puede actualizar la credencial de autenticación del proxy mientras el almacén de claves externo esté conectado o desconectado. Para averiguar el estado de conexión de su almacén de claves personalizado, utilice el
describe-custom-key-store
comando.aws kms update-custom-key-store \ --custom-key-store-id
cks-1234567890abcdef0
\ --xks-proxy-authentication-credential"AccessKeyId=ABCDE12345670EXAMPLE, RawSecretAccessKey=DXjSUawnel2fr6SKC7G25CNxTyWKE5PF9XX6H/u9pSo="
El comando no devuelve ningún resultado. Para comprobar que el cambio se ha realizado correctamente, utilice un
describe-custom-key-stores
comando.Para obtener más información sobre la actualización de un almacén de claves externo, consulte Edición de las propiedades del almacén de claves externo en la Guía AWS para desarrolladores del Servicio de administración de claves.
Ejemplo 5: Para editar la conectividad proxy de un almacén de claves externo
El siguiente ejemplo cambia la opción de conectividad proxy del almacén de claves externo de la conectividad de punto final público a la conectividad de servicio de VPC punto final. Además de cambiar el
xks-proxy-connectivity
valor, debe cambiarlo para que refleje el DNS nombre privado asociado al servicio de VPC punto final.xks-proxy-uri-endpoint
También debe añadir unxks-proxy-vpc-endpoint-service-name
valor.NOTE: Antes de actualizar la conectividad proxy de un almacén externo, debe desconectarlo. Utilice el comando
disconnect-custom-key-store
. Una vez finalizado el comando, puede volver a conectar el almacén de claves externo mediante elconnect-custom-key-store
comando.aws kms update-custom-key-store \ --custom-key-store-id
cks-1234567890abcdef0
\ --xks-proxy-connectivityVPC_ENDPOINT_SERVICE
\ --xks-proxy-uri-endpoint"https://myproxy-private.xks.example.com"
\ --xks-proxy-vpc-endpoint-service-name"com.amazonaws.vpce.us-east-1.vpce-svc-example"
El comando no devuelve ningún resultado. Para comprobar que el cambio se ha realizado correctamente, utilice un
describe-custom-key-stores
comando.Para obtener más información sobre la actualización de un almacén de claves externo, consulte Edición de las propiedades del almacén de claves externo en la Guía AWS para desarrolladores del Servicio de administración de claves.
-
Para API obtener más información, consulte UpdateCustomKeyStore
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-key-description
.
- AWS CLI
-
Ejemplo 1: Para añadir o cambiar la descripción de una KMS clave gestionada por el cliente
En el siguiente
update-key-description
ejemplo, se añade una descripción a una KMS clave gestionada por el cliente. Puede usar el mismo comando para cambiar una descripción existente.El
--key-id
parámetro identifica la KMS clave del comando. En este ejemplo se utiliza un ARN valor de clave, pero se puede utilizar el identificador de la clave o la clave ARN de la KMS clave. El--description
parámetro especifica la nueva descripción. El valor de este parámetro reemplaza a la descripción actual de la KMS clave, si la hubiera.aws kms update-key-description \ --key-id arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --description "IT Department test key"
Este comando no genera ninguna salida. Para ver la descripción de una KMS clave, utilice el
describe-key
comando.Para obtener más información, consulte UpdateKeyDescriptionla APIreferencia del servicio de administración de AWS claves.
Ejemplo 2: Para eliminar la descripción de una KMS clave gestionada por el cliente
En el siguiente
update-key-description
ejemplo, se elimina la descripción de una KMS clave gestionada por el cliente.El
--key-id
parámetro identifica la KMS clave del comando. En este ejemplo se utiliza un valor de identificador de clave, pero se puede utilizar el identificador de clave o la clave ARN de la KMS clave. El--description
parámetro con un valor de cadena vacío («) elimina la descripción existente.aws kms update-key-description \ --key-id 0987dcba-09fe-87dc-65ba-ab0987654321 \ --description ''
Este comando no genera ninguna salida. Para ver la descripción de una KMS clave, utilice el comando describe-key.
Para obtener más información, consulte la referencia del UpdateKeyDescriptionservicio de administración de AWS claves. API
-
Para API obtener más información, consulte UpdateKeyDescription
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar verify
.
- AWS CLI
-
Cómo verificar una firma digital
El siguiente ejemplo de
verify
verifica una firma criptográfica para un mensaje corto codificado en Base64. El identificador de clave, el mensaje, el tipo de mensaje y el algoritmo de firma deben ser los mismos que se usaron para firmar el mensaje. La firma que especifique no puede estar codificada en base64. Para obtener ayuda para decodificar la firma que devuelve el comandosign
, consulte los ejemplos de comandossign
.El resultado del comando incluye un campo
SignatureValid
booleano que indica que se verificó la firma. Si se produce un error en la validación de la firma, también se produce un error en el comandoverify
.Antes de ejecutar este comando, sustituya la ID de clave de ejemplo por una ID de clave válida de su AWS cuenta.
aws kms verify \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --messagefileb://EncodedMessage
\ --message-typeRAW
\ --signing-algorithmRSASSA_PKCS1_V1_5_SHA_256
\ --signaturefileb://ExampleSignature
Salida:
{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "SignatureValid": true, "SigningAlgorithm": "RSASSA_PKCS1_V1_5_SHA_256" }
Para obtener más información sobre el uso de KMS claves asimétricas en AWS KMS, consulte Uso de claves asimétricas en la Guía para desarrolladores del Servicio de administración de AWS claves.
-
Para API obtener más información, consulte Verificar en la referencia
de AWS CLI comandos.
-