

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.

# Zugreifen AWS Key Management Service
<a name="accessing-kms"></a>

Sie können auf folgende AWS KMS Weise damit arbeiten:

**Topics**
+ [AWS-Managementkonsole](#kms-console)
+ [AWS Command Line Interface](#kms-cli)
+ [AWS KMS REST API](#kms-api)
+ [AWS SDKs](#kms-sdk)
+ [Verwenden dieses Dienstes mit einem AWS SDK](sdk-general-information-section.md)
+ [AWS Encryption SDK](#crypto-sdk)
+ [AWS KMS letztendliche Konsistenz](#programming-eventual-consistency)
+ [Verwendung von hybridem Post-Quantum-TLS mit AWS KMS](pqtls.md)
+ [Stellen Sie eine Connect AWS KMS über einen VPC-Endpunkt her](kms-vpc-endpoint.md)
+ [Unterstützung für Dual-Stack-Endpunkte](ipv6-kms.md)

## AWS-Managementkonsole
<a name="kms-console"></a>

Die Konsole ist eine webbasierte Benutzeroberfläche für Verwaltung AWS KMS und AWS Ressourcen. Wenn Sie sich für eine angemeldet haben AWS-Konto, können Sie auf die AWS KMS Konsole zugreifen, indem Sie sich bei der anmelden AWS-Managementkonsole und auf AWS KMS der AWS-Managementkonsole Startseite auswählen.

### Für die Verwendung der AWS KMS Konsole sind Berechtigungen erforderlich
<a name="console-permissions"></a>

Um mit der AWS KMS Konsole arbeiten zu können, müssen Benutzer über Mindestberechtigungen verfügen, die es ihnen ermöglichen, mit den AWS KMS Ressourcen in ihrer Konsole zu arbeiten AWS-Konto. Zusätzlich zu diesen AWS KMS -Berechtigungen müssen Benutzer auch über die Berechtigungen zum Auflisten von IAM-Benutzern und IAM-Rollen verfügen. Wenn Sie eine IAM-Richtlinie erstellen, die strenger ist als die mindestens erforderlichen Berechtigungen, funktioniert die AWS KMS -Konsole nicht wie vorgesehen für Benutzer mit dieser IAM-Richtlinie.

Die Mindestberechtigungen, um einem Benutzer reinen Lesezugriff auf die AWS KMS -Konsole zu gewähren, finden Sie unter [Erlauben Sie einem Benutzer, KMS-Schlüssel in der AWS KMS Konsole anzuzeigen](customer-managed-policies.md#iam-policy-example-read-only-console).

Damit Benutzer bei der Erstellung und Verwaltung von KMS-Schlüsseln mit der AWS KMS Konsole arbeiten können, fügen Sie dem Benutzer die **AWSKeyManagementServicePowerUser**verwaltete Richtlinie an, wie unter beschrieben[AWS verwaltete Richtlinien für AWS Key Management Service](security-iam-awsmanpol.md).

Sie müssen Benutzern, die mit der AWS KMS API arbeiten, keine Mindestberechtigungen für die Konsole über [AWS SDKs[AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/)](https://aws.amazon.com/tools/#sdk), oder gewähren [AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/). Sie müssen diesen Benutzern jedoch die Berechtigung zur Verwendung der API erteilen. Weitere Informationen finden Sie unter [Berechtigungsreferenz](kms-api-permissions-reference.md).

## AWS Command Line Interface
<a name="kms-cli"></a>

Sie können die AWS CLI Tools verwenden, um Befehle auszugeben oder Skripts an der Befehlszeile Ihres Systems zu erstellen, um AWS (einschließlich AWS KMS) Aufgaben auszuführen. 

Weitere Informationen zur Verwendung von AWS KMS finden Sie in der [AWS CLI Befehlsreferenz AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kms/index.html)

## AWS KMS REST API
<a name="kms-api"></a>

 Die Architektur von AWS KMS ist so konzipiert, dass sie programmiersprachenneutral ist. Das REST API ist eine HTTP-Schnittstelle zu. AWS KMS Mit dem verwenden Sie Standard-HTTP-AnfragenREST API, um Schlüssel zu erstellen, abzurufen und zu löschen. 

 Weitere Informationen zur Verwendung von finden Sie in der [AWS Key Management Service API-Referenz AWS KMSREST API](https://docs.aws.amazon.com/kms/latest/APIReference/Welcome.html)

## AWS SDKs
<a name="kms-sdk"></a>

AWS stellt SDKs (Software Development Kits) bereit, die aus Bibliotheken und Beispielcode für gängige Programmiersprachen und Plattformen (Java JavaScript, C, Python usw.) bestehen. AWS SDKs Sie bieten eine bequeme Möglichkeit, programmatischen Zugriff auf AWS KMS und AWS zu erstellen. AWS KMS ist ein REST Service. Sie können Anfragen an AWS KMS die AWS SDK-Bibliotheken senden, die die zugrunde liegenden Daten AWS KMS REST API zusammenfassen und Ihre Programmieraufgaben vereinfachen. Informationen zu den AWS SDKs, einschließlich deren Download und Installation, finden Sie unter [Tools, auf denen Sie aufbauen können AWS](https://aws.amazon.com/developer/tools).

Das [Codebeispiele für die AWS KMS Verwendung AWS SDKs](service_code_examples.md) bietet einen guten Ausgangspunkt für die AWS KMS Verwendung von AWS SDKs.

# Verwenden dieses Dienstes mit einem AWS SDK
<a name="sdk-general-information-section"></a>

AWS Software Development Kits (SDKs) sind für viele beliebte Programmiersprachen verfügbar. Jedes SDK bietet eine API, Codebeispiele und Dokumentation, die es Entwicklern erleichtern, Anwendungen in ihrer bevorzugten Sprache zu erstellen.


| SDK-Dokumentation | Codebeispiele | 
| --- | --- | 
| [AWS SDK für C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp) | [AWS SDK für C\$1\$1 Codebeispiele](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp) | 
| [AWS CLI](https://docs.aws.amazon.com/cli) | [AWS CLI Code-Beispiele](https://docs.aws.amazon.com/code-library/latest/ug/cli_2_code_examples.html) | 
| [AWS SDK für Go](https://docs.aws.amazon.com/sdk-for-go) | [AWS SDK für Go Code-Beispiele](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2) | 
| [AWS SDK für Java](https://docs.aws.amazon.com/sdk-for-java) | [AWS SDK für Java Code-Beispiele](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2) | 
| [AWS SDK für JavaScript](https://docs.aws.amazon.com/sdk-for-javascript) | [AWS SDK für JavaScript Code-Beispiele](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3) | 
| [AWS SDK für Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin) | [AWS SDK für Kotlin Code-Beispiele](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/kotlin) | 
| [AWS SDK für .NET](https://docs.aws.amazon.com/sdk-for-net) | [AWS SDK für .NET Code-Beispiele](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3) | 
| [AWS SDK für PHP](https://docs.aws.amazon.com/sdk-for-php) | [AWS SDK für PHP Code-Beispiele](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php) | 
| [AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell) | [AWS -Tools für PowerShell Code-Beispiele](https://docs.aws.amazon.com/code-library/latest/ug/powershell_5_code_examples.html) | 
| [AWS SDK für Python (Boto3)](https://docs.aws.amazon.com/pythonsdk) | [AWS SDK für Python (Boto3) Code-Beispiele](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python) | 
| [AWS SDK für Ruby](https://docs.aws.amazon.com/sdk-for-ruby) | [AWS SDK für Ruby Code-Beispiele](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby) | 
| [AWS SDK für Rust](https://docs.aws.amazon.com/sdk-for-rust) | [AWS SDK für Rust Code-Beispiele](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1) | 
| [AWS SDK für SAP ABAP](https://docs.aws.amazon.com/sdk-for-sapabap) | [AWS SDK für SAP ABAP Code-Beispiele](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap) | 
| [AWS SDK für Swift](https://docs.aws.amazon.com/sdk-for-swift) | [AWS SDK für Swift Code-Beispiele](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift) | 

**Beispiel für die Verfügbarkeit**  
Sie können nicht finden, was Sie brauchen? Fordern Sie ein Codebeispiel an, indem Sie unten den Link **Feedback geben** auswählen.

## AWS Encryption SDK
<a name="crypto-sdk"></a>

Das AWS Encryption SDK ist ein Tool zur Implementierung der clientseitigen Verschlüsselung in Ihrer Anwendung. Es bietet keinen vollständigen Zugriff auf KMS, sondern integriert sich in dieses oder kann als eigenständiges SDK verwendet werden AWS KMS, ohne auf KMS-Schlüssel zu verweisen. Bibliotheken sind für Java, C JavaScript, Python und andere Programmiersprachen verfügbar. 

Weitere Informationen finden Sie im [AWS Encryption SDK -Entwicklerhandbuch](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html).

AWS KMS key Richtlinien und IAM-Richtlinien

## AWS KMS letztendliche Konsistenz
<a name="programming-eventual-consistency"></a>

Die AWS KMS API folgt aufgrund der verteilten Struktur des Systems einem Modell der [endgültigen Konsistenz](https://en.wikipedia.org/wiki/Eventual_consistency). Daher sind Änderungen an AWS KMS Ressourcen möglicherweise nicht sofort für die nachfolgenden Befehle sichtbar, die Sie ausführen. 

Wenn Sie AWS KMS API-Aufrufe ausführen, kann es zu einer kurzen Verzögerung kommen, bis die Änderung vollständig verfügbar ist AWS KMS. In der Regel dauert es weniger als ein paar Sekunden, bis sich die Änderung im gesamten System verbreitet, in einigen Fällen kann es jedoch mehrere Minuten dauern. Während dieser Zeit können unerwartete Fehler auftreten, wie z. B. eine `NotFoundException` oder eine `InvalidStateException`. AWS KMS Könnte beispielsweise a zurückgeben, `NotFoundException` wenn Sie `GetParametersForImport` unmittelbar nach dem Anruf anrufen`CreateKey`.

Wir empfehlen Ihnen, auf Ihren AWS KMS Clients eine Wiederholungsstrategie zu konfigurieren, sodass Vorgänge nach einer kurzen Wartezeit automatisch wiederholt werden. Weitere Informationen finden Sie unter [Verhalten bei Wiederholungsversuchen](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html) im Referenzhandbuch AWS SDKs und im Tools-Referenzhandbuch.

Für API-Aufrufe im Zusammenhang mit Zuschüssen können Sie [ein Grant-Token verwenden](using-grant-token.md), um mögliche Verzögerungen zu vermeiden, und die in einem Grant enthaltenen Berechtigungen sofort nutzen. Weitere Informationen finden Sie unter [Letztendliche Konsistenz (für Erteilungen)](grants.md#terms-eventual-consistency).

# Verwendung von hybridem Post-Quantum-TLS mit AWS KMS
<a name="pqtls"></a>

AWS Key Management Service (AWS KMS) unterstützt eine hybride Option für den Schlüsselaustausch nach dem Quantenzugriff für das Netzwerkverschlüsselungsprotokoll Transport Layer Security (TLS). Sie können diese TLS-Option verwenden, wenn Sie eine Verbindung zu AWS KMS -API-Endpunkten herstellen. Diese optionalen Hybrid-Post-Quantum-Schlüsselaustauschfunktionen sind mindestens so sicher wie die heute verwendete TLS-Verschlüsselung und bieten wahrscheinlich zusätzliche langfristige Sicherheitsvorteile. Sie wirken sich jedoch auf Latenz und Durchsatz im Vergleich zu den klassischen Schlüsselaustauschprotokollen aus, die heute verwendet werden.

Die Daten, die Sie an AWS Key Management Service (AWS KMS) senden, sind bei der Übertragung durch die Verschlüsselung geschützt, die über eine Transport Layer Security (TLS) -Verbindung bereitgestellt wird. Die klassischen Cipher-Suites, die TLS-Sitzungen AWS KMS unterstützen, machen Brute-Force-Angriffe auf die Schlüsselaustauschmechanismen mit der aktuellen Technologie undurchführbar. Wenn jedoch in Zukunft das große Quantencomputing praktikabel wird, werden die klassischen Cipher-Suites, die in TLS-Schlüsselaustauschmechanismen verwendet werden, für diese Angriffe anfällig sein. Wenn Sie Anwendungen entwickeln, die auf der langfristigen Vertraulichkeit von Daten basieren, die über eine TLS-Verbindung übertragen werden, sollten Sie einen Plan zur Umstellung auf Post-Quanten-Kryptografie in Betracht ziehen, bevor große Quantencomputer für den Einsatz verfügbar sind. AWS arbeitet daran, sich auf diese future vorzubereiten, und wir möchten, dass auch Sie gut vorbereitet sind.

*Um heute verschlüsselte Daten vor möglichen future Angriffen zu schützen, beteiligt AWS sich die Kryptografie-Community an der Entwicklung quantenresistenter oder Post-Quanten-Algorithmen.* Wir haben *hybride* Chiffrier-Suites für den Postquanten-Schlüsselaustausch implementiert AWS KMS , die klassische und Post-Quantum-Elemente kombinieren, um sicherzustellen, dass Ihre TLS-Verbindung mindestens so stark ist wie bei klassischen Cipher Suites.

[Diese hybriden Verschlüsselungssammlungen sind in den meisten Fällen für den Einsatz in Ihren Produktions-Workloads verfügbar. AWS-Regionen](#pqtls-regions) Da sich die Leistungsmerkmale und Bandbreitenanforderungen hybrider Verschlüsselungssammlungen jedoch von denen klassischer Schlüsselaustauschmechanismen unterscheiden, empfehlen wir, [sie bei Ihren AWS KMS API-Aufrufen unter anderen Bedingungen zu testen](pqtls-how-to.md#pqtls-testing). 

**Feedback**

Wie immer freuen wir uns über Ihr Feedback und Ihre Teilnahme an unseren Open Source-Repositories. Wir möchten besonders erfahren, wie Ihre Infrastruktur mit dieser neuen Variante des TLS-Datenverkehrs interagiert. 
+ Um Feedback zu diesem Thema zu geben, verwenden Sie den Link **Feedback** in der oberen rechten Ecke dieser Seite.
+ Wir entwickeln diese hybriden Verschlüsselungssammlungen in Open Source im Repository am. [https://github.com/aws/s2n-tls](https://github.com/aws/s2n-tls) GitHub Um Feedback zur Benutzerfreundlichkeit der Cipher-Suites zu geben oder neue Testbedingungen oder Ergebnisse zu teilen, [erstellen Sie eine Anforderung](https://github.com/aws/s2n-tls/issues) im s2n-tls-Repository.
+ Wir schreiben Codebeispiele für die Verwendung von hybridem Post-Quantum-TLS AWS KMS im Repository. [https://github.com/aws-samples/aws-kms-pq-tls-example](https://github.com/aws-samples/aws-kms-pq-tls-example) GitHub Um Fragen zu stellen oder Ideen zur Konfiguration Ihres HTTP-Clients oder AWS KMS -Clients für die Verwendung der Hybrid-Cipher Suites auszutauschen, [erstellen Sie ein Problem im Repository](https://github.com/aws-samples/aws-kms-pq-tls-example/issues). aws-kms-pq-tls-example

**Unterstützt AWS-Regionen**

Post-Quantum-TLS für AWS KMS ist in allen Versionen verfügbar AWS-Regionen , die es AWS KMS unterstützen.

Eine Liste der jeweiligen AWS KMS AWS-Region Endpunkte finden Sie unter [AWS Key Management Service Endpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/kms.html) im. *Allgemeine Amazon Web Services-Referenz* Weitere Informationen über FIPS-Endpunkte finden Sie unter [FIPS-Endpunkte](https://docs.aws.amazon.com/general/latest/gr/rande.html#FIPS-endpoints) in der *Allgemeine Amazon Web Services-Referenz*.

## Über den Hybrid-Post-Quantum-Schlüsselaustausch in TLS
<a name="PQTLS-concepts"></a>

AWS KMS unterstützt hybride Chiffrier-Suites nach dem Quantum-Schlüsselaustausch. Sie können Common Runtime AWS SDK for Java 2.x und AWS Common Runtime auf Linux-Systemen verwenden, um einen HTTP-Client zu konfigurieren, der diese Verschlüsselungssammlungen verwendet. Wenn Sie dann mit Ihrem HTTP-Client eine Verbindung zu einem AWS KMS Endpunkt herstellen, werden die Hybrid-Verschlüsselungssammlungen verwendet.

Dieser HTTP-Client verwendet [https://github.com/aws/s2n-tls](https://github.com/aws/s2n-tls), eine Open-Source-Implementierung des TLS-Protokolls. Die Hybrid-Cipher-Suites , die s2n-tls verwendet, sind nur für den Schlüsselaustausch implementiert, nicht für die direkte Datenverschlüsselung. Während des *Schlüsselaustauschs* berechnen Client und Server den Schlüssel, den sie verwenden, um die Daten auf der Leitung zu verschlüsseln und zu entschlüsseln.

s2n-tlsBei den verwendeten Algorithmen handelt es sich um einen *Hybrid*, der [Elliptic Curve Diffie-Hellman](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman) (ECDH), einen klassischen Schlüsselaustauschalgorithmus, der heute in TLS verwendet wird, mit [Module-Lattice-Based Key-Encapsulation Mechanism](https://csrc.nist.gov/pubs/fips/203/final) (ML-KEM) kombiniert, einem Algorithmus zur Verschlüsselung und Schlüsselerstellung mit öffentlichen Schlüsseln, den das National Institute for Standards and Technology (NIST) [als seinen ersten Standard-Post-Quantum-Schlüsselvereinbarungsalgorithmus bezeichnet hat](https://csrc.nist.gov/pubs/fips/203/final). Dieser Hybrid verwendet jeden der Algorithmen unabhängig, um einen Schlüssel zu generieren. Dann kombiniert es die beiden Schlüssel kryptografisch. Mit s2n-tls können Sie einen [HTTP-Client so konfigurieren](pqtls-how-to.md), dass er Post-Quantum-TLS bevorzugt, wodurch ECDH mit ML-KEM an erster Stelle in der Präferenzliste steht. Klassische Schlüsselaustauschalgorithmen sind in der Einstellungsliste enthalten, um die Kompatibilität sicherzustellen, aber sie sind in der Präferenzreihenfolge niedriger.

## Verwendung von hybridem Post-Quantum-TLS mit AWS KMS
<a name="pqtls-details"></a>

Sie können hybrides Post-Quantum-TLS für Ihre Anrufe bei verwenden. AWS KMS Beachten Sie beim Einrichten der HTTP-Client-Testumgebung die folgenden Informationen:

**Verschlüsselung während der Übertragung**

Die Hybrid-Cipher-Suites in s2n-tls werden nur für die Verschlüsselung während der Übertragung verwendet. Sie schützen Ihre Daten auf dem Weg von Ihrem Client zum AWS KMS Endpunkt. AWS KMS verwendet diese Cipher Suites nicht, um Daten unter zu verschlüsseln. AWS KMS keys

Stattdessen verwendet es bei der AWS KMS Verschlüsselung Ihrer Daten unter KMS-Schlüsseln symmetrische Kryptografie mit 256-Bit-Schlüsseln und den AES-GCM-Algorithmus (Advanced Encryption Standard in Galois Counter Mode), der bereits quantenresistent ist. Theoretische zukünftige, groß angelegte Quantenrechnungsangriffe auf Verschlüsselungstexte, die unter 256-Bit-AES-GCM-Schlüsseln erstellt wurden, [reduzieren die effektive Sicherheit des Schlüssels auf 128-Bits](https://www.etsi.org/images/files/ETSIWhitePapers/QuantumSafeWhitepaper.pdf). Diese Sicherheitsstufe reicht aus, um Brute-Force-Angriffe auf Chiffretexte unmöglich zu machen. AWS KMS 

**Unterstützte Systeme**

Die Verwendung der Hybrid-Cipher-Suites in s2n-tls wird derzeit nur auf Linux-Systemen unterstützt. Darüber hinaus werden diese Verschlüsselungssammlungen nur unterstützt, wenn sie die AWS Common Runtime unterstützen SDKs , wie z. B. die. AWS SDK for Java 2.x Ein Beispiel finden Sie unter [Konfigurieren Sie hybrides Post-Quantum-TLS](pqtls-how-to.md).

**AWS KMS Endpunkte**

AWS KMS unterstützt hybrides Post-Quantum-TLS auf allen Endpunkten, einschließlich [FIPS](https://docs.aws.amazon.com/general/latest/gr/kms.html) 140-3-validierter Endpunkte.

# Konfigurieren Sie hybrides Post-Quantum-TLS
<a name="pqtls-how-to"></a>

Fügen Sie in diesem Verfahren eine Maven-Abhängigkeit für den AWS Common Runtime HTTP Client hinzu. Anschließend konfigurieren Sie einen HTTP-Client, der Post-Quantum-TLS bevorzugt. Erstellen Sie dann einen AWS KMS Client, der den HTTP-Client verwendet.

Eine vollständige Liste von Arbeitsbeispielen zum Konfigurieren und Verwenden von hybriden Post-Quantum-TLS mit AWS KMS, finden Sie im [https://github.com/aws-samples/aws-kms-pq-tls-example](https://github.com/aws-samples/aws-kms-pq-tls-example)-Repository.

**Anmerkung**  
Der AWS Common Runtime HTTP Client, der als Vorversion verfügbar war, wurde im Februar 2023 allgemein verfügbar. In dieser Version werden die `tlsCipherPreference`-Klasse und der `tlsCipherPreference()`-Methodenparameter durch den `postQuantumTlsEnabled()`-Methodenparameter ersetzt. Wenn Sie dieses Beispiel in der Vorversion verwendet haben, müssen Sie Ihren Code aktualisieren.

1. Fügen Sie den AWS Common Runtime-Client zu Ihren Maven-Abhängigkeiten hinzu. Wir empfehlen, die neueste verfügbare Version zu verwenden. 

   Diese Anweisung fügt beispielsweise eine Version `2.30.22` des AWS Common Runtime-Clients zu Ihren Maven-Abhängigkeiten hinzu. 

   ```
   <dependency>
       <groupId>software.amazon.awssdk</groupId>
       <artifactId>aws-crt-client</artifactId>
       <version>2.30.22</version>
   </dependency>
   ```

1. Um die hybriden Post-Quantum-Cipher-Suites zu aktivieren, fügen Sie sie AWS SDK for Java 2.x zu Ihrem Projekt hinzu und initialisieren Sie sie. Aktivieren Sie dann die hybriden Post-Quantum-Cipher-Suites auf Ihrem HTTP-Client, wie im folgenden Beispiel gezeigt.

   Dieser Code verwendet den `postQuantumTlsEnabled()` Methodenparameter, um einen [AWS gemeinsamen Runtime-HTTP-Client](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration-crt.html) zu konfigurieren, der die empfohlene hybride Post-Quantum-Verschlüsselungssuite ECDH with bevorzugt. ML-KEM Anschließend verwendet er den konfigurierten HTTP-Client, um eine Instanz des asynchronen Clients zu erstellen,. AWS KMS [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/kms/KmsAsyncClient.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/kms/KmsAsyncClient.html) Nachdem dieser Code abgeschlossen ist, verwenden alle [AWS KMS -API-Anfragen](https://docs.aws.amazon.com/kms/latest/APIReference/) auf der `KmsAsyncClient`-Instance hybrides Post-Quantum-TLS.

   ```
   // Configure HTTP client
   SdkAsyncHttpClient awsCrtHttpClient = AwsCrtAsyncHttpClient.builder()
             .postQuantumTlsEnabled(true)
             .build();
   
   // Create the AWS KMS async client
   KmsAsyncClient kmsAsync = KmsAsyncClient.builder()
            .httpClient(awsCrtHttpClient)
            .build();
   ```

1. Testen Sie Ihre AWS KMS Anrufe mit hybridem Post-Quantum-TLS.

   Wenn Sie AWS KMS API-Operationen auf dem konfigurierten AWS KMS Client aufrufen, werden Ihre Aufrufe mithilfe von Hybrid-Post-Quantum-TLS an den AWS KMS Endpunkt übertragen. Um Ihre Konfiguration zu testen, rufen Sie eine AWS KMS API auf, z. `[ListKeys](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html)`

   ```
   ListKeysReponse keys = kmsAsync.listKeys().get();
   ```

## Testen Sie Ihre hybride Post-Quantum-TLS-Konfiguration
<a name="pqtls-testing"></a>

Erwägen Sie, die folgenden Tests mit Hybrid-Verschlüsselungssammlungen für Ihre aufrufenden Anwendungen durchzuführen. AWS KMS
+ Sehen Sie sich den `tlsDetails` Abschnitt im CloudTrail Protokolleintrag für einen AWS KMS API-Aufruf an, der von Ihrer Anwendung ausgeführt wurde. Das `keyExchange` Feld sollte einen hybriden Algorithmus wie erwähnen`X25519MLKEM768`. Ein Beispiel finden Sie unter [Entschlüsseln Sie mit einem standardmäßigen symmetrischen Verschlüsselungsschlüssel über eine Post-Quantum-TLS-Verbindung](ct-decrypt.md#ct-decrypt-default-pqtls).
+ Führen Sie Benchmarks mit hybridem Post-Quantum-TLS durch. Der hybride Schlüsselaustausch erhöht die Größe und die Verarbeitungszeit einiger Nachrichten im TLS-Handshake, aber die Auswirkungen auf die Gesamtleistung sollten in den meisten Fällen nicht wahrnehmbar sein.
+ Versuchen Sie, eine Verbindung von verschiedenen Standorten herzustellen. Je nachdem, welchen Netzwerkpfad Ihre Anfrage nimmt, stellen Sie möglicherweise fest, dass ältere Zwischenhosts, Proxys oder Firewalls mit Deep Packet Inspection (DPI) die Anfrage blockieren. Dies kann auf die Verwendung der neuen Schlüsselaustauschgruppen im [ClientHello](https://datatracker.ietf.org/doc/html/rfc8446#section-4.1.2)Teil des TLS-Handshakes oder auf die umfassenderen Schlüsselaustauschnachrichten zurückzuführen sein. Wenn Sie Probleme bei der Lösung dieser Probleme haben, arbeiten Sie mit Ihrem Sicherheitsteam oder Ihren IT-Administratoren zusammen, um die entsprechende Konfiguration zu aktualisieren und die Sperrung der neuen TLS-Schlüsselaustauschgruppen aufzuheben. 

## Weitere Informationen über Post-Quantum-TLS finden Sie unter AWS KMS
<a name="pqtls-see-also"></a>

Weitere Informationen zur Verwendung von Hybrid-Post-Quantum-TLS finden Sie in AWS KMS den folgenden Ressourcen.
+ [Weitere Informationen zur Post-Quanten-Kryptografie AWS, einschließlich Links zu Blogbeiträgen und Forschungsarbeiten, finden Sie unter Post-Quantum-Kryptografie.](https://aws.amazon.com/security/post-quantum-cryptography/)
+ Weitere Informationen zu s2n-tls finden Sie unter [Introducing s2n-tls, a New Open Source TLS Implementation](https://aws.amazon.com/blogs/security/introducing-s2n-a-new-open-source-tls-implementation/) und [Using s2n-tls](https://github.com/aws/s2n-tls/tree/main/docs/usage-guide).
+ *Informationen zum AWS Common Runtime HTTP Client finden Sie unter [Konfiguration des AWS CRT-basierten HTTP-Clients im](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration-crt.html) Entwicklerhandbuch.AWS SDK for Java 2.x *
+ Weitere Informationen zum Post-Quantum-Kryptographie-Projekt am National Institute for Standards and Technology (NIST) finden Sie unter [Post-Quantum-Kryptographie](https://csrc.nist.gov/Projects/Post-Quantum-Cryptography).
+ Informationen zur Standardisierung der Post-Quantum-Kryptografie durch NIST finden Sie unter [Standardisierung der Post-Quantum-Kryptografie](https://csrc.nist.gov/Projects/post-quantum-cryptography/post-quantum-cryptography-standardization).

# Stellen Sie eine Connect AWS KMS über einen VPC-Endpunkt her
<a name="kms-vpc-endpoint"></a>

Sie können AWS KMS über einen privaten Schnittstellen-Endpunkt in Ihrer Virtual Private Cloud (VPC) eine direkte Verbindung herstellen. Wenn Sie einen VPC-Schnittstellen-Endpunkt verwenden, AWS KMS erfolgt die Kommunikation zwischen Ihrer VPC und dem vollständig innerhalb des AWS Netzwerks.

AWS KMS unterstützt Amazon Virtual Private Cloud (Amazon VPC) -Endpunkte, die von betrieben werden. [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/) Jeder VPC-Endpunkt wird durch eine oder mehrere [Elastic Network Interfaces](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) (ENIs) mit privaten IP-Adressen in Ihren VPC-Subnetzen repräsentiert. 

Der VPC-Endpunkt der Schnittstelle verbindet Ihre VPC direkt, AWS KMS ohne dass ein Internet-Gateway, ein NAT-Gerät, eine VPN-Verbindung oder AWS Direct Connect eine Verbindung erforderlich ist. Die Instances in Ihrer VPC benötigen keine öffentlichen IP-Adressen für die Kommunikation. AWS KMS

**Regionen**  
AWS KMS unterstützt VPC-Endpunkte und VPC-Endpunktrichtlinien insgesamt AWS-Regionen , was [AWS KMS](https://docs.aws.amazon.com/general/latest/gr/kms.html)unterstützt wird.

**Überlegungen zu AWS KMS VPC-Endpunkten**  
Bevor Sie einen Schnittstellen-VPC-Endpunkt für einrichten AWS KMS, lesen Sie das Thema [Eigenschaften und Einschränkungen von Schnittstellenendpunkten](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#vpce-interface-limitations) im *AWS PrivateLink Handbuch*.  
AWS KMS Die Unterstützung für einen VPC-Endpunkt umfasst Folgendes.  
+ Sie können den VPC-Endpunkt verwenden, um alle [AWS KMS -API-Vorgänge](https://docs.aws.amazon.com/kms/latest/APIReference/API_Operations.html) in Ihrer VPC aufzurufen.
+ Sie können einen VPC-Schnittstellen-Endpunkt erstellen, der eine Verbindung zu einem AWS KMS Regionsendpunkt oder einem [AWS KMS FIPS-Endpunkt](https://docs.aws.amazon.com/general/latest/gr/kms.html) herstellt.
+ Sie können AWS CloudTrail Protokolle verwenden, um Ihre Verwendung von KMS-Schlüsseln über den VPC-Endpunkt zu überprüfen. Details hierzu finden Sie unter [AWS KMS Anfragen protokollieren, die einen VPC-Endpunkt verwenden](vpce-logging.md).

**Topics**
+ [Erstellen Sie einen VPC-Endpunkt für AWS KMS](vpce-create-endpoint.md)
+ [Stellen Sie eine Connect zu einem AWS KMS VPC-Endpunkt her](vpce-connect.md)
+ [Verwenden Sie VPC-Endpunkte, um den Zugriff auf Ressourcen zu kontrollieren AWS KMS](vpce-policy-condition.md)
+ [AWS KMS Anfragen protokollieren, die einen VPC-Endpunkt verwenden](vpce-logging.md)

# Erstellen Sie einen VPC-Endpunkt für AWS KMS
<a name="vpce-create-endpoint"></a>

Sie können AWS KMS mithilfe der Amazon VPC-Konsole oder der Amazon VPC-API einen VPC-Endpunkt für erstellen. Folgen Sie den Verfahren zum [Erstellen eines Schnittstellenendpunkts](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#create-interface-endpoint) mit einem der folgenden Werte.
+ Verwenden Sie den folgenden Dienstnamen AWS KMS, um einen VPC-Endpunkt für zu erstellen: 

  ```
  com.amazonaws.region.kms
  ```

  In der Region USA West (Oregon) (`us-west-2`) würde der Servicename wie folgt lauten:

  ```
  com.amazonaws.us-west-2.kms
  ```
+ Verwenden Sie den folgenden Servicenamen, um einen VPC-Endpunkt zu erstellen, der eine Verbindung zu einem [AWS KMS -FIPS-Endpunkt](https://docs.aws.amazon.com/general/latest/gr/kms.html) herstellt:

  ```
  com.amazonaws.region.kms-fips
  ```

  In der Region USA West (Oregon) (`us-west-2`) würde der Servicename wie folgt lauten:

  ```
  com.amazonaws.us-west-2.kms-fips
  ```

Um die Verwendung des VPC-Endpunkts zu vereinfachen, können Sie einen [privaten DNS-Namen](https://docs.aws.amazon.com/vpc/latest/privatelink/verify-domains.html) für Ihren VPC-Endpunkt aktivieren. Wenn Sie die Option **Enable Private DNS Name** (Privaten DNS-Namen aktivieren) auswählen, wird der standardmäßige AWS KMS -DNS-Hostname in Ihren VPC-Endpunkt aufgelöst. `https://kms.us-west-2.amazonaws.com` würde beispielsweise in einen VPC-Endpunkt aufgelöst, der mit dem Servicenamen `com.amazonaws.us-west-2.kms` verbunden ist.

Diese Option vereinfacht die Verwendung des VPC-Endpunkts. Das AWS SDKs und AWS CLI verwendet standardmäßig den AWS KMS Standard-DNS-Hostnamen, sodass Sie die VPC-Endpunkt-URL in Anwendungen und Befehlen nicht angeben müssen.

Weitere Informationen finden Sie unter [Zugriff auf einen Service über einen Schnittstellenendpunkt](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#access-service-though-endpoint) im *AWS PrivateLink -Leitfaden*.

# Stellen Sie eine Connect zu einem AWS KMS VPC-Endpunkt her
<a name="vpce-connect"></a>

Sie können AWS KMS über den VPC-Endpunkt eine Verbindung herstellen, indem Sie ein AWS SDK AWS CLI, das oder AWS -Tools für PowerShell verwenden. Um den VPC-Endpunkt anzugeben, verwenden Sie seinen DNS-Namen. 

Dieser [list-keys](https://docs.aws.amazon.com/cli/latest/reference/kms/list-keys.html)-Befehl verwendet zur Angabe des VPC-Endpunkts z. B. den Parameter `endpoint-url`. Wenn Sie einen solchen Befehl verwenden möchten, ersetzen Sie die Beispiels-ID des VPC-Endpunkts durch eine ID in Ihrem Konto.

```
$ aws kms list-keys --endpoint-url https://vpce-1234abcdf5678c90a-09p7654s-us-east-1a.ec2.us-east-1.vpce.amazonaws.com
```

**Erforderliche Berechtigungen**  
Damit eine AWS KMS Anfrage, die einen VPC-Endpunkt verwendet, erfolgreich ist, benötigt der Principal Berechtigungen aus zwei Quellen:  
+ Eine [-Schlüsselrichtlinie](key-policies.md), [IAM-Richtlinie](iam-policies.md) oder [Erteilung](grants.md) muss dem Prinzipal die Berechtigung erteilen, die Operation für die Ressource (KMS-Schlüssel oder Alias) aufzurufen.
+ Eine VPC-Endpunktrichtlinie muss dem Prinzipal die Berechtigung erteilen, den Endpunkt für die Anforderung zu verwenden.
So kann eine Schlüsselrichtlinie einem Prinzipal die Berechtigung zum Aufrufen von [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) auf einen bestimmten KMS-Schlüssel erteilen. Allerdings könnte die VPC-Endpunktrichtlinie diesem Prinzipal nicht erlauben, `Decrypt` auf diesem KMS-Schlüssel mithilfe des Endpunkts aufzurufen.  
Oder eine VPC-Endpunktrichtlinie könnte es einem Prinzipal ermöglichen, den Endpunkt zu verwenden, um bestimmte KMS-Schlüssel [DisableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKey.html)aufzurufen. Wenn der Prinzipal jedoch nicht über diese Berechtigungen aus einer Schlüsselrichtlinie, IAM-Richtlinie oder Erteilung verfügt, schlägt die Anforderung fehl.  
Sie können beim Erstellen des Endpunkts eine VPC-Endpunktrichtlinie erstellen und die VPC-Endpunktrichtlinie jederzeit ändern. Verwenden Sie die VPC-Managementkonsole oder die [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html)Operationen [CreateVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpoint.html)oder. Sie können eine VPC-Endpunktrichtlinie auch [mithilfe einer AWS CloudFormation Vorlage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html) erstellen und ändern. Hilfe zur Verwendung der VPC-Managementkonsole finden Sie unter [Erstellen eines Schnittstellenendpunkts](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#create-interface-endpoint) und [Ändern eines Schnittstellenendpunkts](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#modify-interface-endpoint) im *AWS PrivateLink -Leitfaden*.

**Private Hostnamen**  
Wenn Sie beim Erstellen Ihres VPC-Endpunkts private Hostnamen aktiviert waren, müssen Sie die URL des Endpunkts in Ihren CLI-Befehlen oder in Ihrer Anwendungskonfiguration angeben. In diesem Fall wird der standardmäßige AWS KMS -DNS-Hostname in Ihren VPC-Endpunkt aufgelöst. Der AWS CLI und SDKs verwenden standardmäßig diesen Hostnamen, sodass Sie den VPC-Endpunkt verwenden können, um eine Verbindung zu einem AWS KMS regionalen Endpunkt herzustellen, ohne etwas an Ihren Skripten und Anwendungen zu ändern.   
Zur Verwendung privater Hostnamen müssen die Attribute `enableDnsHostnames` und `enableDnsSupport` Ihrer VPC auf `true` eingestellt sein. Verwenden Sie den Vorgang, um diese Attribute festzulegen. [ModifyVpcAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcAttribute.html) Details dazu finden Sie unter [Anzeigen und Aktualisieren von DNS-Attributen für Ihre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating) im *Amazon-VPC-Benutzerhandbuch*.

# Verwenden Sie VPC-Endpunkte, um den Zugriff auf Ressourcen zu kontrollieren AWS KMS
<a name="vpce-policy-condition"></a>

Sie können den Zugriff auf AWS KMS Ressourcen und Vorgänge steuern, wenn die Anfrage von einer VPC kommt oder einen VPC-Endpunkt verwendet. Verwenden Sie dazu einen der folgenden [globalen Bedingungsschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#AvailableKeys) in einer [Schlüsselrichtlinie](key-policies.md) oder [IAM-Richtlinie](iam-policies.md).
+ Verwenden Sie den `aws:sourceVpce`-Bedingungsschlüssel zum Erteilen oder Beschränken des Zugriffs anhand des VPC-Endpunkts.
+ Verwenden Sie den `aws:sourceVpc`-Bedingungsschlüssel zum Erteilen oder Beschränken des Zugriffs anhand des VPC, auf der der private Endpunkt gehostet wird.

**Anmerkung**  
Beim Erstellen von Schlüsselrichtlinien und IAM-Richtlinien anhand von Ihrem VPC-Endpunkt ist Vorsicht geboten. Wenn eine Richtlinienerklärung vorschreibt, dass Anfragen von einer bestimmten VPC oder einem VPC-Endpunkt kommen, schlagen Anfragen von integrierten AWS Diensten, die eine AWS KMS Ressource in Ihrem Namen verwenden, möglicherweise fehl. Weitere Informationen dazu finden Sie unter [Verwendung von VPC-Endpunktbedingungen in Richtlinien mit Berechtigungen AWS KMS](conditions-aws.md#conditions-aws-vpce).  
Weiterhin ist der Bedingungsschlüssel `aws:sourceIP` nicht wirksam, wenn die Anforderung von einem [Amazon-VPC-Endpunkt](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) kommt. Um die Anforderungen an einen VPC-Endpunkt zu beschränken, verwenden Sie die Bedingungsschlüssel `aws:sourceVpce` oder `aws:sourceVpc`. Weitere Informationen finden Sie unter [Identity and Access Management für VPC-Endpunkte und VPC-Endpunkt-Services](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-iam.html) im *AWS PrivateLink -Leitfaden*. 

Sie können diese globalen Bedingungsschlüssel verwenden, um den Zugriff auf AWS KMS keys (KMS-Schlüssel), Aliase und solche Operationen zu kontrollieren, [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)die nicht von einer bestimmten Ressource abhängen.

Die folgende Beispiel-Schlüsselrichtlinie erlaubt es einem Benutzer z. B., nur dann kryptografische Operationen mit einem KMS-Schlüssel durchzuführen, wenn die Anforderung den angegebenen VPC-Endpunkt nutzt. Wenn ein Benutzer eine Anfrage an stellt AWS KMS, wird die VPC-Endpunkt-ID in der Anfrage mit dem `aws:sourceVpce` Bedingungsschlüsselwert in der Richtlinie verglichen. Wenn sie nicht übereinstimmen, wird die Anforderung abgelehnt. 

Um eine Richtlinie wie diese zu verwenden, ersetzen Sie die AWS-Konto Platzhalter-ID und den VPC-Endpunkt IDs durch gültige Werte für Ihr Konto.

------
#### [ JSON ]

****  

```
{
    "Id": "example-key-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableIAMpolicies",
            "Effect": "Allow",
            "Principal": {"AWS":["111122223333"]},
            "Action": ["kms:*"],
            "Resource": "*"
        },
        {
            "Sid": "Restrict usage to my VPC endpoint",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*"
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                "aws:sourceVpce": "vpce-1234abcdf5678c90a"
                }
            }
        }

    ]
}
```

------

Sie können auch den `aws:sourceVpc`-Bedingungsschlüssel verwenden, um den Zugriff auf Ihre KMS-Schlüssel anhand der VPC, in der sich der VPC-Endpunkt befindet, zu beschränken. 

Die folgende Beispiel-Schlüsselrichtlinie erlaubt nur dann Befehle zur Verwaltung des KMS-Schlüssels, wenn sie von `vpc-12345678` stammen. Außerdem erlaubt sie nur Befehle, die den KMS-Schlüssel für kryptographische Operationen verwenden, wenn sie von `vpc-2b2b2b2b` stammen. Sie verwenden eine solche Richtlinie wie diese möglicherweise, wenn eine Anwendung in einer VPC ausgeführt wird, aber eine zweite, isolierte VPC für die Verwaltungsfunktionen genutzt wird. 

Um eine Richtlinie wie diese zu verwenden, ersetzen Sie die AWS-Konto Platzhalter-ID und den VPC-Endpunkt IDs durch gültige Werte für Ihr Konto.

------
#### [ JSON ]

****  

```
{
    "Id": "example-key-2",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAdministrativeActionsFromVPC",
            "Effect": "Allow",
            "Principal": {
                "AWS": "111122223333"
            },
            "Action": [
                "kms:Create*",
                "kms:Enable*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:sourceVpc": "vpc-12345678"
                }
            }
        },
        {
            "Sid": "AllowKeyUsageFromVPC2b2b2b2b",
            "Effect": "Allow",
            "Principal": {
                "AWS": "111122223333"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:GenerateDataKey*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:sourceVpc": "vpc-2b2b2b2b"
                }
            }
        },
        {
            "Sid": "AllowReadActionsEverywhere",
            "Effect": "Allow",
            "Principal": {
                "AWS": "111122223333"
            },
            "Action": [
                "kms:Describe*",
                "kms:List*",
                "kms:Get*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# AWS KMS Anfragen protokollieren, die einen VPC-Endpunkt verwenden
<a name="vpce-logging"></a>

AWS CloudTrail protokolliert alle Operationen, die den VPC-Endpunkt verwenden. Wenn eine Anfrage an einen VPC-Endpunkt AWS KMS verwendet, erscheint die VPC-Endpunkt-ID im [AWS CloudTrail Protokolleintrag](logging-using-cloudtrail.md), der die Anfrage aufzeichnet. Sie können die Endpunkt-ID verwenden, um die Nutzung Ihres AWS KMS VPC-Endpunkts zu überprüfen.

Ihre CloudTrail Protokolle enthalten jedoch keine Operationen, die von Prinzipalen in anderen Konten angefordert wurden, oder Anfragen für AWS KMS Operationen mit KMS-Schlüsseln und -Aliasnamen in anderen Konten. Um Ihre VPC zu schützen, werden Anfragen, die durch eine VPC-Endpunktrichtlinie abgelehnt wurden, aber andernfalls zugelassen worden wären, nicht aufgezeichnet. [AWS CloudTrail](logging-using-cloudtrail.md)

Dieser Beispiel-Protokolleintrag zeichnet z. B. eine [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)-Anforderung auf, die den VPC-Endpunkt genutzt hat. Das Feld `vpcEndpointId` erscheint am Ende des Protokolleintrags.

```
{
  "eventVersion":"1.05",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "EX_PRINCIPAL_ID",
    "arn": "arn:aws:iam::111122223333:user/Alice",
    "accessKeyId": "EXAMPLE_KEY_ID",
    "accountId": "111122223333",
    "userName": "Alice"
  },
  "eventTime":"2018-01-16T05:46:57Z",
  "eventSource":"kms.amazonaws.com",
  "eventName":"GenerateDataKey",
  "awsRegion":"eu-west-1",
  "sourceIPAddress":"172.01.01.001",
  "userAgent":"aws-cli/1.14.23 Python/2.7.12 Linux/4.9.75-25.55.amzn1.x86_64 botocore/1.8.27",
  "requestParameters":{
    "keyId":"1234abcd-12ab-34cd-56ef-1234567890ab",
    "numberOfBytes":128
  },
  "responseElements":null,
  "requestID":"a9fff0bf-fa80-11e7-a13c-afcabff2f04c",
  "eventID":"77274901-88bc-4e3f-9bb6-acf1c16f6a7c",
  "readOnly":true,
  "resources":[{
    "ARN":"arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
    "accountId":"111122223333",
    "type":"AWS::KMS::Key"
  }],
  "eventType":"AwsApiCall",
  "recipientAccountId":"111122223333",
  "vpcEndpointId": "vpce-1234abcdf5678c90a"
}
```

# Unterstützung für Dual-Stack-Endpunkte
<a name="ipv6-kms"></a>

AWS KMS bietet einen öffentlichen Dual-Stack-Endpunkt, der IPv4 sowohl IPv6 Clients als auch unterstützt. Ein Dual-Stack-Endpunkt ermöglicht es Clients, mit ihnen zu kommunizieren, indem sie entweder IPv4 oder IPv6 Adressen AWS KMS verwenden. Weitere Informationen zu den AWS KMS Endpunkten finden Sie unter [AWS Key Management Service Endpunkte und Kontingente](https://docs.aws.amazon.com//general/latest/gr/kms.html).

Der öffentliche AWS KMS Dual-Stack-Endpunkt `https://kms.your-region.api.aws` unterstützt sowohl IPv4 Clients als auch. IPv6 AWS KMS ist auch privat über IPv4 und IPv6 von Ihrer Virtual Private Cloud (VPC) aus zugänglich. AWS PrivateLink Weitere Informationen zum Erstellen von VPC-Endpunkten mit privater Schnittstelle für finden Sie AWS KMS unter. [Stellen Sie eine Connect AWS KMS über einen VPC-Endpunkt her](kms-vpc-endpoint.md)

Weitere Informationen IPv6 zur Adressierung für Sie VPCs finden Sie unter [So funktioniert Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html#vpc-ip-addressing) im *Amazon Virtual Private Cloud Cloud-Benutzerhandbuch*. Weitere Informationen zur Konfiguration Ihrer VPC für den Dual-Stack-Modus finden Sie unter [IP-Adressierung für Ihre VPCs und Subnetze](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#vpc-ipv6) im *Amazon Virtual Private Cloud Cloud-Benutzerhandbuch*.

## Funktionen, die nicht verfügbar sind über IPv6
<a name="kms-ipv6-limitations"></a>

AWS KMS kann nicht IPv6 mit AWS CloudHSM Schlüsselspeichern oder externen Schlüsselspeichern kommunizieren. Diese Einschränkung verhindert nicht, dass Sie uns AWS KMS APIs anrufen IPv6.