AWS KMS esempi utilizzando AWS CLI - AWS Command Line Interface

Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS KMS esempi utilizzando AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with AWS KMS.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Mentre le azioni mostrano come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzarecancel-key-deletion.

AWS CLI

Per annullare l'eliminazione pianificata di una KMS chiave gestita dal cliente

L'cancel-key-deletionesempio seguente annulla l'eliminazione pianificata di una KMS chiave gestita dal cliente.

aws kms cancel-key-deletion \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }

Quando il cancel-key-deletion comando ha esito positivo, l'eliminazione pianificata viene annullata. Tuttavia, lo stato della KMS chiave èDisabled, quindi non è possibile utilizzarla nelle operazioni KMS crittografiche. Per ripristinarne la funzionalità, usa il enable-key comando.

Per ulteriori informazioni, consulta Pianificazione e annullamento dell'eliminazione delle chiavi nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzareconnect-custom-key-store.

AWS CLI

Per connettere un archivio di chiavi personalizzato

L'connect-custom-key-storeesempio seguente riconnette l'archivio di chiavi personalizzato specificato. È possibile utilizzare un comando come questo per connettere un archivio chiavi personalizzato per la prima volta o per ricollegare un archivio chiavi che era disconnesso.

È possibile utilizzare questo comando per connettere un archivio di HSM chiavi AWS nel cloud o un archivio di chiavi esterno.

aws kms connect-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0

Questo comando non restituisce alcun output. Per verificare che il comando sia stato efficace, usa il describe-custom-key-stores comando.

Per informazioni sulla connessione di un archivio di HSM chiavi AWS Cloud, consulta Connessione e disconnessione di un archivio di HSM chiavi AWS Cloud nella AWS Key Management Service Developer Guide.

Per informazioni sulla connessione di un archivio di chiavi esterno, consulta Connessione e disconnessione di un archivio di chiavi esterno nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-alias.

AWS CLI

Per creare un alias per una chiave KMS

Il create-alias comando seguente crea un alias denominato example-alias per la KMS chiave identificata dall'ID della chiave. 1234abcd-12ab-34cd-56ef-1234567890ab

I nomi alias devono iniziare con. alias/ Non utilizzare alias che iniziano conalias/aws. Questi nomi sono riservati a. AWS

aws kms create-alias \ --alias-name alias/example-alias \ --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Questo comando non restituisce alcun output. Per vedere il nuovo alias, usa il list-aliases comando.

Per ulteriori informazioni, vedere Using alias nella AWS Key Management Service Developer Guide.

  • Per API i dettagli, vedere CreateAliasin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarecreate-custom-key-store.

AWS CLI

Esempio 1: creare un archivio di HSM chiavi AWS nel cloud

L'create-custom-key-storeesempio seguente crea un archivio di HSM chiavi AWS Cloud supportato da un HSM cluster AWS Cloud utilizzando i parametri richiesti. Puoi anche aggiungere ilcustom-key-store-type``parameter with the default value: ``AWS_CLOUDHSM.

Per specificare l'input del file per il trust-anchor-certificate comando in AWS CLI, è necessario il file:// prefisso.

aws kms create-custom-key-store \ --custom-key-store-name ExampleCloudHSMKeyStore \ --cloud-hsm-cluster-id cluster-1a23b4cdefg \ --key-store-password kmsPswd \ --trust-anchor-certificate file://customerCA.crt

Output:

{ "CustomKeyStoreId": cks-1234567890abcdef0 }

Per ulteriori informazioni, consulta Creating an AWS Cloud HSM key store nella AWS Key Management Service Developer Guide.

Esempio 2: creare un archivio di chiavi esterno con connettività endpoint pubblica

L'create-custom-key-storeesempio seguente crea un key store esterno (XKS) con cui comunica AWS KMS tramite Internet.

In questo esempio, XksProxyUriPath utilizza un prefisso opzionale di. example-prefix

NOTE: Se utilizzate la AWS CLI versione 1.0, eseguite il comando seguente prima di specificare un parametro con un HTTPS valore HTTP o, ad esempio, il XksProxyUriEndpoint parametro.

aws configure set cli_follow_urlparam false

Altrimenti, AWS CLI la versione 1.0 sostituisce il valore del parametro con il contenuto trovato a quell'URIindirizzo.

aws kms create-custom-key-store \ --custom-key-store-name ExamplePublicEndpointXKS \ --custom-key-store-type EXTERNAL_KEY_STORE \ --xks-proxy-connectivity PUBLIC_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="

Output:

{ "CustomKeyStoreId": cks-2234567890abcdef0 }

Per ulteriori informazioni, vedere Creazione di un archivio di chiavi esterno nella AWS Key Management Service Developer Guide.

Esempio 3: creare un archivio di chiavi esterno con connettività al servizio VPC endpoint

L'create-custom-key-storeesempio seguente crea un key store esterno (XKS) che utilizza un servizio di VPC endpoint Amazon con AWS KMS cui comunicare.

NOTE: Se utilizzi la AWS CLI versione 1.0, esegui il comando seguente prima di specificare un parametro con un HTTPS valore HTTP o, ad esempio, il XksProxyUriEndpoint parametro.

aws configure set cli_follow_urlparam false

Altrimenti, AWS CLI la versione 1.0 sostituisce il valore del parametro con il contenuto trovato a quell'URIindirizzo.

aws kms create-custom-key-store \ --custom-key-store-name ExampleVPCEndpointXKS \ --custom-key-store-type EXTERNAL_KEY_STORE \ --xks-proxy-connectivity VPC_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="

Output:

{ "CustomKeyStoreId": cks-3234567890abcdef0 }

Per ulteriori informazioni, vedere Creazione di un archivio di chiavi esterno nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-grant.

AWS CLI

Per creare una sovvenzione

L'create-grantesempio seguente crea una concessione che consente all'exampleUserutente di utilizzare il decrypt comando sulla KMS chiave di 1234abcd-12ab-34cd-56ef-1234567890ab esempio. Il preside uscente è il adminRole ruolo. La concessione utilizza il vincolo EncryptionContextSubset grant per consentire questa autorizzazione solo quando il contesto di crittografia nella decrypt richiesta include la "Department": "IT" coppia chiave-valore.

aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::123456789012:user/exampleUser \ --operations Decrypt \ --constraints EncryptionContextSubset={Department=IT} \ --retiring-principal arn:aws:iam::123456789012:role/adminRole

Output:

{ "GrantId": "1a2b3c4d2f5e69f440bae30eaec9570bb1fb7358824f9ddfa1aa5a0dab1a59b2", "GrantToken": "<grant token here>" }

Per visualizzare informazioni dettagliate sulla concessione, utilizzare il comando. list-grants

Per ulteriori informazioni, consulta Grants AWS KMS nella AWS Key Management Service Developer Guide.

  • Per API i dettagli, vedere CreateGrantin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarecreate-key.

AWS CLI

Esempio 1: creare una KMS chiave gestita dal cliente in AWS KMS

L'create-keyesempio seguente crea una chiave di crittografia KMS simmetrica.

Per creare la KMS chiave di base, una chiave di crittografia simmetrica, non è necessario specificare alcun parametro. I valori predefiniti per tali parametri creano una chiave di crittografia simmetrica.

Poiché questo comando non specifica una politica di chiave, la chiave ottiene la politica di KMS chiave predefinita per le chiavi create a livello di codice. KMS Per visualizzare la politica chiave, utilizzare il get-key-policy comando. Per modificare la politica chiave, usa il put-key-policy comando.

aws kms create-key

Il create-key comando restituisce i metadati della chiave, incluso l'ID della chiave e ARN della nuova KMS chiave. È possibile utilizzare questi valori per identificare la KMS chiave in altre AWS KMS operazioni. L'output non include i tag. Per visualizzare i tag di una KMS chiave, utilizzare illist-resource-tags command.

Output:

{ "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: il create-key comando non consente di specificare un alias. Per creare un alias per la nuova KMS chiave, usa il create-alias comando.

Per ulteriori informazioni, vedere Creating keys nella AWS Key Management Service Developer Guide.

Esempio 2: creare una RSA KMS chiave asimmetrica per la crittografia e la decrittografia

L'create-keyesempio seguente crea una KMS chiave che contiene una coppia di chiavi asimmetrica per RSA la crittografia e la decrittografia.

aws kms create-key \ --key-spec RSA_4096 \ --key-usage ENCRYPT_DECRYPT

Output:

{ "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" } }

Per ulteriori informazioni, vedere Asymmetric keys nella AWS KMS Key Management Service Developer Guide.AWS

Esempio 3: creare una chiave a curva ellittica asimmetrica per la firma e la verifica KMS

Per creare una chiave asimmetrica che contenga una coppia di KMS chiavi asimmetrica ellittica curva (ECC) per la firma e la verifica. Il --key-usage parametro è obbligatorio anche se SIGN_VERIFY è l'unico valore valido per le chiavi. ECC KMS

aws kms create-key \ --key-spec ECC_NIST_P521 \ --key-usage SIGN_VERIFY

Output:

{ "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" ] } }

Per ulteriori informazioni, consulta la sezione Chiavi asimmetriche AWS KMS nella AWS Key Management Service Developer Guide.

Esempio 4: Per creare una chiave HMAC KMS

L'create-keyesempio seguente crea una chiave a 384 bit HMACKMS. Il GENERATE_VERIFY_MAC valore del --key-usage parametro è obbligatorio anche se è l'unico valore valido per HMAC KMS le chiavi.

aws kms create-key \ --key-spec HMAC_384 \ --key-usage GENERATE_VERIFY_MAC

Output:

{ "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" } }

Per ulteriori informazioni, consulta HMACle chiavi AWS KMS nella AWS Key Management Service Developer Guide.

Esempio 4: Per creare una chiave primaria KMS multiregionale

L'create-keyesempio seguente crea una chiave di crittografia simmetrica primaria multiregione. Poiché i valori predefiniti per tutti i parametri creano una chiave di crittografia simmetrica, per questa chiave è necessario solo il --multi-region parametro. KMS Nella AWS CLI, per indicare che un parametro booleano è vero, è sufficiente specificare il nome del parametro.

