Ich möchte AWS-KMS-Schlüsselzuteilungen und Prinzipale für meine AWS Key Management Service (AWS KMS)-Konten nach AWS-Region auflisten.
Lösung
Mithilfe der AWS Command Line Interface (AWS CLI) oder der AWS-SDKs können Sie die Anzahl der Erteilungen eines KMS-Schlüssels und die Prinzipien für jeden einzelnen abrufen. Stellen Sie sicher, dass Sie die AWS CLI mit Richtlinienberechtigungen installieren und konfigurieren, um Listenschlüssel und Listenerteilungen durchzuführen.
Hinweis: Wenn Sie beim Ausführen von AWS-CLI-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste Version der AWS CLI verwenden.
Führen Sie die folgenden Befehle aus, um Ihren KMS-Schlüssel und Ihre Erteilungen aufzulisten:
Hinweis: Ersetzen Sie your-region durch Ihre AWS-Region und Ihre your-AWS KMS-key-ID durch Ihre AWS-KMS-Schlüssel-ID.
aws kms list-keys --region <your-region>
aws kms list-grants --region <your-region> --key-id <your-AWS KMS-key-ID>
Führen Sie diesen Befehl aus, um alle Ihre KMS-Schlüssel für eine bestimmte AWS-Region abzufragen:
for key in $(aws kms list-keys --region <your-region> --query 'Keys[].KeyId' --output text);do aws kms list-grants --region <your-region> --key-id $key; done
Hinweis: In diesem Beispiel wird die integrierte AWS-CLI-Abfrageoption verwendet, um Elemente aus der Ausgabe zu filtern.
Führen Sie diesen Befehl aus, um die Anzahl der Erteilungen aufzulisten, die jeder Prinzipale für einen KMS-Schlüssel hat:
aws kms list-grants --region <your-region> --key-id <your-AWS KMS-key-ID> | jq '.Grants[].GranteePrincipal' -r | sort | uniq -c;
Hinweis: Sie müssen jq installiert haben, um diesen Befehl ausführen zu können. Anweisungen zur Installation von jq finden Sie unter JSON-Ausgabeformat.