Visualizzazione di chiavi KMS con l'API - AWS Key Management Service

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à.

Visualizzazione di chiavi KMS con l'API

Puoi utilizzare l'APIAWS Key Management Service (AWS KMS) per visualizzare le tue chiavi KMS. Questa sezione illustra diverse operazioni che restituiscono dettagli sulle esistenti chiavi KMS. Gli esempi utilizzano la AWS Command Line Interface (AWS CLI), ma puoi usare anche qualsiasi linguaggio di programmazione supportato.

ListKeys: Ottieni l'ID e l'ARN di tutte le chiavi KMS

L'ListKeysoperazione restituisce l'ID e l'Amazon Resource Name (ARN) di tutte le chiavi KMS nell'account e nella regione.

Ad esempio, questa chiamata all'operazione ListKeys restituisce l'ID e l'ARN di ciascuna chiave KMS presente in questo account fittizio. Per esempi in più linguaggi di programmazione, consulta Ottenimento degli ID e degli ARN delle chiavi KMS.

$ aws kms list-keys { "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" } }

DescribeKey: Ottieni informazioni dettagliate su una chiave KMS

L'DescribeKeyoperazione restituisce dettagli sulla chiave KMS specificata. Per identificare la chiave KMS, utilizza ID chiave, ARN di chiave, nome alias o alias ARN.

A differenza dell'ListKeysoperazione, che visualizza solo le chiavi KMS nell'account e nella regione del chiamante, gli utenti autorizzati possono utilizzare l'DescribeKeyoperazione per ottenere dettagli sulle chiavi KMS in altri account.

Nota

La risposta DescribeKey include sia membri KeySpec e CustomerMasterKeySpec con gli stessi valori. Il membro CustomerMasterKeySpec è obsoleto.

Ad esempio, questa chiamata a DescribeKey restituisce informazioni su una chiave KMS di crittografia simmetrica. I campi nella risposta variano in base alle specifiche della AWS KMS key, allo stato della chiave e all'origine del materiale della chiave. Per esempi in più linguaggi di programmazione, consulta Visualizzazione di un AWS KMS key.

$ aws kms describe-key --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "KeyManager": "CUSTOMER", "Enabled": true, "KeySpec": "SYMMETRIC_DEFAULT", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1499988169.234, "MultiRegion": false, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

Questo esempio chiama l'operazione DescribeKey su una chiave KMS asimmetrica utilizzata per la firma e la verifica. La risposta include gli algoritmi di firma supportati da AWS KMS per questa chiave KMS.

$ aws kms describe-key --key-id 0987dcba-09fe-87dc-65ba-ab0987654321 { "KeyMetadata": { "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "Origin": "AWS_KMS", "Arn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", "KeyState": "Enabled", "KeyUsage": "SIGN_VERIFY", "CreationDate": 1569973196.214, "Description": "", "KeySpec": "ECC_NIST_P521", "CustomerMasterKeySpec": "ECC_NIST_P521", "AWSAccountId": "111122223333", "Enabled": true, "MultiRegion": false, "KeyManager": "CUSTOMER", "SigningAlgorithms": [ "ECDSA_SHA_512" ] } }

GetKeyPolicy: ottieni la politica chiave allegata a una chiave KMS

L'GetKeyPolicyoperazione ottiene la politica chiave allegata alla chiave KMS. Per identificare la chiave KMS utilizza l'ID chiave o l'ARN di chiave. Inoltre, devi specificare il nome della policy, che è sempre default. (Se l'output è difficile da leggere, aggiungi l'opzione --output text al comando.) GetKeyPolicyfunziona solo sulle chiavi KMS nell'account e nella regione dell'intermediario.

Per esempi in più linguaggi di programmazione, consulta Recupero di una policy delle chiavi.

$ aws kms get-key-policy --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --policy-name default { "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" : "*" } ] }

ListAliases: Ottieni nomi alias e ARN per le chiavi KMS

L'ListAliasesoperazione restituisce gli alias nell'account e nella regione. Il TargetKeyId nella risposta mostra l'ID chiave della chiave KMS a cui l'alias fa riferimento, se del caso.

Per impostazione predefinita, il comando ListAliases restituisce tutti gli alias nell'account e nella regione. Sono inclusi gli alias creati dall'utente e associati alle chiavi gestite dal cliente, così come gli alias creati da AWS e associati alla Chiave gestita da AWS nell'account dell'utente. Gli alias AWS sono riconoscibili per il formato del nome aws/<service-name>, ad esempio aws/dynamodb.

La risposta potrebbe includere anche alias che non includono il campo TargetKeyId, come nel caso dell'alias aws/redshift in questo esempio. Questi sono alias predefiniti che AWS ha creato, ma che non ha ancora associato a una chiave KMS.

Per esempi in più linguaggi di programmazione, consulta Elenco degli alias.