aws kms create-key \ --multi-region

Output:

{ "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" } }

Per ulteriori informazioni, consulta Asymmetric keys AWS KMS nella AWS Key Management Service Developer Guide.

Esempio 5: creare una KMS chiave per il materiale chiave importato

L'create-keyesempio seguente crea una KMS chiave senza materiale chiave. Una volta completata l'operazione, è possibile importare il proprio materiale chiave nella KMS chiave. Per creare questa KMS chiave, impostate il --origin parametro suEXTERNAL.

aws kms create-key \ --origin EXTERNAL

Output:

{ "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" } }

Per ulteriori informazioni, consulta Importazione di materiale chiave nelle AWS KMS chiavi nella AWS Key Management Service Developer Guide.

Esempio 6: per creare una KMS chiave in un archivio di HSM chiavi AWS Cloud

L'create-keyesempio seguente crea una KMS chiave nell'archivio di HSM chiavi AWS Cloud specificato. L'operazione crea la KMS chiave e i relativi metadati AWS KMS e crea il materiale chiave nel HSM cluster AWS Cloud associato all'archivio di chiavi personalizzato. I parametri --custom-key-store-id e --origin sono obbligatori.

aws kms create-key \ --origin AWS_CLOUDHSM \ --custom-key-store-id cks-1234567890abcdef0

Output:

{ "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" } }

Per ulteriori informazioni, consulta AWS Cloud HSM key stores nella Key Management Service Developer Guide.AWS

Esempio 7: creare una KMS chiave in un archivio di chiavi esterno

L'create-keyesempio seguente crea una KMS chiave nell'archivio chiavi esterno specificato. I --xks-key-id parametri --custom-key-store-id--origin, e sono obbligatori in questo comando.

Il --xks-key-id parametro specifica l'ID di una chiave di crittografia simmetrica esistente nel gestore di chiavi esterno. Questa chiave funge da materiale chiave esterno per la KMS chiave. Il valore del --origin parametro deve essere EXTERNAL_KEY_STORE .Il custom-key-store-id parametro deve identificare un archivio chiavi esterno collegato al relativo proxy di archiviazione chiavi esterno.

aws kms create-key \ --origin EXTERNAL_KEY_STORE \ --custom-key-store-id cks-9876543210fedcba9 \ --xks-key-id bb8562717f809024

Output:

{ "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" } } }

Per ulteriori informazioni, consulta la sezione Archivi di chiavi esterni nella AWS Key Management Service Developer Guide.

  • Per API i dettagli, vedere CreateKeyin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaredecrypt.

AWS CLI

Esempio 1: decrittografare un messaggio crittografato con una KMS chiave simmetrica (Linux e macOS)

Il seguente esempio di decrypt comando mostra il metodo consigliato per decrittografare i dati con. AWS CLI Questa versione mostra come decrittografare i dati con una chiave simmetrica. KMS

Fornisci il testo cifrato in un file. Nel valore del --ciphertext-blob parametro, usa il fileb:// prefisso, che indica loro di leggere i dati CLI da un file binario. Se il file non si trova nella directory corrente, digitate il percorso completo del file. Per ulteriori informazioni sulla lettura AWS CLI dei valori dei parametri da un file, consultate Loading AWS CLI parameters from a file < https://docs.aws.amazon.com/cli/ latest/userguide/cli - usage-parameters-file .html> nella AWS Command Line Interface User Guide e Best Practices for Local File Parameters< https://aws.amazon.com/blogs/ developer/ best-practices-for-local -file-parameters/> nel AWS Command Line Tool Blog .Specificare la KMS chiave per decrittografare il CipherText. Il --key-id parametro non è necessario quando si esegue la decrittografia con una chiave simmetrica. KMS AWS KMSpuò ottenere l'ID della KMS chiave utilizzata per crittografare i dati dai metadati nel testo cifrato. Ma è sempre consigliabile specificare la KMS chiave che si sta utilizzando. Questa pratica garantisce l'utilizzo della KMS chiave desiderata e impedisce di decifrare inavvertitamente un testo cifrato utilizzando una KMS chiave non attendibile.Richiedete l'output di testo non crittografato come valore di testo.Il --query parametro indica loro di ottenere solo il valore del campo dall'output. CLI Plaintext Il --output parametro restituisce l'output come text.base64: decodifica il testo semplice e lo salva in un file. L'esempio seguente invia (|) il valore del Plaintext parametro all'utilità Base64, che lo decodifica. Quindi, reindirizza (>) l'output decodificato al file. ExamplePlaintext

Prima di eseguire questo comando, sostituisci l'ID della chiave di esempio con un ID chiave valido del tuo account. AWS

aws kms decrypt \ --ciphertext-blob fileb://ExampleEncryptedFile \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --output text \ --query Plaintext | base64 \ --decode > ExamplePlaintextFile

Questo comando non produce alcun output. L'output del decrypt comando viene decodificato in base64 e salvato in un file.

Per ulteriori informazioni, vedete Decrypt nel Key Management Service Reference.AWS API

Esempio 2: per decrittografare un messaggio crittografato con una chiave simmetrica KMS (prompt dei comandi di Windows)

L'esempio seguente è lo stesso del precedente, tranne per il fatto che utilizza l'certutilutilità per decodificare in Base64 i dati in chiaro. Questa procedura richiede due comandi, come illustrato negli esempi seguenti.

Prima di eseguire questo comando, sostituisci l'ID della chiave di esempio con un ID chiave valido del tuo AWS account.

aws kms decrypt ^ --ciphertext-blob fileb://ExampleEncryptedFile ^ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab ^ --output text ^ --query Plaintext > ExamplePlaintextFile.base64

Esegui il comando certutil.

certutil -decode ExamplePlaintextFile.base64 ExamplePlaintextFile

Output:

Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.

Per ulteriori informazioni, vedete Decrypt nel AWS Key Management Service API Reference.

Esempio 3: decrittografare un messaggio crittografato con una chiave asimmetrica KMS (Linux e macOS)

Il seguente esempio di decrypt comando mostra come decrittografare i dati crittografati con una chiave asimmetrica. RSA KMS

Quando si utilizza una KMS chiave asimmetrica, è obbligatorio il encryption-algorithm parametro che specifica l'algoritmo utilizzato per crittografare il testo in chiaro.

Prima di eseguire questo comando, sostituisci l'ID della chiave di esempio con un ID di chiave valido del tuo account. AWS

aws kms decrypt \ --ciphertext-blob fileb://ExampleEncryptedFile \ --key-id 0987dcba-09fe-87dc-65ba-ab0987654321 \ --encryption-algorithm RSAES_OAEP_SHA_256 \ --output text \ --query Plaintext | base64 \ --decode > ExamplePlaintextFile

Questo comando non produce alcun output. L'output del decrypt comando viene decodificato in base64 e salvato in un file.

Per ulteriori informazioni, consulta la sezione Chiavi asimmetriche nella AWS KMS Key Management Service Developer Guide.AWS

  • Per API i dettagli, consulta Decrypt in Command Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzare. delete-alias

AWS CLI

Per eliminare un AWS KMS alias

L'delete-aliasesempio seguente elimina l'alias. alias/example-alias Il nome dell'alias deve iniziare con alias/.

aws kms delete-alias \ --alias-name alias/example-alias

Questo comando non produce alcun output. Per trovare l'alias, usa il comando. list-aliases

Per ulteriori informazioni, vedere Eliminazione di un alias nella AWS Key Management Service Developer Guide.

  • Per API i dettagli, vedere DeleteAliasin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaredelete-custom-key-store.

AWS CLI

Per eliminare un archivio di chiavi personalizzato

L'delete-custom-key-storeesempio seguente elimina l'archivio di chiavi personalizzato specificato.

L'eliminazione di un archivio di HSM chiavi AWS Cloud non ha alcun effetto sul cluster Cloud HSM associato. L'eliminazione di un key store esterno non ha alcun effetto sul proxy del key store esterno associato, sul gestore di chiavi esterno o sulle chiavi esterne.

NOTE: Prima di poter eliminare un archivio chiavi personalizzato, è necessario pianificare l'eliminazione di tutte le KMS chiavi nell'archivio chiavi personalizzato e quindi attendere che tali KMS chiavi vengano eliminate. Quindi, è necessario disconnettere l'archivio chiavi personalizzato. Per informazioni su come trovare le KMS chiavi nel tuo archivio di chiavi personalizzato, consulta Delete an AWS Cloud HSM key store (API) nella AWS Key Management Service Developer Guide.

delete-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0

Questo comando non restituisce alcun output. Per verificare che l'archivio di chiavi personalizzato venga eliminato, utilizzate il describe-custom-key-stores comando.

Per informazioni sull'eliminazione di un archivio di HSM chiavi AWS Cloud, consulta Eliminazione di un archivio di HSM chiavi AWS Cloud nella AWS Key Management Service Developer Guide.

Per informazioni sull'eliminazione di archivi di chiavi esterni, vedere Eliminazione di un archivio di chiavi esterne nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-imported-key-material.

AWS CLI

Per eliminare il materiale chiave importato da una KMS chiave

L'delete-imported-key-materialesempio seguente elimina il materiale chiave che era stato importato in una KMS chiave.

aws kms delete-imported-key-material \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Questo comando non produce alcun output. Per verificare che il materiale chiave sia stato eliminato, utilizzate il describe-key comando per cercare uno stato chiave di PendingImport oPendingDeletion.

Per ulteriori informazioni, vedete Eliminazione del materiale chiave importato< https://docs.aws.amazon.com/kms/ latest/developerguide/importing - keys-delete-key-material .html> nella Guida per gli sviluppatori del servizio di gestione delle AWS chiavi.

Il seguente esempio di codice mostra come utilizzarederive-shared-secret.

AWS CLI

Per ricavare un segreto condiviso

L'derive-shared-secretesempio seguente ricava un segreto condiviso utilizzando un algoritmo di accordo chiave.

È necessario utilizzare una curva ellittica asimmetrica NIST consigliata (ECC) o una coppia di KMS key pair SM2 (solo China Regions) con il valore to call. KeyUsage KEY_AGREEMENT DeriveSharedSecret

