Schlüssel anzeigen mit dem KMS API - AWS Key Management Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Schlüssel anzeigen mit dem KMS API

Sie können das verwenden AWS Key Management Service (AWS KMS) API, um Ihre KMS Schlüssel einzusehen. In diesem Abschnitt werden verschiedene Operationen demonstriert, die Details zu vorhandenen KMS Schlüsseln zurückgeben. Die Beispiele verwenden AWS Command Line Interface (AWS CLI), aber Sie können jede unterstützte Programmiersprache verwenden.

ListKeys: Ruft die ID und ARN alle KMS Schlüssel ab

Der ListKeysVorgang gibt die ID und den Amazon-Ressourcennamen (ARN) aller KMS Schlüssel im Konto und in der Region zurück.

Beispielsweise gibt dieser Aufruf der ListKeys Operation die ID und ARN jedes KMS Schlüssels in diesem fiktiven Konto zurück. Beispiele in verschiedenen Programmiersprachen finden Sie unter Verwenden Sie ListKeys mit einem AWS SDKoder CLI.

$ 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: Ruft detaillierte Informationen zu einem Schlüssel ab KMS

Die DescribeKeyOperation gibt Details über den angegebenen KMS Schlüssel zurück. Verwenden Sie die KMS Schlüssel-ID, den Schlüssel, den Aliasnamen oder den Alias ARN, um den Schlüssel zu identifizierenARN.

Im Gegensatz zu dem ListKeysVorgang, bei dem nur KMS Schlüssel im Konto und in der Region des Anrufers angezeigt werden, können autorisierte Benutzer den DescribeKey Vorgang verwenden, um Details zu KMS Schlüsseln in anderen Konten abzurufen.

Anmerkung

Die DescribeKey-Antwort enthält sowohl KeySpec und CustomerMasterKeySpec-Elemente mit den gleichen Werten. Das CustomerMasterKeySpec-Element ist veraltet.

Bei diesem Aufruf werden beispielsweise Informationen über einen symmetrischen KMS Verschlüsselungsschlüssel DescribeKey zurückgegeben. Die Felder in der Antwort variieren je nach AWS KMS key Spezifikation, Schlüsselstatus und Herkunft des wichtigsten Materials. Beispiele in verschiedenen Programmiersprachen finden Sie unter Verwenden Sie DescribeKey mit einem AWS SDKoder CLI.

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

In diesem Beispiel wird die DescribeKey Operation mit einem asymmetrischen KMS Schlüssel aufgerufen, der zum Signieren und Überprüfen verwendet wird. Die Antwort umfasst die Signaturalgorithmen, die AWS KMS unterstützt diesen KMS Schlüssel.

$ 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: Ermittelt die Schlüsselrichtlinie, die an einen KMS Schlüssel angehängt wird

Der GetKeyPolicyVorgang ruft die Schlüsselrichtlinie ab, die an den KMS Schlüssel angehängt ist. Um den KMS Schlüssel zu identifizieren, verwenden Sie seine Schlüssel-ID oder seinen SchlüsselARN. Sie müssen außerdem den Richtliniennamen (immer default) angeben. (Wenn Ihre Ausgabe schwer lesbar ist, fügen Sie die --output text Option zu Ihrem Befehl hinzu.) GetKeyPolicyfunktioniert nur mit KMS Schlüsseln im Konto und in der Region des Anrufers.

Beispiele in verschiedenen Programmiersprachen finden Sie unter Verwenden Sie GetKeyPolicy mit einem AWS SDKoder CLI.

$ 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: Ruft Aliasnamen und ARNs für Schlüssel ab KMS

Der ListAliasesVorgang gibt Aliase für das Konto und die Region zurück. TargetKeyIdIn der Antwort wird die Schlüssel-ID des Schlüssels angezeigt, auf den KMS sich der Alias bezieht, falls vorhanden.