$ aws kms list-aliases { "Aliases": [ { "AliasName": "alias/access-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1516435200.399, "LastUpdatedDate": 1516435200.399 }, { "AliasName": "alias/financeKey", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/financeKey", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1604958290.014, "LastUpdatedDate": 1604958290.014 }, { "AliasName": "alias/ECC-P521-Sign", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/ECC-P521-Sign", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1693622000.704, "LastUpdatedDate": 1693622000.704 }, { "AliasName": "alias/ImportedKey", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/ImportedKey", "TargetKeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d", "CreationDate": 1493622000.704, "LastUpdatedDate": 1521097200.235 }, { "AliasName": "alias/aws/dynamodb", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/dynamodb", "TargetKeyId": "0987ab65-43cd-21ef-09ab-87654321cdef", "CreationDate": 1521097200.454, "LastUpdatedDate": 1521097200.454 }, { "AliasName": "alias/aws/ebs", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/ebs", "TargetKeyId": "abcd1234-09fe-ef90-09fe-ab0987654321", "CreationDate": 1466518990.200, "LastUpdatedDate": 1466518990.200 }, { "AliasName": "alias/aws/redshift", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/redshift" }, ] }

Per ottenere gli alias che fanno riferimento a una determinata chiave KMS, utilizza il parametro KeyId. Il valore del parametro può essere l'ID chiave o l'ARN della chiave. Non è possibile specificare un nome dell'alias o un ARN dell'alias.

Il comando nell'esempio seguente ottiene gli alias che fanno riferimento a una chiave gestita dal cliente. Tuttavia, puoi utilizzare un comando come questo anche per trovare anche gli alias che fanno riferimento alle Chiavi gestite da AWS.

$ aws kms list-aliases --key-id arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321 { "Aliases": [ { "AliasName": "alias/access-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1516435200.399, "LastUpdatedDate": 1516435200.399 }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/financeKey", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "AliasName": "alias/financeKey", "CreationDate": 1604958290.014, "LastUpdatedDate": 1604958290.014 }, ] }

Per ottenere solo gli alias per Chiavi gestite da AWS, utilizza le caratteristiche del linguaggio di programmazione per filtrare la risposta.

$ aws kms list-aliases --query 'Aliases[?starts_with(AliasName, `alias/aws/`)]'

ListResourceTags: Ottieni i tag sulle chiavi KMS

L'ListResourceTagsoperazione restituisce i tag sulla chiave KMS specificata. L'API restituisce i tag per una chiave KMS, ma è possibile eseguire il comando in un ciclo per ottenere i tag per tutte le chiavi KMS nell'account e nella regione, o per un set di chiavi KMS selezionate. Questa API restituisce una pagina alla volta, quindi se si dispone di numerosi tag su numerose chiavi KMS, potrebbe essere necessario utilizzare l'impaginatore nel linguaggio di programmazione per ottenere tutti i tag desiderati.

L'operazione ListResourceTags restituisce i tag per tutte le chiavi KMS, ma le Chiave gestita da AWS non sono taggate. Funziona solo con le chiavi KMS nell'account e nella regione dell'intermediario.

Per trovare i tag per una chiave KMS, utilizza l'operazione ListResourceTags. Il parametro KeyId è obbligatorio. Accetta un ID chiave o un ARN della chiave. Prima di eseguire questo esempio, sostituisci l'ARN della chiave di esempio con uno valido.

$ aws kms list-resource-tags --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab { "Tags": [ { "TagKey": "Department", "TagValue": "IT" }, { "TagKey": "Purpose", "TagValue": "Test" } ], "Truncated": false }

È possibile utilizzare l'operazione ListResourceTags per ottenere tutte le chiavi KMS nell'account e nella Regione con un tag, una chiave di tag o un valore di tag specifico. Per fare ciò, utilizzare le funzionalità di filtraggio del linguaggio di programmazione.

Ad esempio, il seguente script Bash utilizza le ListResourceTags operazioni ListKeysand per ottenere tutte le chiavi KMS nell'account e nella regione con una Project chiave tag. Entrambe queste operazioni ottengono solo la prima pagina dei risultati. Se si dispone di numerose chiavi KMS o di numerosi tag, utilizzare le funzionalità di impaginazione della lingua per ottenere l'intero risultato da ogni operazione. Prima di eseguire questo esempio, sostituisci gli ID della chiave di esempio con quelli validi.

TARGET_TAG_KEY='Project' for key in $(aws kms list-keys --query 'Keys[*].KeyId' --output text); do key_tags=$(aws kms list-resource-tags --key-id "$key" --query "Tags[?TagKey==\`$TARGET_TAG_KEY\`]") if [ "$key_tags" != "[]" ]; then echo "Key: $key" echo "$key_tags" fi done

L'output è formattato come l'output di esempio seguente.

Key: 0987dcba-09fe-87dc-65ba-ab0987654321 [ { "TagKey": "Project", "TagValue": "Gamma" } ] Key: 1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d [ { "TagKey": "Project", "TagValue": "Alpha" } ] Key: 0987ab65-43cd-21ef-09ab-87654321cdef [ { "TagKey": "Project", "TagValue": "Alpha" } ]