aws kms derive-shared-secret \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-agreement-algorithm ECDH \ --public-key "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag"

Output:

{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "SharedSecret": "MEYCIQCKZLWyTk5runarx6XiAkU9gv3lbwPO/pHa+DXFehzdDwIhANwpsIV2g/9SPWLLsF6p/hiSskuIXMTRwqrMdVKWTMHG", "KeyAgreementAlgorithm": "ECDH", "KeyOrigin": "AWS_KMS" }

Per ulteriori informazioni, vedere DeriveSharedSecretnel Key Management Service Reference.AWS API

Il seguente esempio di codice mostra come utilizzaredescribe-custom-key-stores.

AWS CLI

Esempio 1: per ottenere dettagli su un archivio di HSM chiavi AWS Cloud

L'describe-custom-key-storeesempio seguente mostra i dettagli sull'archivio di HSM chiavi AWS Cloud specificato. Il comando è lo stesso per tutti i tipi di archivi chiavi personalizzati, ma l'output differisce a seconda del tipo di archivio chiavi e, per un archivio chiavi esterno, della relativa opzione di connettività.

Per impostazione predefinita, questo comando visualizza informazioni su tutti gli archivi di chiavi personalizzati nell'account e nella regione. Per visualizzare informazioni su un particolare archivio di chiavi personalizzato, utilizzare il custom-key-store-id parametro custom-key-store-name o.

aws kms describe-custom-key-stores \ --custom-key-store-name ExampleCloudHSMKeyStore

L'output di questo comando include dettagli utili sull'archivio di HSM chiavi AWS Cloud, incluso lo stato della connessione (ConnectionState). Se lo stato della connessione èFAILED, l'output include un ConnectionErrorCode campo che descrive il problema.

Output:

{ "CustomKeyStores": [ { "CloudHsmClusterId": "cluster-1a23b4cdefg", "ConnectionState": "CONNECTED", "CreationDate": "2022-04-05T14:04:55-07:00", "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleExternalKeyStore", "TrustAnchorCertificate": "<certificate appears here>" } ] }

Per ulteriori informazioni, consulta Viewing an AWS Cloud HSM key store nella AWS Key Management Service Developer Guide.

Esempio 2: per ottenere dettagli su un archivio di chiavi esterno con connettività endpoint pubblica

L'describe-custom-key-storeesempio seguente mostra i dettagli sull'archivio di chiavi esterno specificato. Il comando è lo stesso per tutti i tipi di archivi chiavi personalizzati, ma l'output differisce a seconda del tipo di archivio chiavi e, per un archivio chiavi esterno, della relativa opzione di connettività.

Per impostazione predefinita, questo comando visualizza informazioni su tutti gli archivi di chiavi personalizzati nell'account e nella regione. Per visualizzare informazioni su un particolare archivio di chiavi personalizzato, utilizzare il custom-key-store-id parametro custom-key-store-name o.

aws kms describe-custom-key-stores \ --custom-key-store-id cks-9876543210fedcba9

L'output di questo comando include dettagli utili sull'archivio chiavi esterno, incluso lo stato della connessione (ConnectionState). Se lo stato della connessione èFAILED, l'output include un ConnectionErrorCode campo che descrive il problema.

Output:

{ "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" } } ] }

Per ulteriori informazioni, vedere Visualizzazione di un archivio di chiavi esterno nella Guida per gli sviluppatori del servizio di gestione delle AWS chiavi.

Esempio 3: per ottenere dettagli su un archivio di chiavi esterno con connettività al servizio VPC endpoint

L'describe-custom-key-storeesempio seguente mostra i dettagli sull'archivio di chiavi esterno specificato. Il comando è lo stesso per tutti i tipi di archivi chiavi personalizzati, ma l'output differisce a seconda del tipo di archivio chiavi e, per un archivio chiavi esterno, della relativa opzione di connettività.

Per impostazione predefinita, questo comando visualizza informazioni su tutti gli archivi di chiavi personalizzati nell'account e nella regione. Per visualizzare informazioni su un particolare archivio di chiavi personalizzato, utilizzare il custom-key-store-id parametro custom-key-store-name o.

aws kms describe-custom-key-stores \ --custom-key-store-id cks-2234567890abcdef0

L'output di questo comando include dettagli utili sull'archivio chiavi esterno, incluso lo stato della connessione (ConnectionState). Se lo stato della connessione èFAILED, l'output include un ConnectionErrorCode campo che descrive il problema.

Output:

{ "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" } } ] }

Per ulteriori informazioni, vedere Visualizzazione di un archivio di chiavi esterno nella Guida per gli sviluppatori del servizio di gestione delle AWS chiavi.

Il seguente esempio di codice mostra come utilizzaredescribe-key.

AWS CLI

Esempio 1: Per trovare informazioni dettagliate su una KMS chiave

L'describe-keyesempio seguente ottiene informazioni dettagliate sulla chiave AWS gestita per Amazon S3 nell'account e nella regione di esempio. Puoi utilizzare questo comando per trovare dettagli sulle chiavi gestite e sulle chiavi AWS gestite dai clienti.

Per specificare la KMS chiave, utilizzare il key-id parametro. Questo esempio utilizza un valore per il nome di un alias, ma è possibile utilizzare un ID di chiave, una chiaveARN, un nome alias o un alias ARN in questo comando.

aws kms describe-key \ --key-id alias/aws/s3

Output:

{ "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" ] } }

Per ulteriori informazioni, vedere Viewing keys nella AWS Key Management Service Developer Guide.

Esempio 2: per ottenere dettagli su una chiave RSA asimmetrica KMS

L'describe-keyesempio seguente ottiene informazioni dettagliate su una RSA KMS chiave asimmetrica utilizzata per la firma e la verifica.

aws kms describe-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "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" ] } }

Esempio 3: per ottenere dettagli su una chiave di replica multiregionale

L'describe-keyesempio seguente ottiene i metadati per una chiave di replica multiregionale. Questa chiave multiregionale è una chiave di crittografia simmetrica. L'output di un describe-key comando per qualsiasi chiave multiregionale restituisce informazioni sulla chiave primaria e su tutte le relative repliche.

aws kms describe-key \ --key-id arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab

Output:

{ "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" } ] } } }

Esempio 4: per ottenere dettagli su una chiave HMAC KMS

L'describe-keyesempio seguente ottiene informazioni dettagliate su una HMAC KMS chiave.

aws kms describe-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "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 } }
  • Per API i dettagli, vedere DescribeKeyin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaredisable-key-rotation.

AWS CLI

Per disattivare la rotazione automatica di una KMS chiave

L'disable-key-rotationesempio seguente disabilita la rotazione automatica di una KMS chiave gestita dal cliente. Per riattivare la rotazione automatica, utilizzare il enable-key-rotation comando.

aws kms disable-key-rotation \ --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

Questo comando non produce alcun output. Per verificare che la rotazione automatica sia disabilitata per la KMS chiave, usa il get-key-rotation-status comando.

Per ulteriori informazioni, consulta Rotating keys nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzaredisable-key.

AWS CLI

Per disattivare temporaneamente una KMS chiave

L'esempio seguente utilizza il disable-key comando per disabilitare una KMS chiave gestita dal cliente. Per riattivare la KMS chiave, utilizzare il enable-key comando.

aws kms disable-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Questo comando non produce alcun output.

Per ulteriori informazioni, vedere Enabling and Disabling Keys nella AWS Key Management Service Developer Guide.

  • Per API i dettagli, vedere DisableKeyin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaredisconnect-custom-key-store.

AWS CLI

Per disconnettere un archivio di chiavi personalizzato

L'disconnect-custom-key-storeesempio seguente disconnette un archivio di chiavi personalizzato dal relativo cluster AWS CloudHSM. È possibile disconnettere un archivio di chiavi per risolvere un problema, aggiornarne le impostazioni o impedire che le KMS chiavi del keystore vengano utilizzate nelle operazioni crittografiche.

Questo comando è lo stesso per tutti gli archivi di chiavi personalizzati, inclusi gli archivi di chiavi AWS Cloud e gli archivi di HSM chiavi esterni.

Prima di eseguire questo comando, sostituisci l'ID store chiavi personalizzate di esempio con uno valido.

$ aws kms disconnect-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0

Questo comando non produce alcun output. Verifica che il comando sia stato efficace, usa il describe-custom-key-stores comando.

Per ulteriori informazioni sulla disconnessione di un archivio di HSM chiavi AWS Cloud, consulta Connessione e disconnessione di un archivio di HSM chiavi AWS Cloud nella AWS Key Management Service Developer Guide.

Per ulteriori informazioni sulla disconnessione di un archivio di chiavi esterno, consulta Connessione e disconnessione di un archivio di chiavi esterno nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzareenable-key-rotation.

AWS CLI

Per abilitare la rotazione automatica di una KMS chiave

L'enable-key-rotationesempio seguente abilita la rotazione automatica di una KMS chiave gestita dal cliente con un periodo di rotazione di 180 giorni. La KMS chiave verrà ruotata di un anno (circa 365 giorni) dalla data di completamento di questo comando e successivamente ogni anno.

Il --key-id parametro identifica la chiave. KMS Questo esempio utilizza un ARN valore chiave, ma è possibile utilizzare l'ID della chiave o quello ARN della KMS chiave. Il --rotation-period-in-days parametro specifica il numero di giorni tra ogni data di rotazione. Specificate un valore compreso tra 90 e 2560 giorni. Se non viene specificato alcun valore, il valore predefinito è 365 giorni.

aws kms enable-key-rotation \ --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --rotation-period-in-days 180

Questo comando non produce alcun output. Per verificare che la KMS chiave sia abilitata, usa il get-key-rotation-status comando.

Per ulteriori informazioni, consulta Rotating keys nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzareenable-key.

AWS CLI

Per abilitare una KMS chiave

L'enable-keyesempio seguente abilita una chiave gestita dal cliente. È possibile utilizzare un comando come questo per abilitare una KMS chiave che è stata temporaneamente disabilitata utilizzando il disable-key comando. Puoi anche usarlo per abilitare una KMS chiave che è disabilitata perché era stata pianificata per l'eliminazione e l'eliminazione è stata annullata.