Standardmäßig gibt der Befehl ListAliases alle Aliase innerhalb des Kontos und der Region zurück. Dazu gehören Aliase, die Sie erstellt und mit Ihren vom Kunden verwalteten Schlüsseln verknüpft haben, sowie Aliase, die AWS erstellt und verknüpft mit Von AWS verwalteter Schlüsselin deinem Konto. Du kannst erkennen AWS Aliase, weil ihre Namen das Format habenaws/<service-name>, wie aws/dynamodb z.

Die Antwort kann auch Aliase ohne dem TargetKeyId-Feld enthalten, z. B. der Alias aws/redshift in diesem Beispiel. Dies sind vordefinierte Aliase, die AWS hat einen Schlüssel erstellt, aber noch keinem KMS Schlüssel zugeordnet.

Beispiele in verschiedenen Programmiersprachen finden Sie unter Verwenden Sie ListAliases mit einem AWS SDKoder CLI.

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

Verwenden Sie den KeyId Parameter, um die Aliase abzurufen, die auf einen bestimmten KMS Schlüssel verweisen. Der Parameterwert kann die Schlüssel-ID oder der Schlüssel sein. ARN Sie können keinen Aliasnamen oder Alias angebenARN.

Mit dem Befehl im folgenden Beispiel werden die Aliase abgerufen, die auf einen kundenverwalteten Schlüssel verweisen. Sie können jedoch einen Befehl wie diesen verwenden, um die Aliase zu finden, die sich auf beziehen Von AWS verwaltete Schlüssel, auch.

$ 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 }, ] }

Um nur die Aliase zu bekommen für Von AWS verwaltete Schlüssel, verwenden Sie die Funktionen Ihrer Programmiersprache, um die Antwort zu filtern.

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

ListResourceTags: Ruft die Tags auf den KMS Schlüsseln ab

Die ListResourceTagsOperation gibt die Tags für den angegebenen KMS Schlüssel zurück. Der API gibt Tags für einen KMS Schlüssel zurück, aber Sie können den Befehl in einer Schleife ausführen, um Tags für alle KMS Schlüssel im Konto und in der Region oder für eine Gruppe von KMS Schlüsseln, die Sie auswählen, abzurufen. Dadurch wird jeweils eine Seite API zurückgegeben. Wenn Sie also zahlreiche Tags auf zahlreichen KMS Tasten haben, müssen Sie möglicherweise den Paginator in Ihrer Programmiersprache verwenden, um alle gewünschten Tags zu erhalten.

Die ListResourceTags Operation gibt Tags für alle KMS Schlüssel zurück, aber Von AWS verwalteter Schlüsselsind nicht markiert. Es funktioniert nur mit KMS Schlüsseln im Konto und in der Region des Anrufers.

Verwenden Sie die ListResourceTags Operation, um die Tags für einen KMS Schlüssel zu finden. Der Parameter KeyId muss angegeben werden. Es akzeptiert eine Schlüssel-ID oder einen Schlüssel ARN. Bevor Sie dieses Beispiel ausführen, ersetzen Sie den Beispielschlüssel ARN durch einen gültigen.

$ 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 }

Möglicherweise möchten Sie den ListResourceTags Vorgang verwenden, um alle KMS Schlüssel im Konto und in der Region mit einem bestimmten Tag, Tag-Schlüssel oder Tag-Wert abzurufen. Um dies zu tun, verwenden Sie die Filterfunktionen Ihrer Programmiersprache.

Das folgende Bash-Skript verwendet beispielsweise die ListResourceTags Operationen ListKeysund, um alle KMS Schlüssel im Konto und in der Region mit einem Project Tag-Schlüssel abzurufen. Beide Operationen erhalten nur die erste Seite der Ergebnisse. Wenn Sie zahlreiche KMS Schlüssel oder zahlreiche Tags haben, verwenden Sie die Paginierungsfunktionen Ihrer Sprache, um das gesamte Ergebnis jeder Operation zu erhalten. Bevor Sie dieses Beispiel ausführen, ersetzen Sie den Beispielschlüssel IDs durch gültige Schlüssel.

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

Die Ausgabe wird wie die folgende Beispielausgabe formatiert.

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