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-deletion
esempio 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 ilenable-key
comando.Per ulteriori informazioni, consulta Pianificazione e annullamento dell'eliminazione delle chiavi nella AWS Key Management Service Developer Guide.
-
Per API i dettagli, vedere CancelKeyDeletion
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareconnect-custom-key-store
.
- AWS CLI
-
Per connettere un archivio di chiavi personalizzato
L'
connect-custom-key-store
esempio 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.
-
Per API i dettagli, vedere ConnectCustomKeyStore
in AWS CLI Command Reference.
-
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 denominatoexample-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. AWSaws kms create-alias \ --alias-name
alias/example-alias
\ --target-key-id1234abcd-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 CreateAlias
in 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-store
esempio 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 ilfile://
prefisso.aws kms create-custom-key-store \ --custom-key-store-name
ExampleCloudHSMKeyStore
\ --cloud-hsm-cluster-idcluster-1a23b4cdefg
\ --key-store-passwordkmsPswd
\ --trust-anchor-certificatefile://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-store
esempio 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-typeEXTERNAL_KEY_STORE
\ --xks-proxy-connectivityPUBLIC_ENDPOINT
\ --xks-proxy-uri-endpoint"https://myproxy.xks.example.com"
\ --xks-proxy-uri-path"/example-prefix/kms/xks/v1"
\ --xks-proxy-authentication-credential"AccessKeyId=ABCDE12345670EXAMPLE, RawSecretAccessKey=DXjSUawnel2fr6SKC7G25CNxTyWKE5PF9XX6H/u9pSo="
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-store
esempio 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-typeEXTERNAL_KEY_STORE
\ --xks-proxy-connectivityVPC_ENDPOINT_SERVICE
\ --xks-proxy-uri-endpoint"https://myproxy-private.xks.example.com"
\ --xks-proxy-uri-path"/kms/xks/v1"
\ --xks-proxy-vpc-endpoint-service-name"com.amazonaws.vpce.us-east-1.vpce-svc-example1"
\ --xks-proxy-authentication-credential"AccessKeyId=ABCDE12345670EXAMPLE, RawSecretAccessKey=DXjSUawnel2fr6SKC7G25CNxTyWKE5PF9XX6H/u9pSo="
Output:
{ "CustomKeyStoreId": cks-3234567890abcdef0 }
Per ulteriori informazioni, vedere Creazione di un archivio di chiavi esterno nella AWS Key Management Service Developer Guide.
-
Per API i dettagli, vedere CreateCustomKeyStore
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-grant
.
- AWS CLI
-
Per creare una sovvenzione
L'
create-grant
esempio seguente crea una concessione che consente all'exampleUser
utente di utilizzare ildecrypt
comando sulla KMS chiave di1234abcd-12ab-34cd-56ef-1234567890ab
esempio. Il preside uscente è iladminRole
ruolo. La concessione utilizza il vincoloEncryptionContextSubset
grant per consentire questa autorizzazione solo quando il contesto di crittografia nelladecrypt
richiesta include la"Department": "IT"
coppia chiave-valore.aws kms create-grant \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --grantee-principalarn:aws:iam::123456789012:user/exampleUser
\ --operationsDecrypt
\ --constraintsEncryptionContextSubset={Department=IT}
\ --retiring-principalarn:aws:iam::123456789012:role/adminRole
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 CreateGrant
in 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-key
esempio 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 ilput-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 ilcreate-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-key
esempio 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-usageENCRYPT_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 seSIGN_VERIFY
è l'unico valore valido per le chiavi. ECC KMSaws kms create-key \ --key-spec
ECC_NIST_P521
\ --key-usageSIGN_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-key
esempio seguente crea una chiave a 384 bit HMACKMS. IlGENERATE_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-usageGENERATE_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-key
esempio 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-key
esempio 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-key
esempio 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-idcks-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-key
esempio 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 essereEXTERNAL_KEY_STORE
.Ilcustom-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 CreateKey
in 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. KMSFornisci il testo cifrato in un file. Nel valore del
--ciphertext-blob
parametro, usa ilfileb://
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. CLIPlaintext
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 delPlaintext
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-id1234abcd-12ab-34cd-56ef-1234567890ab
\ --outputtext
\ --queryPlaintext
|
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'
certutil
utilità 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-blobfileb://ExampleEncryptedFile
^
--key-id1234abcd-12ab-34cd-56ef-1234567890ab
^
--outputtext
^
--queryPlaintext
>
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 KMSQuando 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-id0987dcba-09fe-87dc-65ba-ab0987654321
\ --encryption-algorithmRSAES_OAEP_SHA_256
\ --outputtext
\ --queryPlaintext
|
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-alias
esempio 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 DeleteAlias
in 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-store
esempio 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.
-
Per API i dettagli, vedere DeleteCustomKeyStore
in AWS CLI Command Reference.
-
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-material
esempio 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 diPendingImport
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.
-
Per i API dettagli, vedere in Command Reference. DeleteImportedKeyMaterial
AWS CLI
-
Il seguente esempio di codice mostra come utilizzarederive-shared-secret
.
- AWS CLI
-
Per ricavare un segreto condiviso
L'
derive-shared-secret
esempio 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
DeriveSharedSecretaws kms derive-shared-secret \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --key-agreement-algorithmECDH
\ --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
-
Per API i dettagli, vedere DeriveSharedSecret
in AWS CLI Command Reference.
-
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-store
esempio 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
parametrocustom-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 unConnectionErrorCode
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-store
esempio 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
parametrocustom-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 unConnectionErrorCode
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-store
esempio 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
parametrocustom-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 unConnectionErrorCode
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.
-
Per API i dettagli, vedere DescribeCustomKeyStores
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-key
.
- AWS CLI
-
Esempio 1: Per trovare informazioni dettagliate su una KMS chiave
L'
describe-key
esempio 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-key
esempio 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-key
esempio seguente ottiene i metadati per una chiave di replica multiregionale. Questa chiave multiregionale è una chiave di crittografia simmetrica. L'output di undescribe-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-key
esempio 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 DescribeKey
in 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-rotation
esempio seguente disabilita la rotazione automatica di una KMS chiave gestita dal cliente. Per riattivare la rotazione automatica, utilizzare ilenable-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.
-
Per API i dettagli, vedere DisableKeyRotation
in AWS CLI Command Reference.
-
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 ilenable-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 DisableKey
in 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-store
esempio 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.
-
Per API i dettagli, vedere DisconnectCustomKeyStore
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareenable-key-rotation
.
- AWS CLI
-
Per abilitare la rotazione automatica di una KMS chiave
L'
enable-key-rotation
esempio 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-days180
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.
-
Per API i dettagli, vedere EnableKeyRotation
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareenable-key
.
- AWS CLI
-
Per abilitare una KMS chiave
L'
enable-key
esempio seguente abilita una chiave gestita dal cliente. È possibile utilizzare un comando come questo per abilitare una KMS chiave che è stata temporaneamente disabilitata utilizzando ildisable-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 deiEnabled
campiKeyState
e nell'describe-key
output.Per ulteriori informazioni, vedere Enabling and Disabling Keys nella AWS Key Management Service Developer Guide.
-
Per API i dettagli, vedere EnableKey
in 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 CLIaws kms encrypt \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --plaintextfileb://ExamplePlaintextFile
\ --outputtext
\ --queryCiphertextBlob
|
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 delplaintext
parametro deve essere codificato in base 64 oppure è necessario utilizzare ilfileb://
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
ofileb://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
Parametersnel 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'base64
utilità per decodificare l'output estratto in dati binari. Il testo cifrato restituito da unencrypt
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 CLIEsempio 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
\ --plaintextfileb://ExamplePlaintextFile
\ --outputtext
\ --queryCiphertextBlob
>
C:\Temp\ExampleEncryptedFile.base64certutil
-decode
C:\Temp\ExampleEncryptedFile.base64 C:\Temp\ExampleEncryptedFileEsempio 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 tuttiencrypt
CLI i comandi, ilplaintext
parametro deve essere codificato in base64 oppure è necessario utilizzare ilfileb://
prefisso, che indica loro di leggere i dati binari dal file. AWS CLIaws kms encrypt \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --encryption-algorithmRSAES_OAEP_SHA_256
\ --plaintextfileb://ExamplePlaintextFile
\ --outputtext
\ --queryCiphertextBlob
|
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-plaintext
esempio seguente richiede una coppia di chiavi ECC NIST P384 da utilizzare all'esterno di. AWSIl 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-specECC_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
ePrivateKeyCiphertextBlob
vengono restituiti in formato con codifica base64.Per ulteriori informazioni, consulta Data key pairs nella Key Management Service Developer AWS Guide.
-
Per API i dettagli, vedere GenerateDataKeyPairWithoutPlaintext
in AWS CLI Command Reference.
-
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-pair
esempio 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-specRSA_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
PublicKey
PrivateKeyPlaintext
, ePrivateKeyCiphertextBlob
vengono restituiti in formato con codifica base64.Per ulteriori informazioni, consulta Data key pairs nella Key Management Service Developer AWS Guide.
-
Per API i dettagli, vedere GenerateDataKeyPair
in AWS CLI Command Reference.
-
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-plaintext
esempio 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 ilkey-spec
parametro con un valore di.AES_128
Per tutte le altre lunghezze delle chiavi dati, utilizzate ilnumber-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-specAES_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.
-
Per API i dettagli, vedere GenerateDataKeyWithoutPlaintext
in AWS CLI Command Reference.
-
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-key
esempio 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 ilkey-spec
parametro con un valore di.AES_128
Per tutte le altre lunghezze delle chiavi dati, utilizzate ilnumber-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-specAES_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 laCiphertextBlob
(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-key
esempio 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 ilnumber-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-bytes64
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) eCiphertextBlob
(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
-
Per API i dettagli, vedere GenerateDataKey
in AWS CLI Command Reference.
-
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-random
esempio 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 pari32
a per richiedere una stringa da 32 byte (256 bit). Utilizza il--output
parametro con valoretext
per indirizzare AWS CLI a restituire l'output come testo, anziché. Utilizza il--query parameter
per estrarre il valore dellaPlaintext
proprietà dalla response.IT invia (|) l'output del comando all'base64
utilità, che decodifica l'output estratto.Utilizza l'operatore di reindirizzamento (>) per salvare la stringa di byte decodificata in File.it utilizza il JSONExampleRandom
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'certutil
utilità 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
\ --outputtext
\ --queryPlaintext
>
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 GenerateRandom
in 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-policy
esempio 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 diput-key-policy
richiede una stringa, è necessario utilizzare l'--output text
opzione per restituire l'output come stringa di JSON testo anziché.aws kms get-key-policy \ --policy-name
default
\ --key-id1234abcd-12ab-34cd-56ef-1234567890ab
\ --queryPolicy
\ --outputtext
>
policy.txt
aws
kms
put-key-policy
\ --policy-namedefault
\ --key-id0987dcba-09fe-87dc-65ba-ab0987654321
\ --policyfile://policy.txt
Questo comando non produce alcun output.
Per ulteriori informazioni, vedere PutKeyPolicynel AWS KMSAPIReference.
-
Per API i dettagli, vedere GetKeyPolicy
in 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-status
esempio 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.
-
Per API i dettagli, vedere GetKeyRotationStatus
in AWS CLI Command Reference.
-
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-import
esempio seguente ottiene la chiave pubblica e il token di importazione necessari per importare il materiale chiave in una KMS chiave. Quando utilizzate ilimport-key-material
comando, assicuratevi di utilizzare il token di importazione e il materiale chiave crittografati dalla chiave pubblica restituiti nello stessoget-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-algorithmRSAES_OAEP_SHA_256
\ --wrapping-key-specRSA_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.
-
Per API i dettagli, vedere GetParametersForImport
in AWS CLI Command Reference.
-
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-key
esempio seguente scarica la chiave pubblica di una chiave asimmetrica. KMSOltre 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-key
esempio seguente scarica la chiave pubblica di una chiave asimmetrica e KMS la salva in un file. DERQuando 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 decodificaPublicKey
e lo salva nel file.public_key.der
Iloutput
parametro restituisce l'output come testo, anziché. JSON Il--query
parametro ottiene solo laPublicKey
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
\ --outputtext
\ --queryPublicKey
|
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 GetPublicKey
AWS CLI
-
Il seguente esempio di codice mostra come utilizzareimport-key-material
.
- AWS CLI
-
Per importare materiale chiave in una KMS chiave
L'
import-key-material
esempio 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 stessoget-parameters-for-import
comando.Il
expiration-model
parametro indica che il materiale chiave scade automaticamente alla data e all'ora specificate dalvalid-to
parametro. Quando il materiale chiave scade, AWS KMS elimina il materiale chiave, lo stato della chiave cambiaPending 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-materialfileb://EncryptedKeyMaterial.bin
\ --import-tokenfileb://ImportToken.bin
\ --expiration-modelKEY_MATERIAL_EXPIRES
\ --valid-to2021-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
-
Per API i dettagli, vedere ImportKeyMaterial
in AWS CLI Command Reference.
-
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 relativokey-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 ListAliases
in 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-grants
esempio 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. AWSQuesto 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 illist-aliases
comandolist-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
IlEncryptionContextSubset
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 ListGrants
in 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-policies
esempio 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.
-
Per API i dettagli, vedere ListKeyPolicies
in AWS CLI Command Reference.
-
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-rotations
esempio seguente elenca le informazioni su tutte le rotazioni del materiale chiave completate per la chiave specificata. KMSaws 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.
-
Per API i dettagli, vedere ListKeyRotations
in AWS CLI Command Reference.
-
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-keys
esempio 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 ListKeys
in 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-tags
esempio seguente ottiene i tag per una KMS chiave. Per aggiungere o sostituire i tag di risorsa sulle KMS chiavi, utilizzate iltag-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.
-
Per API i dettagli, vedere ListResourceTags
in AWS CLI Command Reference.
-
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-grants
esempio seguente mostra tutte le sovvenzioni che l'ExampleAdmin
utente 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.
-
Per API i dettagli, vedere ListRetirableGrants
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-key-policy
.
- AWS CLI
-
Per modificare la politica chiave di una KMS chiave
L'
put-key-policy
esempio 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 delpolicy
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-user
utente il permesso di eseguire ilist-keys
comandidescribe-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 ilfile://
prefisso richiesto. Questo prefisso è necessario per identificare i file su tutti i sistemi operativi supportati. Infine, il comando utilizza ilpolicy-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-id1234abcd-12ab-34cd-56ef-1234567890ab
\ --policyfile://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. Iloutput
parametro con un valore ditext
restituisce un formato di testo facile da leggere.aws kms get-key-policy \ --policy-name
default
\ --key-id1234abcd-12ab-34cd-56ef-1234567890ab
\ --outputtext
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 PutKeyPolicy
in 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 CLIFornite il testo cifrato in un file. Nel valore del
--ciphertext-blob
parametro, utilizzate ilfileb://
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 delPlaintext
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-id1234abcd-12ab-34cd-56ef-1234567890ab
\ --destination-key-id0987dcba-09fe-87dc-65ba-ab0987654321
\ --queryCiphertextBlob
\ --outputtext
|
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'certutil
utilità 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-blobfileb://ExampleEncryptedFile
^
--source-key-id1234abcd-12ab-34cd-56ef-1234567890ab
^
--destination-key-id0987dcba-09fe-87dc-65ba-ab0987654321
^
--queryCiphertextBlob
^
--outputtext
>
ExampleReEncryptedFile.base64
Quindi usa l'
certutil
utilità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 ReEncrypt
in 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-grant
esempio seguente elimina una concessione da una KMS chiave.Il comando di esempio seguente specifica i parametri
grant-id
e.key-id
Il valore delkey-id
parametro deve essere la chiave ARN della KMS chiave.aws kms retire-grant \ --grant-id
1234a2345b8a4e350500d432bccf8ecd6506710e1391880c4f7f7140160c9af3
\ --key-idarn: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 RetireGrant
in 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-grant
esempio seguente elimina una concessione da una chiave. KMS Il comando di esempio seguente specifica i parametrigrant-id
e.key-id
Il valore delkey-id
parametro può essere l'ID o la chiave ARN della KMS chiave.aws kms revoke-grant \ --grant-id
1234a2345b8a4e350500d432bccf8ecd6506710e1391880c4f7f7140160c9af3
\ --key-id1234abcd-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 RevokeGrant
in 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-demand
esempio 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.
-
Per API i dettagli, vedere RotateKeyOnDemand
in AWS CLI Command Reference.
-
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-deletion
esempio 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 dellaPendingDeletion
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.
-
Per API i dettagli, vedere ScheduleKeyDeletion
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaresign
.
- AWS CLI
-
Esempio 1: generare una firma digitale per un messaggio
L'
sign
esempio seguente genera una firma crittografica per un breve messaggio. L'output del comando include unSignature
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 ilfileb://
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'
sign
esempio seguente genera una firma crittografica per un breve messaggio memorizzato in un file locale. Il comando ottiene anche laSignature
proprietà dalla risposta, Base64-la decodifica e la salva nel file. ExampleSignature È possibile utilizzare il file della firma in unverify
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. KMSdescribe-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-resource
esempio 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 TagResource
in 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-resource
esempio 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 UntagResource
in 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-alias
esempio seguente associa l'alias a una chiavealias/test-key
diversa. KMSIl
--alias-name
parametro specifica l'alias. Il valore del nome alias deve iniziare conalias/
.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 UpdateAlias
in 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-store
esempio 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 ilnew-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 ildescribe-custom-key-store
comando.aws kms update-custom-key-store \ --custom-key-store-id
cks-1234567890abcdef0
\ --new-custom-key-store-nameExampleKeyStore
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-store
esempio seguente aggiorna il valore dellakmsuser
password con la password corrente per il HSM clusterkmsuser
in the Cloud associato all'archivio di chiavi specificato. Questo comando non modifica lakmsuser
password del cluster. Indica solo AWS KMS la password corrente. Se KMS non dispone dellakmsuser
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 comandoconnect-custom-key-store
.aws kms update-custom-key-store \ --custom-key-store-id
cks-1234567890abcdef0
\ --key-store-passwordExamplePassword
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 comandoconnect-custom-key-store
.aws kms update-custom-key-store \ --custom-key-store-id
cks-1234567890abcdef0
\ --cloud-hsm-cluster-idcluster-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 ilxks-proxy-uri-endpoint
valore in modo che rifletta il DNS nome privato associato al servizio VPC endpoint. È inoltre necessario aggiungere unxks-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-connectivityVPC_ENDPOINT_SERVICE
\ --xks-proxy-uri-endpoint"https://myproxy-private.xks.example.com"
\ --xks-proxy-vpc-endpoint-service-name"com.amazonaws.vpce.us-east-1.vpce-svc-example"
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.
-
Per API i dettagli, vedere UpdateCustomKeyStore
in AWS CLI Command Reference.
-
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-description
esempio 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-description
esempio 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
-
Per API i dettagli, vedere UpdateKeyDescription
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareverify
.
- AWS CLI
-
Per verificare una firma digitale
L'
verify
esempio 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 disign
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 ilverify
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
\ --messagefileb://EncodedMessage
\ --message-typeRAW
\ --signing-algorithmRSASSA_PKCS1_V1_5_SHA_256
\ --signaturefileb://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