Per specificare la KMS chiave, utilizzare il key-id parametro. Questo esempio utilizza un valore ID chiave, ma è possibile utilizzare un ID chiave o un ARN valore chiave in questo comando.

Prima di eseguire questo comando, sostituite l'ID della chiave di esempio con uno valido.

aws kms enable-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Questo comando non produce alcun output. Per verificare che la KMS chiave sia abilitata, utilizzate il describe-key comando. Visualizza i valori dei Enabled campi KeyState e nell'describe-keyoutput.

Per ulteriori informazioni, vedere Enabling and Disabling Keys nella AWS Key Management Service Developer Guide.

  • Per API i dettagli, vedere EnableKeyin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareencrypt.

AWS CLI

Esempio 1: cifrare il contenuto di un file su Linux o macOS

Il encrypt comando seguente illustra il metodo consigliato per crittografare i dati con. AWS CLI

aws kms encrypt \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --plaintext fileb://ExamplePlaintextFile \ --output text \ --query CiphertextBlob | base64 \ --decode > ExampleEncryptedFile

Il comando esegue diverse operazioni:

Utilizza il --plaintext parametro per indicare i dati da crittografare. Il valore del parametro deve essere codificato in base 64. Il valore del plaintext parametro deve essere codificato in base 64 oppure è necessario utilizzare il fileb:// prefisso, che indica loro di leggere i dati binari dal file.Se il AWS CLI file non si trova nella directory corrente, digitate il percorso completo del file. Ad esempio: fileb:///var/tmp/ExamplePlaintextFile o fileb://C:\Temp\ExamplePlaintextFile. Per ulteriori informazioni sulla lettura AWS CLI dei valori dei parametri da un file, vedere Loading Parameters from a File nella AWS Command Line Interface User Guide e Best Practices for Local File --query Parameters nel blog AWS --output Command Line Tool. Utilizza i parametri and per controllare l'output del comando.Questi parametri estraggono i dati crittografati, chiamati ciphertext, dall'output del comando.Per ulteriori informazioni sul controllo dell'output, vedere Controllo dell'output Output dei comandi nella Guida per l'utente dell'interfaccia a riga di AWS comando .Utilizza l'base64utilità per decodificare l'output estratto in dati binari. Il testo cifrato restituito da un encrypt comando riuscito è testo con codifica base64. È necessario decodificare questo testo prima di poterlo utilizzare AWS CLI per decrittografarlo. Salva il testo cifrato binario in un file. La parte finale del comando () salva il testo cifrato binario in un file per facilitarne la decrittografia. > ExampleEncryptedFile Per un comando di esempio che utilizza il per decrittografare i dati, consultate gli esempi di decrittografia. AWS CLI

Esempio 2: utilizzo di per AWS CLI crittografare i dati in Windows

Questo esempio è lo stesso del precedente, tranne per il fatto che utilizza lo certutil strumento anzichébase64. Questa procedura richiede due comandi, come illustrato nell'esempio seguente.

aws kms encrypt \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --plaintext fileb://ExamplePlaintextFile \ --output text \ --query CiphertextBlob > C:\Temp\ExampleEncryptedFile.base64 certutil -decode C:\Temp\ExampleEncryptedFile.base64 C:\Temp\ExampleEncryptedFile

Esempio 3: crittografia con una chiave asimmetrica KMS

Il encrypt comando seguente mostra come crittografare il testo in chiaro con una chiave asimmetrica. KMS Il parametro --encryption-algorithm è obbligatorio. Come in tutti encrypt CLI i comandi, il plaintext parametro deve essere codificato in base64 oppure è necessario utilizzare il fileb:// prefisso, che indica loro di leggere i dati binari dal file. AWS CLI

aws kms encrypt \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --encryption-algorithm RSAES_OAEP_SHA_256 \ --plaintext fileb://ExamplePlaintextFile \ --output text \ --query CiphertextBlob | base64 \ --decode > ExampleEncryptedFile

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzaregenerate-data-key-pair-without-plaintext.

AWS CLI

Per generare una coppia di ECC NIST chiavi dati asimmetriche P384

L'generate-data-key-pair-without-plaintextesempio seguente richiede una coppia di chiavi ECC NIST P384 da utilizzare all'esterno di. AWS

Il comando restituisce una chiave pubblica in chiaro e una copia della chiave privata crittografata con la chiave specificata. KMS Non restituisce una chiave privata in testo normale. È possibile archiviare in modo sicuro la chiave privata crittografata con i dati crittografati e chiamare AWS KMS per decrittografare la chiave privata quando è necessario utilizzarla.

Per richiedere una coppia di chiavi dati asimmetriche ECC NIST P384, utilizzare key-pair-spec il parametro con un valore di. ECC_NIST_P384

La KMS chiave specificata deve essere una chiave di crittografia simmetrica, ovvero una KMS chiave con un valore di. KMS KeySpec SYMMETRIC_DEFAULT

NOTE: I valori nell'output di questo esempio vengono troncati per essere visualizzati.

aws kms generate-data-key-pair-without-plaintext \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-pair-spec ECC_NIST_P384

Output:

{ "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" }

I PublicKey e PrivateKeyCiphertextBlob vengono restituiti in formato con codifica base64.

Per ulteriori informazioni, consulta Data key pairs nella Key Management Service Developer AWS Guide.

Il seguente esempio di codice mostra come utilizzaregenerate-data-key-pair.

AWS CLI

Per generare una coppia di chiavi dati RSA asimmetriche a 2048 bit

L'generate-data-key-pairesempio seguente richiede una coppia di chiavi RSA dati asimmetriche a 2048 bit da utilizzare all'esterno di. AWS Il comando restituisce una chiave pubblica in testo semplice e una chiave privata in testo semplice per l'uso e l'eliminazione immediati e una copia della chiave privata crittografata con la chiave specificata. KMS È possibile archiviare in modo sicuro la chiave privata crittografata con i dati crittografati.

Per richiedere una coppia di chiavi RSA dati asimmetriche a 2048 bit, utilizzare key-pair-spec il parametro con un valore di. RSA_2048

La KMS chiave specificata deve essere una chiave di crittografia simmetrica, ovvero una KMS chiave con un valore di. KMS KeySpec SYMMETRIC_DEFAULT

NOTE: I valori nell'output di questo esempio vengono troncati per essere visualizzati.

aws kms generate-data-key-pair \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-pair-spec RSA_2048

Output:

{ "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" }

I PublicKeyPrivateKeyPlaintext, e PrivateKeyCiphertextBlob vengono restituiti in formato con codifica base64.

Per ulteriori informazioni, consulta Data key pairs nella Key Management Service Developer AWS Guide.

Il seguente esempio di codice mostra come utilizzaregenerate-data-key-without-plaintext.

AWS CLI

Per generare una chiave dati simmetrica a 256 bit senza una chiave di testo semplice

L'generate-data-key-without-plaintextesempio seguente richiede una copia crittografata di una chiave dati simmetrica a 256 bit da utilizzare all'esterno di. AWS Puoi chiamare AWS KMS per decrittografare la chiave dati quando sei pronto per usarla.

Per richiedere una chiave dati a 256 bit, usa il key-spec parametro con un valore di. AES_256 Per richiedere una chiave dati a 128 bit, utilizzate il key-spec parametro con un valore di. AES_128 Per tutte le altre lunghezze delle chiavi dati, utilizzate il number-of-bytes parametro.

La KMS chiave specificata deve essere una chiave di crittografia simmetrica, ovvero una KMS chiave con un valore specifico della KMS chiave pari a _. 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-spec AES_256

Output:

{ "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogL", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }

La CiphertextBlob (chiave dati crittografata) viene restituita in formato con codifica base64.

Per ulteriori informazioni, consulta Data keys nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzaregenerate-data-key.

AWS CLI

Esempio 1: generare una chiave dati simmetrica a 256 bit

L'generate-data-keyesempio seguente richiede una chiave dati simmetrica a 256 bit da utilizzare all'esterno di. AWS Il comando restituisce una chiave di dati in testo semplice per l'uso e l'eliminazione immediati e una copia di tale chiave dati crittografata con la chiave specificata. KMS Puoi archiviare la chiave di dati crittografata in modo sicuro con i dati crittografati.

Per richiedere una chiave dati a 256 bit, utilizzate il key-spec parametro con un valore di. AES_256 Per richiedere una chiave dati a 128 bit, utilizzate il key-spec parametro con un valore di. AES_128 Per tutte le altre lunghezze delle chiavi dati, utilizzate il number-of-bytes parametro.

La KMS chiave specificata deve essere una chiave di crittografia simmetrica, ovvero una KMS chiave con un valore specifico della KMS chiave pari a _. SYMMETRIC DEFAULT

aws kms generate-data-key \ --key-id alias/ExampleAlias \ --key-spec AES_256

Output:

