Verwenden von Aliassen in Ihren Anwendungen - 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.

Verwenden von Aliassen in Ihren Anwendungen

Sie können einen Alias verwenden, um einen KMS-Schlüssel im Anwendungscode darzustellen. Der KeyId Parameter in AWS KMS kryptografischen Operationen , DescribeKeyund GetPublicKey akzeptiert einen Aliasnamen oder Alias-ARN.

Der folgende GenerateDataKey-Befehl verwendet beispielsweise einen Aliasnamen (alias/finance), um einen KMS-Schlüssel zu identifizieren. Der Aliasname ist der Wert des KeyId-Parameters.

$ aws kms generate-data-key --key-id alias/finance --key-spec AES_256

Wenn sich der KMS-Schlüssel in einem anderen AWS-Konto befindet, müssen Sie einen Schlüssel-ARN oder Alias-ARN in diesen Operationen verwenden.) Beachten Sie bei der Verwendung eines Alias-ARN, dass der Alias für einen KMS-Schlüssel in dem Konto definiert ist, das den KMS-Schlüssel besitzt und sich in jeder Region unterscheiden kann. Hilfestellung beim Suchen des Alias-ARN finden Sie unter Suchen des Aliasnamens und des Alias-ARN.

Der folgende GenerateDataKey-Befehl verwendet beispielsweise einen KMS-Schlüssel, der sich nicht im Konto des Anrufers befindet. Der ExampleAlias-Alias ist dem KMS-Schlüssel im angegebenen Konto und in der Region zugeordnet.

$ aws kms generate-data-key --key-id arn:aws:kms:us-west-2:444455556666:alias/ExampleAlias --key-spec AES_256

Eine der mächtigsten Verwendungen von Aliasen ist in Anwendungen, die in mehreren AWS-Regionen ausgeführt werden. Beispielsweise könnten Sie über eine globale Anwendung verfügen, die eine RSA asymmetrischen KMS-Schlüssel zur Signatur und Verifizierung verwendet.

  • In USA West (Oregon) (us-west-2) sollten Sie arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab verwenden.

  • In Europa (Frankfurt) (eu-central-1) sollten Sie arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321 verwenden.

  • In Asien-Pazifik (Singapur) (ap-southeast-1) sollten Sie arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d verwenden.

Sie können in jeder Region eine andere Version Ihrer Anwendung erstellen oder ein Wörterbuch oder eine Switch-Anweisung verwenden, um den richtigen KMS-Schlüssel für jede Region auszuwählen. Es ist jedoch viel einfacher, in jeder Region einen Alias mit demselben Aliasnamen zu erstellen. Bei dem Aliasnamen wird zwischen Groß-/Kleinschreibung unterschieden.

aws --region us-west-2 kms create-alias \ --alias-name alias/new-app \ --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab aws --region eu-central-1 kms create-alias \ --alias-name alias/new-app \ --key-id arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321 aws --region ap-southeast-1 kms create-alias \ --alias-name alias/new-app \ --key-id arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d

Verwenden Sie dann den Alias in Ihrem Code. Wenn Ihr Code in jeder Region ausgeführt wird, verweist der Alias auf den zugehörigen KMS-Schlüssel in dieser Region. Beispielsweise ruft dieser Code die Sign-Operation mit einem Aliasnamen auf.

aws kms sign --key-id alias/new-app \ --message $message \ --message-type RAW \ --signing-algorithm RSASSA_PSS_SHA_384

Es besteht jedoch das Risiko, dass der Alias gelöscht oder aktualisiert wird, um einem anderen KMS-Schlüssel zugeordnet zu werden. In diesem Fall schlagen die Versuche der Anwendung, Signaturen mit dem Aliasnamen zu überprüfen, fehl, und Sie müssen den Alias möglicherweise neu erstellen oder aktualisieren.

Um dieses Risiko zu verringern, sollten Sie den Prinzipalen die Berechtigung geben, die Aliase zu verwalten, die Sie in Ihrer Anwendung verwenden. Details hierzu finden Sie unter Steuern des Zugriffs auf Aliasse.

Es gibt mehrere andere Lösungen für Anwendungen, die Daten in mehreren AWS-Regionen verschlüsseln, einschließlich des AWS Encryption SDK.