Anzeigen von KMS-Schlüssel mit der 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.

Anzeigen von KMS-Schlüssel mit der API

Sie können die AWS Key Management Service (AWS KMS)-API zum Anzeigen Ihrer KMS-Schlüssel verwenden. In diesem Abschnitt werden verschiedene Operationen demonstriert, die Details zu vorhandenen KMS-Schlüssel liefern. Für die Beispiele wird die AWS Command Line Interface (AWS CLI) verwendet. Sie können aber jede unterstützte Programmiersprache nutzen.

ListKeys: Abrufen der ID und des ARN aller KMS-Schlüssel

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

Dieser Aufruf der ListKeys-Produktion gibt beispielsweise die ID und den ARN jedes KMS-Schlüssels in diesem fiktiven Konto zurück. Beispiele in verschiedenen Programmiersprachen finden Sie unter Abruf von Schlüssel-IDs und Schlüssel-ARNs von KMS-Schlüsseln.

$ 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: Abrufen detaillierter Informationen zu einem KMS-Schlüssel

Die DescribeKey Operation gibt Details zum angegebenen KMS-Schlüssel zurück. Verwenden Sie zum Identifizieren eines KMS-Schlüssels seine Schlüssel-ID, den Schlüssel-ARN, den Aliasnamen oder den Alias-ARN.

Im Gegensatz zu der -ListKeysOperation, die nur KMS-Schlüssel im Konto und in der Region des Aufrufers anzeigt, können autorisierte Benutzer die -DescribeKeyOperation 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.

Dieser Aufruf an DescribeKey gibt beispielsweise Informationen zu einem KMS-Schlüssel mit symmetrischer Verschlüsselung zurück. Die Felder in der Antwort variieren je nach AWS KMS key-Spezifikation, Schlüsselstatus und Ursprung des Schlüsselmaterials. Beispiele in verschiedenen Programmiersprachen finden Sie unter Anzeigen eines 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" ] } }

In diesem Beispiel wird die DescribeKey-Produktion für einen asymmetrischen KMS-Schlüssel aufgerufen, der für Signatur und Verifizierung verwendet wird. Die Antwort enthält die Signaturalgorithmen, die AWS KMS für diesen KMS-Schlüssel unterstützt.

$ 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: Abrufen der Schlüsselrichtlinie, die einem KMS-Schlüssel zugeordnet ist

Der GetKeyPolicy Vorgang ruft die Schlüsselrichtlinie ab, die dem KMS-Schlüssel angefügt ist. Verwenden Sie zum Identifizieren des KMS-Schlüssels seine Schlüssel-ID oder den Schlüssel-ARN. Sie müssen außerdem den Richtliniennamen (immer default) angeben. (Wenn Ihre Ausgabe schwer lesbar ist, fügen Sie --output text-Option zu Ihrem Befehl hinzu.) GetKeyPolicy funktioniert nur bei KMS-Schlüsseln im Konto und in der Region des Anrufers.

Beispiele in verschiedenen Programmiersprachen finden Sie unter Abrufen einer Schlüsselrichtlinie.

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

Der ListAliases Vorgang gibt Aliase im Konto und in der Region zurück. Der TargetKeyId-Wert in der Antwort enthält ggf. die Schlüssel-ID des KMS-Schlüssels, auf den sich der Alias bezieht.

Standardmäßig gibt der Befehl ListAliases alle Aliase innerhalb des Kontos und der Region zurück. Darunter fallen auch Aliase, die Sie erstellt und Ihren vom Kunden verwalteten Schlüsseln zugeordnet haben, sowie Aliase, die AWS erstellt und demVon AWS verwalteter Schlüssel in Ihrem Konto zugeordnet hat. AWS-Aliase sind daran zu erkennen, dass ihre Namen das Format aws/<service-name> aufweisen, z. B. aws/dynamodb.

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

Beispiele in verschiedenen Programmiersprachen finden Sie unter Auflisten von Aliasen.

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

Um die Aliase zu erhalten, die auf einen bestimmten KMS-Schlüssel verweisen, verwenden Sie den KeyId-Parameter. Der Parameterwert kann die Schlüssel-ID oder der Schlüssel-ARN sein. Sie können keinen Aliasnamen oder Alias-ARN angeben.

Mit dem Befehl im folgenden Beispiel werden die Aliase abgerufen, die auf einen kundenverwalteten Schlüssel verweisen. Sie können mit einem entsprechenden Befehl jedoch auch die Aliase finden, die sich auf einen Von AWS verwaltete Schlüssel beziehen.

$ 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 für Von AWS verwaltete Schlüssel abzurufen, filtern Sie mithilfe der Funktionen Ihrer Programmiersprache die Antwort.

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

ListResourceTags: Abrufen der Tags für KMS-Schlüssel

Die ListResourceTags Operation gibt die Tags für den angegebenen KMS-Schlüssel zurück. Die API gibt Tags für einen KMS-Schlüssel zurück. Sie können den Befehl jedoch in einer Schleife ausführen, um Tags für alle KMS-Schlüssel im Konto und in der Region oder für eine Reihe von ausgewählten KMS-Schlüsseln abzurufen. Diese API gibt jeweils eine Seite zurück. Wenn Sie also zahlreiche Tags auf zahlreichen KMS-Schlüsseln haben, müssen Sie möglicherweise die Paginierung in Ihrer Programmiersprache verwenden, um alle gewünschten Tags zu erhalten.

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

Um die Tags für einen KMS-Schlüssel zu finden, verwenden Sie die ListResourceTags-Produktion. Der Parameter KeyId muss angegeben werden. Sie akzeptiert eine Schlüssel-ID oder Schlüssel-ARN. Ersetzen Sie vor Ausführung dieses Beispiels den Beispiel-Schlü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 }

Sie können die ListResourceTags-Produktion 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 ListKeys und , 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 aus jeder Produktion zu erhalten. Ersetzen Sie vor Ausführung dieses Beispiels den Beispiel-Schlüssel-IDs durch gültige.

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