{ "Plaintext": "VdzKNHGzUAzJeRBVY+uUmofUGGiDzyB3+i9fVkh3piw=", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogLqPWZconQhwHAIBEIA7d9AC7GeJJM34njQvg4Wf1d5sw0NIo1MrBqZa+YdhV8MrkBQPeac0ReRVNDt9qleAt+SHgIRF8P0H+7U=" }

La Plaintext (chiave dati in chiaro) e la CiphertextBlob (chiave dati crittografata) vengono restituite in formato con codifica base64.

Per ulteriori informazioni, consulta Data keys < https://docs.aws.amazon.com/kms/ latest/developerguide/concepts .html #data -keys nella Key Management Service Developer Guide.AWS

Esempio 2: generare una chiave dati simmetrica a 512 bit

L'generate-data-keyesempio seguente richiede una chiave dati simmetrica a 512 bit per la crittografia e la decrittografia. Il comando restituisce una chiave di dati in testo semplice per l'uso e l'eliminazione immediati e una copia di tale chiave dati crittografata con la chiave specificata. KMS Puoi archiviare la chiave di dati crittografata in modo sicuro con i dati crittografati.

Per richiedere una lunghezza di chiave diversa da 128 o 256 bit, utilizzate il parametro. number-of-bytes Per richiedere una chiave dati a 512 bit, l'esempio seguente utilizza il number-of-bytes parametro con un valore di 64 (byte).

La KMS chiave specificata deve essere una chiave di crittografia simmetrica, ovvero una KMS chiave con un valore specifico della KMS chiave pari a _. SYMMETRIC DEFAULT

NOTE: I valori nell'output di questo esempio vengono troncati per essere visualizzati.

aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --number-of-bytes 64

Output:

{ "CiphertextBlob": "AQIBAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAEnX/QQNmMwDfg2korNMEc8AAACaDCCAmQGCSqGSIb3DQEHBqCCAlUwggJRAgEAMIICSgYJKoZ...", "Plaintext": "ty8Lr0Bk6OF07M2BWt6qbFdNB+G00ZLtf5MSEb4al3R2UKWGOp06njAwy2n72VRm2m7z/Pm9Wpbvttz6a4lSo9hgPvKhZ5y6RTm4OovEXiVfBveyX3DQxDzRSwbKDPk/...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }

Plaintext(chiave dati in chiaro) e CiphertextBlob (chiave dati crittografata) vengono restituite in formato con codifica base64.

Per ulteriori informazioni, consulta Data keys < https://docs.aws.amazon.com/kms/ latest/developerguide/concepts .html #data -keys nella Key Management Service Developer Guide.AWS

Il seguente esempio di codice mostra come utilizzaregenerate-random.

AWS CLI

Esempio 1: generare una stringa di byte casuale a 256 bit (Linux o) macOs

L'generate-randomesempio seguente genera una stringa di byte casuali a 256 bit (32 byte) con codifica in base64. L'esempio decodifica la stringa di byte e la salva in un file casuale.

Quando si esegue questo comando, è necessario utilizzare il number-of-bytes parametro per specificare la lunghezza del valore casuale in byte.

Non si specifica una KMS chiave quando si esegue questo comando. La stringa di byte casuale non è correlata a nessuna KMS chiave.

Per impostazione predefinita, AWS KMS genera il numero casuale. Tuttavia, se si specifica un archivio di chiavi personalizzato< https://docs.aws.amazon.com/kms/ latest/developerguide/custom - key-store-overview .html>, la stringa di byte casuale viene generata nel HSM cluster AWS Cloud associato all'archivio di chiavi personalizzato.

Questo esempio utilizza i seguenti parametri e valori:

Utilizza il --number-of-bytes parametro richiesto con un valore pari 32 a per richiedere una stringa da 32 byte (256 bit). Utilizza il --output parametro con valore text per indirizzare AWS CLI a restituire l'output come testo, anziché. Utilizza il --query parameter per estrarre il valore della Plaintext proprietà dalla response.IT invia (|) l'output del comando all'base64utilità, che decodifica l'output estratto.Utilizza l'operatore di reindirizzamento (>) per salvare la stringa di byte decodificata in File.it utilizza il JSON ExampleRandom operatore di reindirizzamento (>) per salvare il testo cifrato binario in un file.

aws kms generate-random \ --number-of-bytes 32 \ --output text \ --query Plaintext | base64 --decode > ExampleRandom

Questo comando non produce alcun output.

Per ulteriori informazioni, vedere GenerateRandomnel AWS Key Management Service Reference. API

Esempio 2: generare un numero casuale a 256 bit (prompt dei comandi di Windows)

L'esempio seguente utilizza il generate-random comando per generare una stringa di byte casuali a 256 bit (32 byte) con codifica base64. L'esempio decodifica la stringa di byte e la salva in un file casuale. Questo esempio è lo stesso dell'esempio precedente, tranne per il fatto che utilizza l'certutilutilità di Windows per decodificare in base64 la stringa di byte casuale prima di salvarla in un file.

Innanzitutto, genera una stringa di byte casuali codificata in base64 e la salva in un file temporaneo,. ExampleRandom.base64

aws kms generate-random \ --number-of-bytes 32 \ --output text \ --query Plaintext > ExampleRandom.base64

Poiché l'output del generate-random comando viene salvato in un file, questo esempio non produce alcun output.

Ora utilizzate il certutil -decode comando per decodificare la stringa di byte codificata in base64 nel file. ExampleRandom.base64 Quindi, salva la stringa di byte decodificata nel file. ExampleRandom

certutil -decode ExampleRandom.base64 ExampleRandom

Output:

Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.

Per ulteriori informazioni, vedere GenerateRandomnel AWS Key Management Service API Reference.

  • Per API i dettagli, vedere GenerateRandomin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareget-key-policy.

AWS CLI

Per copiare una politica chiave da una KMS chiave a un'altra KMS chiave

L'get-key-policyesempio seguente ottiene la politica chiave da una KMS chiave e la salva in un file di testo. Quindi, sostituisce la policy di una KMS chiave diversa utilizzando il file di testo come input della policy.

Poiché il --policy parametro di put-key-policy richiede una stringa, è necessario utilizzare l'--output textopzione per restituire l'output come stringa di JSON testo anziché.

aws kms get-key-policy \ --policy-name default \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --query Policy \ --output text > policy.txt aws kms put-key-policy \ --policy-name default \ --key-id 0987dcba-09fe-87dc-65ba-ab0987654321 \ --policy file://policy.txt

Questo comando non produce alcun output.

Per ulteriori informazioni, vedere PutKeyPolicynel AWS KMSAPIReference.

  • Per API i dettagli, vedere GetKeyPolicyin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareget-key-rotation-status.

AWS CLI

Per recuperare lo stato di rotazione di una KMS chiave.

L'get-key-rotation-statusesempio seguente restituisce informazioni sullo stato di rotazione della KMS chiave specificata, incluso se la rotazione automatica è abilitata, il periodo di rotazione e la successiva data di rotazione pianificata. È possibile utilizzare questo comando sulle KMS chiavi gestite dal cliente e sulle KMS chiavi AWS gestite. Tuttavia, tutte le KMS chiavi AWS gestite vengono ruotate automaticamente ogni anno.

aws kms get-key-rotation-status \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyRotationEnabled": true, "NextRotationDate": "2024-02-14T18:14:33.587000+00:00", "RotationPeriodInDays": 365 }

Per ulteriori informazioni, consulta Rotating keys nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-parameters-for-import.

AWS CLI

Per ottenere gli elementi necessari per importare il materiale chiave in una KMS chiave

L'get-parameters-for-importesempio seguente ottiene la chiave pubblica e il token di importazione necessari per importare il materiale chiave in una KMS chiave. Quando utilizzate il import-key-material comando, assicuratevi di utilizzare il token di importazione e il materiale chiave crittografati dalla chiave pubblica restituiti nello stesso get-parameters-for-import comando. Inoltre, l'algoritmo di wrapping specificato in questo comando deve essere quello utilizzato per crittografare il materiale della chiave con la chiave pubblica.

Per specificare la KMS chiave, utilizzate il key-id parametro. Questo esempio utilizza un ID di chiave, ma è possibile utilizzare un ID di chiave o una chiave ARN in questo comando.

aws kms get-parameters-for-import \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --wrapping-algorithm RSAES_OAEP_SHA_256 \ --wrapping-key-spec RSA_2048

Output:

{ "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 }

Per ulteriori informazioni, consulta Scaricare la chiave pubblica e importare il token nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-public-key.

AWS CLI

Esempio 1: scaricare la chiave pubblica di una chiave asimmetrica KMS

L'get-public-keyesempio seguente scarica la chiave pubblica di una chiave asimmetrica. KMS

Oltre a restituire la chiave pubblica, l'output include le informazioni necessarie per utilizzare la chiave pubblica in modo sicuro all'esterno AWS KMS, tra cui l'utilizzo della chiave e gli algoritmi di crittografia supportati.

aws kms get-public-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "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" ] }

Per ulteriori informazioni sull'utilizzo delle chiavi asimmetriche in AWS KMS, vedere Utilizzo KMS delle chiavi simmetriche e asimmetriche nel Key Management Service Reference.AWS API

Esempio 2: convertire una chiave pubblica in DER formato (Linux e macOS)

L'get-public-keyesempio seguente scarica la chiave pubblica di una chiave asimmetrica e KMS la salva in un file. DER

Quando si utilizza il get-public-key comando in AWS CLI, restituisce una chiave pubblica X.509 DER con codifica Base64. In questo esempio viene ottenuto il valore della proprietà come testo. PublicKey Base64 decodifica PublicKey e lo salva nel file. public_key.der Il output parametro restituisce l'output come testo, anziché. JSON Il --query parametro ottiene solo la PublicKey proprietà, non le proprietà necessarie per utilizzare la chiave pubblica in modo sicuro all'esterno AWS KMS.

Prima di eseguire questo comando, sostituisci l'ID della chiave di esempio con un ID di chiave valido del tuo AWS account.

aws kms get-public-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --output text \ --query PublicKey | base64 --decode > public_key.der

Questo comando non produce alcun output.

Per ulteriori informazioni sull'utilizzo delle chiavi asimmetriche in AWS KMS, vedere Utilizzo KMS delle chiavi simmetriche e asimmetriche nel Key Management Service Reference.AWS API

  • Per i dettagli, vedere in Command Reference. API GetPublicKeyAWS CLI

Il seguente esempio di codice mostra come utilizzareimport-key-material.

AWS CLI

Per importare materiale chiave in una KMS chiave

L'import-key-materialesempio seguente carica il materiale chiave in una KMS chiave creata senza materiale chiave. Lo stato chiave della KMS chiave deve esserePendingImport.

Questo comando utilizza materiale chiave crittografato con la chiave pubblica restituita dal get-parameters-for-import comando. Utilizza anche il token di importazione dello stesso get-parameters-for-import comando.

Il expiration-model parametro indica che il materiale chiave scade automaticamente alla data e all'ora specificate dal valid-to parametro. Quando il materiale chiave scade, AWS KMS elimina il materiale chiave, lo stato della chiave cambia Pending import e la KMS KMS chiave diventa inutilizzabile. Per ripristinare la KMS chiave, è necessario reimportare lo stesso materiale chiave. Per utilizzare un materiale chiave diverso, è necessario creare una nuova KMS chiave.

Prima di eseguire questo comando, sostituisci l'ID della chiave di esempio con un ID chiave valido o una chiave ARN del tuo AWS account.

aws kms import-key-material \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --encrypted-key-material fileb://EncryptedKeyMaterial.bin \ --import-token fileb://ImportToken.bin \ --expiration-model KEY_MATERIAL_EXPIRES \ --valid-to 2021-09-21T19:00:00Z

Questo comando non produce alcun output.

Per ulteriori informazioni sull'importazione di materiale chiave, vedere Importazione di materiale chiave nella Key Management Service Developer Guide.AWS

Il seguente esempio di codice mostra come utilizzarelist-aliases.

AWS CLI

Esempio 1: per elencare tutti gli alias in un AWS account e in una regione

L'esempio seguente utilizza il list-aliases comando per elencare tutti gli alias nella regione predefinita dell' AWS account. L'output include alias associati alle chiavi gestite e alle KMS chiavi AWS gestite KMS dal cliente.

aws kms list-aliases

Output:

{ "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" }, ... ] }

Esempio 2: per elencare tutti gli alias per una chiave particolare KMS

L'esempio seguente utilizza il list-aliases comando e il relativo key-id parametro per elencare tutti gli alias associati a una chiave particolareKMS.

Ogni alias è associato a una sola KMS chiave, ma una KMS chiave può avere più alias. Questo comando è molto utile perché la AWS KMS console elenca solo un alias per ogni chiave. KMS Per trovare tutti gli alias di una KMS chiave, è necessario utilizzare il list-aliases comando.

Questo esempio utilizza l'ID della KMS chiave per il --key-id parametro, ma in questo comando è possibile utilizzare un ID chiave, una chiaveARN, un nome alias o un aliasARN.

aws kms list-aliases --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "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" } ] }

Per ulteriori informazioni, vedere Working with Aliases nella AWS Key Management Service Developer Guide.

  • Per API i dettagli, vedere ListAliasesin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarelist-grants.

AWS CLI

Per visualizzare le sovvenzioni su una chiave AWS KMS

L'list-grantsesempio seguente mostra tutte le concessioni sulla KMS chiave AWS gestita specificata per Amazon DynamoDB nel tuo account. Questa concessione consente a DynamoDB di utilizzare KMS la chiave per conto dell'utente per crittografare una tabella DynamoDB prima di scriverla su disco. È possibile utilizzare un comando come questo per visualizzare le concessioni relative alle chiavi gestite e alle KMS chiavi AWS gestite dal cliente nell'account e nella regioneKMS. AWS

Questo comando utilizza il key-id parametro con un ID chiave per identificare la KMS chiave. È possibile utilizzare un ID o una chiave ARN per identificare la KMS chiave. Per ottenere l'ID della chiave o la chiave ARN di una KMS chiave AWS gestita, usa il list-aliases comando list-keys o.

aws kms list-grants \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

L'output mostra che la concessione autorizza Amazon DynamoDB a utilizzare KMS la chiave per operazioni crittografiche e consente di visualizzare i dettagli sulla chiave DescribeKey () e di ritirare KMS le sovvenzioni (). RetireGrant Il EncryptionContextSubset vincolo limita queste autorizzazioni alle richieste che includono le coppie di contesti di crittografia specificate. Di conseguenza, le autorizzazioni incluse nella concessione sono valide solo per l'account e la tabella DynamoDB specificati.

{ "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" } ] }

Per ulteriori informazioni, consulta Grants AWS KMS nella AWS Key Management Service Developer Guide.

  • Per API i dettagli, vedere ListGrantsin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarelist-key-policies.

AWS CLI

Per ottenere i nomi delle politiche chiave per una KMS chiave

L'list-key-policiesesempio seguente ottiene i nomi delle politiche chiave per una chiave gestita dal cliente nell'account e nella regione di esempio. È possibile utilizzare questo comando per trovare i nomi delle politiche chiave per le chiavi AWS gestite e le chiavi gestite dal cliente.

Poiché l'unico nome di policy chiave valido èdefault, questo comando non è utile.

Per specificare la KMS chiave, utilizzare il key-id parametro. Questo esempio utilizza un valore ID chiave, ma è possibile utilizzare un ID chiave o una chiave ARN in questo comando.

aws kms list-key-policies \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "PolicyNames": [ "default" ] }

Per ulteriori informazioni sulle politiche AWS KMS chiave, vedere Using Key Policies AWS KMS nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-key-rotations.

AWS CLI

Per recuperare informazioni su tutte le rotazioni dei materiali chiave completate

L'list-key-rotationsesempio seguente elenca le informazioni su tutte le rotazioni del materiale chiave completate per la chiave specificata. KMS

aws kms list-key-rotations \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "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 }

Per ulteriori informazioni, vedete Rotating keys nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-keys.

AWS CLI

Per ottenere le KMS chiavi in un account e in una regione

L'list-keysesempio seguente ottiene le KMS chiavi in un account e in una regione. Questo comando restituisce sia le chiavi AWS gestite che le chiavi gestite dal cliente.

aws kms list-keys

Output:

{ "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" } ] }

Per ulteriori informazioni, vedere Viewing Keys nella AWS Key Management Service Developer Guide.

  • Per API i dettagli, vedere ListKeysin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarelist-resource-tags.

AWS CLI

Per inserire i tag su una KMS chiave

L'list-resource-tagsesempio seguente ottiene i tag per una KMS chiave. Per aggiungere o sostituire i tag di risorsa sulle KMS chiavi, utilizzate il tag-resource comando. L'output mostra che questa KMS chiave ha due tag di risorsa, ognuno dei quali ha una chiave e un valore.

Per specificare la KMS chiave, utilizzate il key-id parametro. Questo esempio utilizza un valore ID chiave, ma è possibile utilizzare un ID chiave o una chiave ARN in questo comando.

aws kms list-resource-tags \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "Tags": [ { "TagKey": "Dept", "TagValue": "IT" }, { "TagKey": "Purpose", "TagValue": "Test" } ], "Truncated": false }

Per ulteriori informazioni sull'utilizzo dei tag in AWS KMS, consulta Tagging keys nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-retirable-grants.

AWS CLI

Per visualizzare le sovvenzioni che un preside può concedere in pensione

L'list-retirable-grantsesempio seguente mostra tutte le sovvenzioni che l'ExampleAdminutente può ritirare sulle KMS chiavi di un account e di una AWS regione. È possibile utilizzare un comando come questo per visualizzare le sovvenzioni che qualsiasi titolare del conto può ritirare sulle KMS chiavi dell'account e della AWS regione.

Il valore del retiring-principal parametro richiesto deve essere l'Amazon Resource Name (ARN) di un account, utente o ruolo.

Non è possibile specificare un servizio per il valore di retiring-principal in questo comando, anche se un servizio può essere il principale ritirante. Per trovare le concessioni in cui un particolare servizio è il principale ritirante, usa il comando. list-grants

L'output mostra che ExampleAdmin l'utente ha il permesso di ritirare le concessioni su due KMS chiavi diverse nell'account e nella regione. Oltre al titolare uscente, l'account è autorizzato a ritirare qualsiasi sovvenzione contenuta nell'account.

aws kms list-retirable-grants \ --retiring-principal arn:aws:iam::111122223333:user/ExampleAdmin

Output:

{ "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 }

Per ulteriori informazioni, consulta Grants AWS KMS nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzareput-key-policy.

AWS CLI

Per modificare la politica chiave di una KMS chiave

L'put-key-policyesempio seguente modifica la politica chiave per una chiave gestita dal cliente.

Per iniziare, create una policy chiave e salvatela in un JSON file locale. In questo esempio, il file èkey_policy.json. È inoltre possibile specificare la politica chiave come valore di stringa del policy parametro.

La prima dichiarazione di questa politica chiave autorizza l' AWS account a utilizzare IAM le politiche per controllare l'accesso alla KMS chiave. La seconda istruzione fornisce all'test-userutente il permesso di eseguire i list-keys comandi describe-key and sulla KMS chiave.

Contenuto di 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" : "*" } ] }

Per identificare la KMS chiave, in questo esempio viene utilizzato l'ID della chiave, ma è possibile utilizzare anche una chiaveARN. Per specificare la politica della chiave, il comando utilizza il policy parametro. Per indicare che la politica è contenuta in un file, utilizza il file:// prefisso richiesto. Questo prefisso è necessario per identificare i file su tutti i sistemi operativi supportati. Infine, il comando utilizza il policy-name parametro con un valore didefault. Se non viene specificato alcun nome di policy, il valore predefinito èdefault. L'unico valore valido è default.

aws kms put-key-policy \ --policy-name default \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --policy file://key_policy.json

Il comando non produce output. Per verificare che il comando sia stato efficace, utilizzare il get-key-policy comando. Il comando di esempio seguente ottiene la politica della chiave per la stessa KMS chiave. Il output parametro con un valore di text restituisce un formato di testo facile da leggere.

aws kms get-key-policy \ --policy-name default \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --output text

Output:

{ "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" : "*" } ] }

Per ulteriori informazioni, vedere Modifica di una politica AWS chiave nella Key Management Service Developer Guide.

  • Per API i dettagli, vedere PutKeyPolicyin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarere-encrypt.

AWS CLI

Esempio 1: ricrittografare un messaggio crittografato con una KMS chiave simmetrica diversa (Linux e macOS).

Il seguente esempio di re-encrypt comando mostra il metodo consigliato per ricrittografare i dati con. AWS CLI

Fornite il testo cifrato in un file. Nel valore del --ciphertext-blob parametro, utilizzate il fileb:// prefisso, che indica loro di leggere i dati CLI da un file binario. Se il file non si trova nella directory corrente, digitate il percorso completo del file. Per ulteriori informazioni sulla lettura AWS CLI dei valori dei parametri da un file, consultate Loading AWS CLI parameters from a file < https://docs.aws.amazon.com/cli/ latest/userguide/cli - usage-parameters-file .html> nella AWS Command Line Interface User Guide e Best Practices for Local File Parameters< https://aws.amazon.com/blogs/ developer/ best-practices-for-local -file-parameters/> nel AWS Command Line Tool Blog .Specificare la KMS chiave sorgente, che decrittografa il CipherText.Il --source-key-id parametro non è richiesto quando si esegue la decrittografia con crittografia simmetrica KMSchiavi. AWS KMSpuò ottenere la KMS chiave utilizzata per crittografare i dati dai metadati nel blob di testo cifrato. Ma è sempre consigliabile specificare la chiave che si sta utilizzando. KMS Questa pratica garantisce l'utilizzo della KMS chiave desiderata e impedisce di decrittografare inavvertitamente un testo cifrato utilizzando una KMS chiave non attendibile.Specificate la chiave di destinazione, che cripta nuovamente i dati.Il parametro KMS è sempre obbligatorio. --destination-key-id Questo esempio utilizza una chiaveARN, ma è possibile utilizzare qualsiasi identificatore di chiave valido. Richiedere l'output in chiaro come valore di testo. Il --query parametro indica loro di CLI ottenere solo il valore del Plaintext campo dall'output. Il --output parametro restituisce l'output come text.BASE64-Decode il testo non crittografato e lo salva in un file.L'esempio seguente trasferisce (|) il valore del parametro all'utilità Base64, che lo decodifica. Plaintext Quindi, reindirizza (>) l'output decodificato al file. ExamplePlaintext

Prima di eseguire questo comando, sostituisci la chiave di esempio IDs con identificatori di chiave validi del tuo account. AWS

aws kms re-encrypt \ --ciphertext-blob fileb://ExampleEncryptedFile \ --source-key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --destination-key-id 0987dcba-09fe-87dc-65ba-ab0987654321 \ --query CiphertextBlob \ --output text | base64 --decode > ExampleReEncryptedFile

Questo comando non produce alcun output. L'output del re-encrypt comando viene decodificato in base64 e salvato in un file.

Per ulteriori informazioni, vedere ReEncrypt < https://docs.aws.amazon.com/kms/ latest/APIReference/API _ ReEncrypt .html nel Key Management Service Reference.AWS API

Esempio 2: Per crittografare nuovamente un messaggio crittografato con una KMS chiave simmetrica diversa (prompt dei comandi di Windows).

Il seguente esempio di re-encrypt comando è lo stesso del precedente, tranne per il fatto che utilizza l'certutilutilità per decodificare in Base64 i dati di testo in chiaro. Questa procedura richiede due comandi, come illustrato negli esempi seguenti.

Prima di eseguire questo comando, sostituisci l'ID della chiave di esempio con un ID chiave valido del tuo AWS account.

aws kms re-encrypt ^ --ciphertext-blob fileb://ExampleEncryptedFile ^ --source-key-id 1234abcd-12ab-34cd-56ef-1234567890ab ^ --destination-key-id 0987dcba-09fe-87dc-65ba-ab0987654321 ^ --query CiphertextBlob ^ --output text > ExampleReEncryptedFile.base64

Quindi usa l'certutilutilità

certutil -decode ExamplePlaintextFile.base64 ExamplePlaintextFile

Output:

Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.

Per ulteriori informazioni, vedere ReEncrypt < https://docs.aws.amazon.com/kms/ latest/APIReference/API _ ReEncrypt .html nel AWS Key Management Service API Reference.

  • Per API i dettagli, vedere ReEncryptin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareretire-grant.

AWS CLI

Ritirare una sovvenzione relativa a una chiave master del cliente

L'retire-grantesempio seguente elimina una concessione da una KMS chiave.

Il comando di esempio seguente specifica i parametri grant-id e. key-id Il valore del key-id parametro deve essere la chiave ARN della KMS chiave.

aws kms retire-grant \ --grant-id 1234a2345b8a4e350500d432bccf8ecd6506710e1391880c4f7f7140160c9af3 \ --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

Questo comando non produce alcun output. Per confermare che la concessione è stata ritirata, usa il list-grants comando.

Per ulteriori informazioni, consulta Ritiro e revoca delle sovvenzioni nella AWS Key Management Service Developer Guide.

  • Per i API dettagli, vedere RetireGrantin Command Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzarerevoke-grant.

AWS CLI

Per revocare una concessione su una chiave master del cliente

L'revoke-grantesempio seguente elimina una concessione da una chiave. KMS Il comando di esempio seguente specifica i parametri grant-id e. key-id Il valore del key-id parametro può essere l'ID o la chiave ARN della KMS chiave.

aws kms revoke-grant \ --grant-id 1234a2345b8a4e350500d432bccf8ecd6506710e1391880c4f7f7140160c9af3 \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Questo comando non produce alcun output. Per confermare che la concessione è stata revocata, usa il list-grants comando.

Per ulteriori informazioni, consulta Ritiro e revoca delle sovvenzioni nella AWS Key Management Service Developer Guide.

  • Per i API dettagli, vedere RevokeGrantin Command Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzarerotate-key-on-demand.

AWS CLI

Per eseguire la rotazione su richiesta di una chiave KMS

L'rotate-key-on-demandesempio seguente avvia immediatamente la rotazione del materiale chiave per la chiave specificataKMS.

aws kms rotate-key-on-demand \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }

Per ulteriori informazioni, vedere Come eseguire la rotazione delle chiavi su richiesta nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzareschedule-key-deletion.

AWS CLI

Per pianificare l'eliminazione di una KMS chiave gestita dal cliente.

L'schedule-key-deletionesempio seguente pianifica l'eliminazione della KMS chiave gestita dal cliente specificata in 15 giorni.

Il --key-id parametro identifica la KMS chiave. Questo esempio utilizza un ARN valore chiave, ma è possibile utilizzare l'ID della chiave o la ARN KMS chiave. Il --pending-window-in-days parametro specifica la durata del periodo di attesa di 7-30 giorni. Per impostazione predefinita, il periodo di attesa è di 30 giorni. Questo esempio specifica il valore 15, che indica di AWS eliminare definitivamente la KMS chiave 15 giorni dopo il completamento del 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 risposta include la chiaveARN, lo stato della chiave, il periodo di attesa (PendingWindowInDays) e la data di eliminazione in formato Unix. Per visualizzare la data di cancellazione nell'ora locale, usa la AWS KMS console. KMSle chiavi nello stato della PendingDeletion chiave non possono essere utilizzate nelle operazioni crittografiche.

{ "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 }

Per ulteriori informazioni, vedere Eliminazione delle chiavi nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzaresign.

AWS CLI

Esempio 1: generare una firma digitale per un messaggio

L'signesempio seguente genera una firma crittografica per un breve messaggio. L'output del comando include un Signature campo codificato in base 64 che è possibile verificare utilizzando il comando. verify

È necessario specificare un messaggio da firmare e un algoritmo di firma supportato dalla chiave KMS asimmetrica. Per ottenere gli algoritmi di firma per la tua KMS chiave, usa il comando. describe-key

Nella AWS CLI versione 2.0, il valore del message parametro deve essere codificato in Base64. In alternativa, è possibile salvare il messaggio in un file e utilizzare il fileb:// prefisso, che indica loro di leggere i dati binari dal AWS CLI file.

Prima di eseguire questo comando, sostituisci l'ID della chiave di esempio con un ID chiave valido del tuo AWS account. L'ID della chiave deve rappresentare una KMS chiave asimmetrica con un utilizzo chiave di _. 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

Output:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Signature": "ABCDEFhpyVYyTxbafE74ccSvEJLJr3zuoV1Hfymz4qv+/fxmxNLA7SE1SiF8lHw80fKZZ3bJ...", "SigningAlgorithm": "RSASSA_PKCS1_V1_5_SHA_256" }

Per ulteriori informazioni sull'utilizzo delle KMS chiavi asimmetriche in AWS KMS, consulta la sezione Chiavi asimmetriche nella Key Management Service Developer Guide. AWS KMS AWS

Esempio 2: per salvare una firma digitale in un file (Linux e) macOs

L'signesempio seguente genera una firma crittografica per un breve messaggio memorizzato in un file locale. Il comando ottiene anche la Signature proprietà dalla risposta, Base64-la decodifica e la salva nel file. ExampleSignature È possibile utilizzare il file della firma in un verify comando che verifica la firma.

Il sign comando richiede un messaggio con codifica Base64 e un algoritmo di firma supportato dalla chiave asimmetrica. KMS Per ottenere gli algoritmi di firma supportati dalla chiave, usa il comando. KMS describe-key

Prima di eseguire questo comando, sostituisci l'ID della chiave di esempio con un ID chiave valido del tuo AWS account. L'ID della chiave deve rappresentare una KMS chiave asimmetrica con un utilizzo chiave di _. 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

Questo comando non produce alcun output. Questo esempio estrae la Signature proprietà dell'output e la salva in un file.

Per ulteriori informazioni sull'utilizzo delle chiavi asimmetriche in AWS KMS, vedete Asymmetric KMS keys AWS KMS nella Key Management Service Developer Guide.AWS

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Per aggiungere un tag a una KMS chiave

L'tag-resourceesempio seguente aggiunge "Purpose":"Test" e "Dept":"IT" contrassegna una KMS chiave gestita dal cliente. È possibile utilizzare tag come questi per etichettare KMS le chiavi e creare categorie di KMS chiavi per le autorizzazioni e il controllo.

Per specificare la KMS chiave, utilizzate il key-id parametro. Questo esempio utilizza un valore ID chiave, ma è possibile utilizzare un ID chiave o una chiave ARN in questo comando.

aws kms tag-resource \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --tags TagKey='Purpose',TagValue='Test' TagKey='Dept',TagValue='IT'

Questo comando non produce alcun output. Per visualizzare i tag su un AWS KMS KMS tasto, usa il list-resource-tags comando.

Per ulteriori informazioni sull'utilizzo dei tag in AWS KMS, consulta Tagging keys nella AWS Key Management Service Developer Guide.

  • Per API i dettagli, vedere TagResourcein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Per eliminare un tag da una KMS chiave

L'untag-resourceesempio seguente elimina il tag con la "Purpose" chiave da una KMS chiave gestita dal cliente.

Per specificare la KMS chiave, utilizzate il key-id parametro. Questo esempio utilizza un valore ID chiave, ma è possibile utilizzare un ID chiave o una chiave ARN in questo comando. Prima di eseguire questo comando, sostituisci l'ID della chiave di esempio con un ID chiave valido del tuo AWS account.

aws kms untag-resource \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --tag-key 'Purpose'

Questo comando non produce alcun output. Per visualizzare i tag su un AWS KMS KMS tasto, usa il list-resource-tags comando.

Per ulteriori informazioni sull'utilizzo dei tag in AWS KMS, consulta Tagging keys nella AWS Key Management Service Developer Guide.

  • Per API i dettagli, vedere UntagResourcein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareupdate-alias.

AWS CLI

Per associare un alias a una chiave diversa KMS

L'update-aliasesempio seguente associa l'alias a una chiave alias/test-key diversa. KMS

Il --alias-name parametro specifica l'alias. Il valore del nome alias deve iniziare con alias/ .Il --target-key-id parametro specifica la KMS chiave da associare all'alias. Non è necessario specificare la KMS chiave corrente per l'alias.

aws kms update-alias \ --alias-name alias/test-key \ --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Questo comando non produce alcun output. Per trovare l'alias, usa il list-aliases comando.

Per ulteriori informazioni, vedere Aggiornamento degli alias nella AWS Key Management Service Developer Guide.

  • Per API i dettagli, vedere UpdateAliasin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareupdate-custom-key-store.

AWS CLI

Esempio 1: modificare il nome descrittivo di un archivio di chiavi personalizzato

L'update-custom-key-storeesempio seguente modifica il nome dell'archivio chiavi personalizzato. Questo esempio funziona per un HSM key store AWS Cloud o un key store esterno.

Usa il custom-key-store-id per identificare l'archivio delle chiavi. Utilizzate il new-custom-key-store-name parametro per specificare il nuovo nome descrittivo.

Per aggiornare il nome descrittivo di un archivio HSM chiavi AWS Cloud, devi prima disconnetterlo, ad esempio utilizzando il disconnect-custom-key-store comando. È possibile aggiornare il nome descrittivo di un archivio di chiavi esterno mentre è connesso o disconnesso. Per trovare lo stato di connessione del tuo archivio chiavi personalizzato, usa il describe-custom-key-store comando.

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --new-custom-key-store-name ExampleKeyStore

Questo comando non restituisce alcun dato. Per verificare che il comando abbia funzionato, usa un describe-custom-key-stores comando.

Per ulteriori informazioni sull'aggiornamento di un archivio di HSM chiavi AWS Cloud, consulta Modifica delle impostazioni di AWS Cloud HSM key store nella AWS Key Management Service Developer Guide.

Per ulteriori informazioni sull'aggiornamento di un archivio di chiavi esterno, consulta Modifica delle proprietà dell'archivio di chiavi esterne nella AWS Key Management Service Developer Guide.

Esempio 2: per modificare la password kmsuser di un archivio di chiavi AWS Cloud HSM

L'update-custom-key-storeesempio seguente aggiorna il valore della kmsuser password con la password corrente per il HSM cluster kmsuser in the Cloud associato all'archivio di chiavi specificato. Questo comando non modifica la kmsuser password del cluster. Indica solo AWS KMS la password corrente. Se KMS non dispone della kmsuser password corrente, non può connettersi al AWS Cloud HSM Key Store.

NOTE: Prima di aggiornare un archivio di HSM chiavi AWS Cloud, è necessario disconnetterlo. Utilizza il comando disconnect-custom-key-store. Al termine del comando, puoi ricollegare l'archivio di chiavi AWS CloudHSM. Utilizza il comando connect-custom-key-store.

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --key-store-password ExamplePassword

Questo comando non restituisce alcun output. Per verificare che la modifica sia stata effettiva, usa un describe-custom-key-stores comando.

Per ulteriori informazioni sull'aggiornamento di un archivio di HSM chiavi AWS Cloud, consulta Modifica delle impostazioni di AWS Cloud HSM key store nella AWS Key Management Service Developer Guide.

Esempio 3: per modificare il HSM cluster AWS Cloud di un archivio di HSM chiavi AWS Cloud

L'esempio seguente modifica il HSM cluster AWS Cloud associato a un archivio di HSM chiavi AWS Cloud in un cluster correlato, ad esempio un backup diverso dello stesso cluster.

NOTE: Prima di aggiornare un archivio di HSM chiavi AWS Cloud, è necessario disconnetterlo. Utilizza il comando disconnect-custom-key-store. Al termine del comando, puoi ricollegare l'archivio di chiavi AWS CloudHSM. Utilizza il comando connect-custom-key-store.

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --cloud-hsm-cluster-id cluster-1a23b4cdefg

Questo comando non restituisce alcun output. Per verificare che la modifica sia stata effettiva, usa un describe-custom-key-stores comando.

Per ulteriori informazioni sull'aggiornamento di un archivio di HSM chiavi AWS Cloud, consulta Modifica delle impostazioni di AWS Cloud HSM key store nella AWS Key Management Service Developer Guide.

Esempio 4: per modificare le credenziali di autenticazione proxy di un key store esterno

L'esempio seguente aggiorna le credenziali di autenticazione proxy per l'archivio di chiavi esterno. È necessario specificare raw-secret-access-key sia il cheaccess-key-id, anche se si sta modificando solo uno dei valori. È possibile utilizzare questa funzionalità per correggere una credenziale non valida o per modificare la credenziale quando il proxy dell'archivio chiavi esterno la ruota.

Stabilisci la credenziale di autenticazione proxy per il tuo archivio di chiavi AWS KMS esterno. Quindi usa questo comando per fornire la credenziale a. AWS KMS AWS KMSutilizza questa credenziale per firmare le sue richieste al proxy esterno dell'archivio chiavi.

È possibile aggiornare le credenziali di autenticazione del proxy mentre l'archivio chiavi esterno è connesso o disconnesso. Per trovare lo stato di connessione del tuo archivio chiavi personalizzato, usa il 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="

Questo comando non restituisce alcun output. Per verificare che la modifica sia stata effettiva, utilizzate un describe-custom-key-stores comando.

Per ulteriori informazioni sull'aggiornamento di un archivio di chiavi esterno, vedere Modifica delle proprietà dell'archivio chiavi esterno nella AWS Key Management Service Developer Guide.

Esempio 5: per modificare la connettività proxy di un archivio di chiavi esterno

L'esempio seguente modifica l'opzione di connettività proxy dell'archivio di chiavi esterne dalla connettività degli endpoint pubblici alla connettività del servizio VPC endpoint. Oltre a modificare il xks-proxy-connectivity valore, è necessario modificare il xks-proxy-uri-endpoint valore in modo che rifletta il DNS nome privato associato al servizio VPC endpoint. È inoltre necessario aggiungere un xks-proxy-vpc-endpoint-service-name valore.

NOTE: Prima di aggiornare la connettività proxy di un archivio esterno, è necessario disconnetterlo. Utilizza il comando disconnect-custom-key-store. Al termine del comando, è possibile ricollegare l'archivio di chiavi esterno utilizzando il comando. connect-custom-key-store

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --xks-proxy-connectivity VPC_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"

Questo comando non restituisce alcun output. Per verificare che la modifica sia stata effettiva, utilizzate un describe-custom-key-stores comando.

Per ulteriori informazioni sull'aggiornamento di un archivio di chiavi esterno, vedere Modifica delle proprietà dell'archivio chiavi esterno nella AWS Key Management Service Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-key-description.

AWS CLI

Esempio 1: aggiungere o modificare una descrizione a una KMS chiave gestita dal cliente

L'update-key-descriptionesempio seguente aggiunge una descrizione a una KMS chiave gestita dal cliente. È possibile utilizzare lo stesso comando per modificare una descrizione esistente.

Il --key-id parametro identifica la KMS chiave nel comando. Questo esempio utilizza un ARN valore chiave, ma è possibile utilizzare l'ID della chiave o la KMS chiaveARN. Il --description parametro specifica la nuova descrizione. Il valore di questo parametro sostituisce l'eventuale descrizione corrente della KMS chiave.

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"

Questo comando non produce alcun output. Per visualizzare la descrizione di una KMS chiave, utilizzare il describe-key comando.

Per ulteriori informazioni, vedere UpdateKeyDescriptionnel AWS Key Management Service API Reference.

Esempio 2: Per eliminare la descrizione di una KMS chiave gestita dal cliente

L'update-key-descriptionesempio seguente elimina la descrizione di una KMS chiave gestita dal cliente.

Il --key-id parametro identifica la KMS chiave nel comando. Questo esempio utilizza un valore ID chiave, ma è possibile utilizzare l'ID della chiave o la KMS chiave. Il --description parametro con un valore ARN di stringa vuoto («) elimina la descrizione esistente.

aws kms update-key-description \ --key-id 0987dcba-09fe-87dc-65ba-ab0987654321 \ --description ''

Questo comando non produce alcun output. Per visualizzare la descrizione di una KMS chiave, utilizzate il comando describe-key.

Per ulteriori informazioni, vedere UpdateKeyDescriptionnel AWS Key Management Service Reference. API

Il seguente esempio di codice mostra come utilizzareverify.

AWS CLI

Per verificare una firma digitale

L'verifyesempio seguente verifica una firma crittografica per un breve messaggio con codifica Base64. L'ID della chiave, il messaggio, il tipo di messaggio e l'algoritmo di firma devono essere gli stessi utilizzati per firmare il messaggio. La firma specificata non può essere codificata in base 64. Per informazioni sulla decodifica della firma restituita dal comando, consultate gli esempi di sign comandi. sign

L'output del comando include un SignatureValid campo booleano che indica che la firma è stata verificata. Se la convalida della firma fallisce, anche il verify comando fallisce.

Prima di eseguire questo comando, sostituisci l'ID della chiave di esempio con un ID chiave valido del tuo AWS account.

aws kms verify \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --message fileb://EncodedMessage \ --message-type RAW \ --signing-algorithm RSASSA_PKCS1_V1_5_SHA_256 \ --signature fileb://ExampleSignature

Output:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "SignatureValid": true, "SigningAlgorithm": "RSASSA_PKCS1_V1_5_SHA_256" }

Per ulteriori informazioni sull'utilizzo delle chiavi asimmetriche in AWS KMS, vedere Using asimmetric KMS keys nella Key Management Service Developer Guide.AWS