

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 der serverseitigen Verschlüsselung mit AWS KMS Schlüsseln (SSE-KMS)
<a name="UsingKMSEncryption"></a>

**Wichtig**  
Amazon S3 wendet jetzt serverseitige Verschlüsselung mit von Amazon S3 verwalteten Verschlüsselungsschlüssel (SSE-S3) als Basisverschlüsselung für jeden Bucket in Amazon S3 an. Ab dem 5. Januar 2023 werden alle neuen Objekt-Uploads auf Amazon S3 ohne zusätzliche Kosten und ohne Auswirkungen auf die Leistung automatisch verschlüsselt. Der automatische Verschlüsselungsstatus für die Standardverschlüsselungskonfiguration des S3-Buckets und für das Hochladen neuer Objekte ist in den CloudTrail Protokollen, im S3-Inventar, in der S3-Speicherlinse, in der Amazon S3-Konsole und als zusätzlicher Amazon S3 S3-API-Antwortheader im AWS CLI und AWS SDKs verfügbar. Weitere Informationen finden Sie unter [Häufig gestellte Fragen zur Standardverschlüsselung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).

Serverseitige Verschlüsselung ist die Verschlüsselung von Daten am Zielort durch die Anwendung oder den Service, der sie erhält.

Amazon S3 aktiviert für neue Objekt-Uploads automatisch die serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3).

Sofern Sie nichts anderes angeben, verwenden Buckets standardmäßig SSE-S3 zum Verschlüsseln von Objekten. Sie können Buckets jedoch so konfigurieren, dass sie stattdessen serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-KMS) verwenden. Weitere Informationen finden Sie unter [Angabe der serverseitigen Verschlüsselung mit AWS KMS (SSE-KMS)](specifying-kms-encryption.md).

AWS KMS ist ein Dienst, der sichere, hochverfügbare Hardware und Software kombiniert, um ein für die Cloud skaliertes Schlüsselverwaltungssystem bereitzustellen. Amazon S3 verwendet serverseitige Verschlüsselung mit AWS KMS (SSE-KMS), um Ihre S3-Objektdaten zu verschlüsseln. Außerdem wird, wenn SSE-KMS für das Objekt angefordert wird, die S3-Prüfsumme (als Teil der Metadaten des Objekts) in verschlüsselter Form gespeichert. Weitere Informationen zur Prüfsumme finden Sie unter [Überprüfen der Objektintegrität in Amazon S3](checking-object-integrity.md).

Wenn Sie KMS-Schlüssel verwenden, können Sie sie AWS KMS über die [AWS-Managementkonsole](https://console.aws.amazon.com/kms)oder die [AWS KMS API verwenden, um Folgendes zu tun](https://docs.aws.amazon.com/kms/latest/APIReference/): 
+ Sie können KMS-Schlüssel zentral erstellen, anzeigen, bearbeiten, überwachen, aktivieren oder deaktivieren, rotieren sowie das Löschen von KMS-Schlüsseln planen.
+ Definieren Sie die Richtlinien, die steuern, wie und von wem KMS-Schlüssel verwendet werden können.
+ Prüfen Sie die korrekte Verwendung der KMS-Schlüssel. Das Auditing wird von der [AWS KMS -API](https://docs.aws.amazon.com/kms/latest/APIReference/) unterstützt, nicht jedoch von der [AWS KMS -Konsole;](https://console.aws.amazon.com/kms).



Die darin enthaltenen Sicherheitskontrollen AWS KMS können Ihnen helfen, die Compliance-Anforderungen im Zusammenhang mit der Verschlüsselung zu erfüllen. Sie können mit diesen KMS-Schlüsseln Ihre Daten in Amazon-S3-Buckets schützen. Wenn Sie die SSE-KMS-Verschlüsselung mit einem S3-Bucket verwenden, AWS KMS keys muss sich dieser in derselben Region wie der Bucket befinden.

Für die Nutzung fallen zusätzliche Gebühren an. AWS KMS keys Weitere Informationen finden Sie unter [AWS KMS key -Konzepte](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) im *AWS Key Management Service -Entwicklerhandbuch* und in den [AWS KMS -Preisen](https://aws.amazon.com/kms/pricing).

Anweisungen, wie IAM-Benutzern der Zugriff auf KMS-verschlüsselte Buckets ermöglicht wird, finden Sie unter [Mein Amazon S3 S3-Bucket verfügt über eine Standardverschlüsselung mit einem benutzerdefinierten Schlüssel. AWS KMS Wie kann ich Benutzern erlauben, Daten aus dem Bucket herunterzuladen und in ihn hochzuladen?](https://repost.aws/knowledge-center/s3-bucket-access-default-encryption) im AWS re:Post Knowledge Center.

**Berechtigungen**  
Um erfolgreich eine `PutObject` Anfrage zur Verschlüsselung eines Objekts mit einem AWS KMS Schlüssel für Amazon S3 zu stellen, benötigen Sie `kms:GenerateDataKey` Berechtigungen für den Schlüssel. Um ein mit einem verschlüsseltes Objekt herunterzuladen AWS KMS key, benötigen Sie `kms:Decrypt` Berechtigungen für den Schlüssel. Um [einen mehrteiligen Upload durchzuführen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions), um ein Objekt mit einem zu verschlüsseln AWS KMS key, benötigen Sie die `kms:Decrypt` Berechtigungen `kms:GenerateDataKey` und für den Schlüssel.

**Wichtig**  
Überprüfen Sie sorgfältig die Berechtigungen, die in Ihren KMS-Schlüsselrichtlinien gewährt werden. Beschränken Sie die vom Kunden verwalteten Berechtigungen für KMS-Schlüsselrichtlinien immer nur auf die IAM-Prinzipale und AWS -Dienste, die auf die entsprechende Schlüsselaktion zugreifen müssen. AWS KMS Weitere Informationen finden Sie unter [Wichtige](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) Richtlinien unter. AWS KMS

**Topics**
+ [

## AWS KMS keys
](#aws-managed-customer-managed-keys)
+ [

## Amazon-S3-Bucket-Schlüssel
](#sse-kms-bucket-keys)
+ [

## Erzwingen serverseitiger Verschlüsselung
](#require-sse-kms)
+ [

## Verschlüsselungskontext
](#encryption-context)
+ [

## Senden von Anfragen für AWS KMS verschlüsselte Objekte
](#aws-signature-version-4-sse-kms)
+ [

# Angabe der serverseitigen Verschlüsselung mit AWS KMS (SSE-KMS)
](specifying-kms-encryption.md)
+ [

# Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln
](bucket-key.md)

## AWS KMS keys
<a name="aws-managed-customer-managed-keys"></a>

Wenn Sie serverseitige Verschlüsselung mit AWS KMS (SSE-KMS) verwenden, können Sie den [AWS verwalteten Standardschlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) verwenden oder einen vom [Kunden verwalteten Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) angeben, den Sie bereits erstellt haben. AWS KMS *unterstützt die Envelope-Verschlüsselung.* S3 verwendet die AWS KMS Funktionen für die *Umschlagverschlüsselung*, um Ihre Daten weiter zu schützen. Bei der Umschlagverschlüsselung werden Ihre Klartextdaten mit einem Datenschlüssel verschlüsselt, und dieser Datenschlüssel wird dann mit einem KMS-Schlüssel verschlüsselt. Weitere Informationen zur Envelope-Verschlüsselung finden Sie unter [Envelope-Verschlüsselung](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#enveloping) im *AWS Key Management Service -Entwicklerhandbuch*.

Wenn Sie keinen vom Kunden verwalteten Schlüssel angeben, erstellt Amazon S3 automatisch einen Von AWS verwalteter Schlüssel , wenn Sie AWS-Konto zum ersten Mal ein mit SSE-KMS verschlüsseltes Objekt zu einem Bucket hinzufügen. Standardmäßig verwendet Amazon S3 diesen KMS-Schlüssel für SSE-KMS. 

**Anmerkung**  
Objekte, die mit SSE-KMS mit [Von AWS verwaltete Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) verschlüsselt wurden, können nicht kontoübergreifend gemeinsam genutzt werden. [Wenn Sie SSE-KMS-Daten kontoübergreifend teilen müssen, müssen Sie einen vom Kunden verwalteten Schlüssel von verwenden.](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) AWS KMS

Wenn Sie einen vom Kunden verwalteten Schlüssel für SSE-KMS verwenden möchten, können Sie einen symmetrischen kundenverwalteten Verschlüsselungsschlüssel erstellen, bevor Sie SSE-KMS konfigurieren. Wenn Sie dann SSE-KMS für Ihren Bucket konfigurieren, können Sie den vorhandenen vom Kunden verwalteten Schlüssel angeben. Weitere Informationen um symmetrischen Verschlüsselungsschlüssel finden Sie unter [Symmetrische KMS-Verschlüsselungsschlüssel](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) im *Entwicklerhandbuch für AWS Key Management Service *.

Durch die Erstellung eines vom Kunden verwalteten Schlüssels erhalten Sie mehr Flexibilität und Kontrolle. Beispielsweise können Sie kundenverwaltete Schlüssel erstellen, drehen und deaktivieren. Sie können auch Zugriffskontrollen definieren und die vom Kunden verwalteten Schlüssel prüfen, mit denen Sie Ihre Daten schützen. *Weitere Informationen zu vom Kunden verwalteten und AWS verwalteten Schlüsseln finden Sie unter [Kundenschlüssel und AWS Schlüssel im AWS Key Management Service Entwicklerhandbuch](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt).*

**Anmerkung**  
Wenn Sie serverseitige Verschlüsselung mit einem kundenverwalteten Schlüssel verwenden, der in einem externen Schlüsselspeicher abgelegt ist, sind Sie im Gegensatz zu Standard-KMS-Schlüsseln dafür verantwortlich, die Verfügbarkeit und Beständigkeit Ihres Schlüsselmaterials sicherzustellen. Weitere Informationen zu externen Schlüsselspeichern und dazu, wie sie das Modell der geteilten Verantwortung verändern, finden Sie unter [Externe Schlüsselspeicher](https://docs.aws.amazon.com//kms/latest/developerguide/keystore-external.html) im *Entwicklerhandbuch für AWS Key Management Service *.

### Verwenden der SSE-KMS-Verschlüsselung für kontoübergreifende Vorgänge
<a name="sse-kms-cross-account-operations"></a>

Beachten Sie Folgendes, wenn Sie kontoübergreifende Operationen verschlüsseln:
+ Wenn bei der Anfrage oder über die Standardverschlüsselungskonfiguration des Buckets kein AWS KMS key Amazon-Ressourcenname (ARN) oder Alias angegeben wird, wird das Von AWS verwalteter Schlüssel (`aws/s3`) aus dem hochladenden Konto für die Verschlüsselung verwendet und für die Entschlüsselung benötigt.
+ Von AWS verwalteter Schlüssel (`aws/s3`) kann als KMS-Schlüssel für kontoübergreifende Operationen verwendet werden, wenn die Upload- und Zugriffsprinzipale AWS Identity and Access Management (IAM) vom selben System stammen. AWS-Konto
+ Verwenden Sie einen vom Kunden verwalteten Schlüssel, wenn Sie kontoübergreifenden Zugriff auf Ihre S3-Objekte gewähren möchten. Sie können die Richtlinie eines vom Kunden verwalteten Schlüssel so konfigurieren, dass der Zugriff von einem anderen Konto aus möglich ist.
+ Wenn Sie einen vom Kunden verwalteten KMS-Schlüssel angeben, empfehlen wir die Verwendung eines vollständig qualifizierten KMS-Schlüssel-ARN. Wenn Sie stattdessen einen KMS-Schlüsselalias verwenden, AWS KMS wird der Schlüssel im Konto des Anforderers aufgelöst. Dieses Verhalten kann dazu führen, dass Daten mit einem KMS-Schlüssel verschlüsselt werden, der dem Anforderer und nicht dem Bucket-Eigentümer gehört.
+ Sie müssen einen Schlüssel angeben, für den Ihnen (dem Anforderer) die Berechtigung `Encrypt` erteilt wurde. Weitere Informationen finden Sie unter [Schlüssel-Benutzern die Verwendung eines KMS-Schlüssels für kryptografische Operationen gestatten](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-users-crypto) im *Entwicklerhandbuch zu AWS Key Management Service *.

Weitere Informationen darüber, wann vom Kunden verwaltete Schlüssel und AWS verwaltete KMS-Schlüssel verwendet werden [sollten, finden Sie unter Sollte ich einen Von AWS verwalteter Schlüssel oder einen vom Kunden verwalteten Schlüssel verwenden, um meine Objekte in Amazon S3 zu verschlüsseln?](https://aws.amazon.com/premiumsupport/knowledge-center/s3-object-encryption-keys/)

### SSE-KMS-Verschlüsselungs-Workflow
<a name="sse-kms-encryption-workflow"></a>

Wenn Sie sich dafür entscheiden, Ihre Daten mit einem Von AWS verwalteter Schlüssel oder einem vom Kunden verwalteten Schlüssel zu verschlüsseln, AWS KMS und Amazon S3 die folgenden Envelope-Verschlüsselungsaktionen durchführen:

1. Amazon S3 fordert einen [Klartext-Datenschlüssel](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#data-keys) und eine mit dem angegebenen KMS-Schlüssel verschlüsselte Kopie des Schlüssels an.

1. AWS KMS generiert einen Datenschlüssel, verschlüsselt ihn unter dem KMS-Schlüssel und sendet sowohl den Klartext-Datenschlüssel als auch den verschlüsselten Datenschlüssel an Amazon S3.

1. Amazon S3 verschlüsselt die Daten mit dem Datenschlüssel und entfernt anschließend den Klartextschlüssel schnellstmöglich aus dem Arbeitsspeicher.

1. Amazon S3 speichert den verschlüsselten Datenschlüssel im Metadatenformat zusammen mit den verschlüsselten Daten.

Wenn Sie die Entschlüsselung Ihrer Daten beantragen, nutzen Sie Amazon S3 und AWS KMS führen Sie die folgenden Aktionen aus:

1. Amazon S3 sendet den verschlüsselten Datenschlüssel AWS KMS in einer `Decrypt` Anfrage an.

1. AWS KMS entschlüsselt den verschlüsselten Datenschlüssel mithilfe desselben KMS-Schlüssels und gibt den Klartext-Datenschlüssel an Amazon S3 zurück.

1. Amazon S3 entschlüsselte die verschlüsselten Daten mit dem Klartext-Datenschlüssel und entfernt den Klartext-Datenschlüssel anschließend schnellstmöglich aus dem Arbeitsspeicher.

**Wichtig**  
Wenn Sie einen AWS KMS key für die serverseitige Verschlüsselung in Amazon S3 verwenden, müssen Sie einen KMS-Schlüssel für die symmetrische Verschlüsselung wählen. Amazon S3 unterstützt nur KMS-Schlüssel mit symmetrischer Verschlüsselung. Weitere Informationen zu diesen Schlüsseln finden Sie unter [Symmetrische KMS-Verschlüsselungsschlüssel](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) im *Entwicklerhandbuch für AWS Key Management Service *.

### Prüfung der SSE-KMS-Verschlüsselung
<a name="sse-kms-encryption-audit"></a>

Wenn Sie Anfragen identifizieren möchten, die SSE-KMS angeben, können Sie die Metriken **Alle SSE-KMS-Anfragen** und **% aller SSE-KMS-Anfragen** der Metriken von Amazon S3 Storage Lens verwenden. S3 Storage Lens ist eine Cloud-Speicheranalysefunktion, mit der Sie unternehmensweite Einblicke in die Nutzung und Aktivität von Objektspeichern erhalten können. Sie können auch die Anzahl der Buckets mit aktiviertem SSE-KMS und den Prozentsatz der Buckets mit aktiviertem SSE-KMS verwenden, um die Anzahl der Buckets zu ermitteln, die SSE-KMS für die [standardmäßige Bucket-Verschlüsselung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html) verwenden. Weitere Informationen finden Sie unter [ Bewertung Ihrer Speicheraktivität und -nutzung mit S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html?icmpid=docs_s3_user_guide_UsingKMSEncryption.html). Eine vollständige Liste der Metriken finden Sie im [Glossar der S3-Storage-Lens-Metriken](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html?icmpid=docs_s3_user_guide_UsingKMSEncryption.html).

Um die Verwendung Ihrer AWS KMS Schlüssel für Ihre SSE-KMS-verschlüsselten Daten zu überprüfen, können Sie Protokolle verwenden. AWS CloudTrail Sie können Einblick in Ihre [kryptografischen Operationen](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) wie und erhalten. [https://docs.aws.amazon.com/kms/latest/developerguide/ct-generatedatakey.html](https://docs.aws.amazon.com/kms/latest/developerguide/ct-generatedatakey.html) CloudTrail unterstützt zahlreiche [Attributwerte](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html) zum Filtern Ihrer Suche, einschließlich Ereignisname, Benutzername und Ereignisquelle. 

## Amazon-S3-Bucket-Schlüssel
<a name="sse-kms-bucket-keys"></a>

Wenn Sie die serverseitige Verschlüsselung mithilfe von AWS KMS (SSE-KMS) konfigurieren, können Sie Ihre Buckets so konfigurieren, dass sie S3 Bucket Keys für SSE-KMS verwenden. Die Verwendung eines Schlüssels auf Bucket-Ebene für SSE-KMS kann Ihre AWS KMS Anforderungskosten um bis zu 99 Prozent senken, da der Anforderungsverkehr von Amazon S3 zu reduziert wird. AWS KMS

Wenn Sie einen Bucket für die Verwendung von S3-Bucket-Schlüsseln für SSE-KMS bei neuen Objekten konfigurieren, generiert AWS KMS einen Schlüssel auf Bucket-Ebene, mit dem eindeutige [Datenschlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) für Objekte im Bucket erstellt werden. Dieser S3-Bucket-Key wird für einen begrenzten Zeitraum innerhalb von Amazon S3 verwendet, sodass Amazon S3 keine Anfragen mehr stellen muss, AWS KMS um Verschlüsselungsvorgänge abzuschließen. Weitere Informationen zur Verwendung von S3-Bucket-Schlüsseln finden Sie unter [Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln](bucket-key.md).

## Erzwingen serverseitiger Verschlüsselung
<a name="require-sse-kms"></a>

Wenn Sie die serverseitige Verschlüsselung aller Objekte in einem bestimmten Amazon-S3-Bucket anfordern möchten, können Sie eine Bucket-Richtlinie verwenden. Beispielsweise verweigert die folgende Bucket-Richtlinie jedem die Berechtigung zum Hochladen von Objekten (`s3:PutObject`), wenn die Anforderung nicht den Header `x-amz-server-side-encryption-aws-kms-key-id` enthält, der die serverseitige Verschlüsselung mit SSE-KMS anfordert.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id":"PutObjectPolicy",
   "Statement":[{
         "Sid":"DenyObjectsThatAreNotSSEKMS",
         "Effect":"Deny",
         "Principal":"*",
         "Action":"s3:PutObject",
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/*",
         "Condition":{
            "Null":{
               "s3:x-amz-server-side-encryption-aws-kms-key-id":"true"
            }
         }
      }
   ]
}
```

------

Um zu verlangen, dass ein bestimmter AWS KMS key Schlüssel zum Verschlüsseln der Objekte in einem Bucket verwendet wird, können Sie den `s3:x-amz-server-side-encryption-aws-kms-key-id` Bedingungsschlüssel verwenden. Um den KMS-Schlüssel anzugeben, müssen Sie einen Schlüssel mit dem folgenden `arn:aws:kms:region:acct-id:key/key-id` Format verwenden: Amazon Resource Name (ARN). AWS Identity and Access Management überprüft nicht, ob die Zeichenfolge für `s3:x-amz-server-side-encryption-aws-kms-key-id` existiert. 

**Anmerkung**  
Wenn Sie ein Objekt hochladen, können Sie den KMS-Schlüssel über den `x-amz-server-side-encryption-aws-kms-key-id`-Header angeben oder sich auf Ihre [Standard-Bucket-Verschlüsselungskonfiguration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html) verlassen. Wenn Ihre PutObject Anfrage `aws:kms` im `x-amz-server-side-encryption` Header angegeben ist, den `x-amz-server-side-encryption-aws-kms-key-id` Header jedoch nicht spezifiziert, geht Amazon S3 davon aus, dass Sie den verwenden möchten Von AWS verwalteter Schlüssel. Unabhängig davon muss die AWS KMS Schlüssel-ID, die Amazon S3 für die Objektverschlüsselung verwendet, mit der AWS KMS Schlüssel-ID in der Richtlinie übereinstimmen, andernfalls lehnt Amazon S3 die Anfrage ab.

Eine vollständige Liste der Amazon-S3-spezifischen Bedingungsschlüssel finden Sie unter [Bedingungsschlüssel für Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys) in der *Service-Authorization-Referenz*.

## Verschlüsselungskontext
<a name="encryption-context"></a>

Ein *Verschlüsselungskontext* ist ein Satz von Schlüssel-Wert-Paaren, die zusätzliche kontextbezogene Informationen zu den Daten enthalten können. Der Verschlüsselungskontext ist nicht verschlüsselt. Wenn für eine Verschlüsselungsoperation ein Verschlüsselungskontext angegeben wird, muss Amazon S3 denselben Verschlüsselungskontext auch für die Entschlüsselungsoperation angeben. Andernfalls schlägt die Entschlüsselung fehl. AWS KMS [verwendet den Verschlüsselungskontext als [zusätzliche authentifizierte Daten](https://docs.aws.amazon.com/database-encryption-sdk/latest/devguide/concepts.html#digital-sigs) (AAD), um die authentifizierte Verschlüsselung zu unterstützen.](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations#digital-sigs) Weitere Informationen zum Verschlüsselungs-Kontext finden Sie unter [Encryption Context (Verschlüsselungs-Kontext)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) im *AWS Key Management Service -Entwicklerhandbuch*. 

Amazon S3 verwendet automatisch den Amazon-Ressourcennamen (ARN) des Objekts oder Buckets als Verschlüsselungskontextpaar: 
+ **Wenn Sie SSE-KMS verwenden, ohne einen S3-Bucket-Schlüssel zu aktivieren**, verwenden Sie den Objekt-ARN als Verschlüsselungskontext.

  ```
  arn:aws:s3:::object_ARN
  ```
+ **Wenn Sie SSE-KMS verwenden und einen S3-Bucket-Schlüssel aktivieren**, wird der Bucket-ARN als Verschlüsselungskontext verwendet. Weitere Informationen zu S3-Bucket-Schlüsseln finden Sie unter [Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln](bucket-key.md).

  ```
  arn:aws:s3:::bucket_ARN
  ```

Sie können optional ein zusätzliches Verschlüsselungskontextpaar bereitstellen, indem Sie den `x-amz-server-side-encryption-context` Header in einer [s3](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#API_PutObject_RequestSyntax): -Anforderung verwenden. PutObject Da der Verschlüsselungskontext jedoch nicht verschlüsselt ist, sollte er keine sensiblen Informationen enthalten. Amazon S3 speichert dieses zusätzliche Schlüsselpaar zusammen mit dem Standardverschlüsselungskontext. Wenn Ihre `PUT`-Anforderung verarbeitet wird, hängt Amazon S3 den Standardverschlüsselungskontext `aws:s3:arn` an den von Ihnen bereitgestellten an. 

Sie können den Verschlüsselungskontext verwenden, um Ihre kryptografischen Vorgänge zu identifizieren und zu kategorisieren. Sie können auch den ARN-Wert für den standardmäßigen Verschlüsselungskontext verwenden, um relevante Anfragen nachzuverfolgen, AWS CloudTrail indem Sie sich ansehen, welcher Amazon S3 S3-ARN mit welchem Verschlüsselungsschlüssel verwendet wurde.

Im `requestParameters` Feld einer CloudTrail Protokolldatei sieht der Verschlüsselungskontext dem folgenden ähnlich. 

```
"encryptionContext": {
    "aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket1/file_name"
}
```

Wenn Sie SSE-KMS mit der optionalen S3-Bucket-Keys-Funktion verwenden, ist der Verschlüsselungskontextwert der ARN des Buckets.

```
"encryptionContext": {
    "aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket1"
}
```

## Senden von Anfragen für AWS KMS verschlüsselte Objekte
<a name="aws-signature-version-4-sse-kms"></a>

**Wichtig**  
Alle `GET` `PUT` Anfragen für AWS KMS verschlüsselte Objekte müssen mit Secure Sockets Layer (SSL) oder Transport Layer Security (TLS) gestellt werden. Anfragen müssen außerdem mit gültigen Anmeldeinformationen signiert werden, z. B. mit AWS Signature Version 4 (oder AWS Signature Version 2).

AWS Bei Signature Version 4 werden Authentifizierungsinformationen zu AWS Anfragen hinzugefügt, die über HTTP gesendet werden. Aus Sicherheitsgründen AWS müssen die meisten Anfragen mit einem Zugriffsschlüssel signiert werden, der aus einer Zugriffsschlüssel-ID und einem geheimen Zugriffsschlüssel besteht. Diese beiden Schlüssel werden in der Regel als Sicherheitsanmeldeinformationen bezeichnet. Weitere Informationen finden Sie unter [Authenticating Requests (Authentifizierung von Anforderungen) (AWS Signature Version 4)](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) und [Signature Version 4 signing process (Signaturprozess).](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)

**Wichtig**  
Wenn Ihr Objekt SSE-KMS verwendet, dürfen Sie keine Verschlüsselungsanforderungs-Header für `GET`- und `HEAD`-Anforderungen senden. Andernfalls erhalten Sie den Fehler HTTP 400 Bad Request.

**Topics**
+ [

## AWS KMS keys
](#aws-managed-customer-managed-keys)
+ [

## Amazon-S3-Bucket-Schlüssel
](#sse-kms-bucket-keys)
+ [

## Erzwingen serverseitiger Verschlüsselung
](#require-sse-kms)
+ [

## Verschlüsselungskontext
](#encryption-context)
+ [

## Senden von Anfragen für AWS KMS verschlüsselte Objekte
](#aws-signature-version-4-sse-kms)
+ [

# Angabe der serverseitigen Verschlüsselung mit AWS KMS (SSE-KMS)
](specifying-kms-encryption.md)
+ [

# Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln
](bucket-key.md)

# Angabe der serverseitigen Verschlüsselung mit AWS KMS (SSE-KMS)
<a name="specifying-kms-encryption"></a>

Für alle Amazon-S3-Buckets ist die Verschlüsselung standardmäßig konfiguriert und alle neuen Objekte, die in einen S3-Bucket hochgeladen werden, werden im Ruhezustand automatisch verschlüsselt. Die serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) ist die Standardverschlüsselungskonfiguration für jeden Bucket in Amazon S3. Um einen anderen Verschlüsselungstyp zu verwenden, können Sie entweder die Art der serverseitigen Verschlüsselung angeben, die in Ihren S3-`PUT`-Anfragen verwendet werden soll, oder Sie können die Standardverschlüsselungskonfiguration im Ziel-Bucket festlegen. 

Wenn Sie in Ihren `PUT` Anfragen einen anderen Verschlüsselungstyp angeben möchten, können Sie serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-KMS), zweischichtige serverseitige Verschlüsselung mit Schlüsseln (DSSE-KMS) oder serverseitige Verschlüsselung mit vom Kunden bereitgestellten AWS KMS Schlüsseln (SSE-C) verwenden. Wenn Sie im Ziel-Bucket eine andere Standardverschlüsselungskonfiguration festlegen möchten, können Sie SSE-KMS oder DSSE-KMS verwenden.

Weitere Informationen zum Ändern der Standardverschlüsselungskonfiguration für Allzweck-Buckets finden Sie unter[Konfigurieren der Standardverschlüsselung](default-bucket-encryption.md). 

Wenn Sie die Standardverschlüsselungskonfiguration Ihres Buckets auf SSE-KMS ändern, wird der Verschlüsselungstyp der vorhandenen Amazon S3-Objekte im Bucket nicht geändert. Um den Verschlüsselungstyp Ihrer bereits vorhandenen Objekte zu ändern, nachdem Sie die Standardverschlüsselungskonfiguration auf SSE-KMS aktualisiert haben, können Sie Amazon S3 Batch Operations verwenden. Sie stellen S3-Batchvorgänge eine Liste von Objekten bereit, für die Vorgänge ausgeführt werden sollen, und Batch-Vorgänge ruft die jeweilige API auf, um die angegebene Operation auszuführen. Sie können die [Kopieren von Objekten](batch-ops-copy-object.md) Aktion verwenden, um vorhandene Objekte zu kopieren, wodurch sie in denselben Bucket zurückgeschrieben werden, wie SSE-KMS-verschlüsselte Objekte. Ein einzelner Batch-Operations-Auftrag kann die angegebene Operation für Milliarden von Objekten ausführen. Weitere Informationen finden Sie unter [Ausführen von Objektoperationen in großem Umfang mit Batch Operations](batch-ops.md) und im *AWS Speicher-Blogbeitrag* [So verschlüsseln Sie bestehende Objekte in Amazon S3 rückwirkend mithilfe von S3 Inventory, Amazon Athena und S3 Batch](https://aws.amazon.com/blogs/security/how-to-retroactively-encrypt-existing-objects-in-amazon-s3-using-s3-inventory-amazon-athena-and-s3-batch-operations/) Operations. 

Sie können SSE-KMS mithilfe der Amazon S3 S3-Konsole, REST-API-Operationen und AWS Command Line Interface ()AWS CLI angeben. AWS SDKs Weitere Informationen finden Sie unter den folgenden Themen. 

**Anmerkung**  
Sie können Multiregion AWS KMS keys in Amazon S3 verwenden. Amazon S3 behandelt jedoch derzeit Multi-Regions-Schlüssel wie Einzel-Regions-Schlüssel und verwendet nicht die Multi-Regions-Funktionen des Schlüssels. Weitere Informationen finden Sie unter [Verwenden von multiregionalen Schlüsseln)](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) im *AWS Key Management Service -Entwicklerhandbuch*.

**Anmerkung**  
Wenn Sie einen KMS-Schlüssel verwenden möchten, der sich im Besitz eines anderen Kontos befindet, müssen Sie über die Berechtigung zum Verwenden des Schlüssels verfügen. Weitere Informationen zu kontoübergreifenden Berechtigungen für KMS-Schlüssel finden Sie unter [Erstellen von KMS-Schlüsseln, die von anderen Konten verwendet werden können](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console) im *Entwicklerhandbuch zu AWS Key Management Service *. 

## Verwenden der S3-Konsole
<a name="add-object-encryption-kms"></a>

In diesem Thema wird beschrieben, wie Sie mithilfe der Amazon S3 S3-Konsole den Verschlüsselungstyp eines Objekts so einrichten oder ändern, dass serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-KMS) verwendet wird.

**Anmerkung**  
Sie können die Verschlüsselung eines Objekts ändern, wenn Ihr Objekt kleiner als 5 GB groß ist. Wenn Ihr Objekt größer als 5 GB ist, müssen Sie [AWS CLI](mpu-upload-object.md#UsingCLImpUpload)oder verwenden, um die Verschlüsselung eines Objekts [AWS SDKs](CopyingObjectsMPUapi.md)zu ändern.
Eine Liste der zusätzlichen Berechtigungen, die zum Ändern der Verschlüsselung eines Objekts erforderlich sind, finden Sie unter [Erforderliche Berechtigungen für Amazon-S3-API-Operationen](using-with-s3-policy-actions.md). Beispielrichtlinien, die diese Berechtigungen erteilen, finden Sie unter [Beispiele für identitätsbasierte Richtlinien für Amazon S3](example-policies-s3.md).
Wenn Sie die Verschlüsselung eines Objekts ändern, wird ein neues Objekt erstellt, um das alte zu ersetzen. Wenn S3-Versioning aktiviert ist, wird eine neue Version des Objekts erstellt, und das vorhandene Objekt wird zu einer älteren Version. Die Rolle, die die Eigenschaft ändert, wird auch Besitzer des neuen Objekts (oder der neuen Objektversion). 

**So fügen Sie die Verschlüsselung für ein Objekt hinzu oder ändern Sie sie**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie im Navigationsbereich **Buckets** und dann die Registerkarte **Allzweck-Buckets** aus. Navigieren Sie zum Amazon-S3-Bucket oder -Ordner, der die Objekte enthält, die Sie ändern möchten.

1. Aktivieren Sie das Kontrollkästchen für die Objekte, die Sie ändern möchten.

1. Wählen Sie im Menü **Aktionen** aus der angezeigten Optionsliste die Option **Serverseitige Verschlüsselung bearbeiten** aus.

1. Scrollen Sie zum Abschnitt **Serverseitige Verschlüsselung**.

1. Wählen Sie unter **Verschlüsselungseinstellungen** die Option **Verwenden von Bucket-Einstellungen für die Standardverschlüsselung** oder **Überschreiben der Bucket-Einstellungen für die Standardverschlüsselung** aus.
**Wichtig**  
Wenn Sie die Option SSE-KMS für die Standardverschlüsselung verwenden, unterliegen Sie den Kontingenten der Anforderungen pro Sekunde (RPS) von AWS KMS. Weitere Informationen zu AWS KMS -Kontingenten und zum Anfordern einer Kontingenterhöhung finden Sie unter [Kontingente](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html) im *Entwicklerhandbuch zu AWS Key Management Service *. 

1. Wenn Sie **Überschreiben der Bucket-Einstellungen für die Standardverschlüsselung** ausgewählt haben, konfigurieren Sie die folgenden Verschlüsselungseinstellungen.

   1. Wählen Sie unter **Verschlüsselungstyp** die Option **Serverseitige Verschlüsselung mit AWS Key Management Service Schlüsseln (SSE-KMS**) aus.

   1. Führen Sie unter **AWS KMS -Schlüssel** eine der folgenden Aktionen aus, um Ihren KMS-Schlüssel auszuwählen:
      + Wenn Sie aus einer Liste verfügbarer KMS-Schlüssel auswählen möchten, wählen Sie **Aus Ihren AWS KMS keys wählen** und dann den **KMS-Schlüssel** in der Liste der verfügbaren Schlüssel aus.

        Sowohl der Von AWS verwalteter Schlüssel (`aws/s3`) als auch Ihr vom Kunden verwalteter Schlüssel werden in dieser Liste angezeigt. Weitere Informationen über vom Kunden verwaltete Schlüssel finden Sie unter [Kundenschlüssel und AWS -Schlüssel](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) im *Entwicklerhandbuch zu AWS Key Management Service *.
      + Um den KMS-Schlüssel-ARN einzugeben, wählen **Sie AWS KMS key ARN eingeben** und geben Sie dann Ihren KMS-Schlüssel-ARN in das angezeigte Feld ein. 
      + Um einen neuen vom Kunden verwalteten Schlüssel in der AWS KMS Konsole zu **erstellen, wählen Sie Create a KMS Key** aus.

        Weitere Informationen zum Erstellen eines finden Sie AWS KMS key unter [Creating Keys](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) im *AWS Key Management Service Developer Guide*.
**Wichtig**  
Sie können nur KMS-Schlüssel verwenden, die im selben AWS-Region Bucket verfügbar sind. Die Amazon-S3-Konsole führt nur die ersten 100 KMS-Schlüssel auf, die in derselben Region wie der Bucket verfügbar sind. Wenn Sie einen KMS-Schlüssel verwenden möchten, der nicht aufgeführt ist, müssen Sie den KMS-Schlüssel-ARN eingeben. Wenn Sie einen KMS-Schlüssel verwenden möchten, der sich im Besitz eines anderen Kontos befindet, müssen Sie über die Berechtigung zum Verwenden des Schlüssels verfügen und Sie müssen den KMS-Schlüssel-ARN eingeben.  
Amazon S3 unterstützt nur symmetrisch verschlüsselte KMS-Schlüssel und keine asymmetrischen KMS-Schlüssel. Weitere Informationen finden Sie unter [Erkennen von symmetrischen und asymmetrischen KMS-Schlüsseln](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html) im *Entwicklerhandbuch zu AWS Key Management Service *.

1. Wählen Sie unter **Zusätzliche Kopiereinstellungen** aus, ob Sie **Quelleinstellungen kopieren**, **Keine Einstellungen angeben** oder **Einstellungen angeben** möchten. **Quelleinstellungen kopieren** ist die Standardoption. Wenn Sie das Objekt nur ohne die Quelleinstellungsattribute kopieren möchten, wählen Sie **Keine Einstellungen angeben** aus. Wählen **Sie Einstellungen angeben**, um Einstellungen für Speicherklasse, Objekt-Tags ACLs, Metadaten, serverseitige Verschlüsselung und zusätzliche Prüfsummen anzugeben.

1. Wählen Sie **Änderungen speichern ** aus.

**Anmerkung**  
Diese Aktion wendet auf alle angegebenen Objekte Verschlüsselung an. Warten Sie beim Verschlüsseln von Ordnern, bis die Speicheroperation abgeschlossen ist, bevor Sie dem Ordner neue Objekte hinzufügen.

## Verwenden der REST-API
<a name="KMSUsingRESTAPI"></a>

Wenn Sie ein Objekt erstellen, d. h. wenn Sie ein neues Objekt hochladen oder ein vorhandenes Objekt kopieren, können Sie für die Verschlüsselung Ihrer Daten die serverseitige Verschlüsselung mit AWS KMS keys (SSE-KMS) angeben. Fügen Sie hierzu der Anforderung den Header `x-amz-server-side-encryption` hinzu. Setzen Sie den Wert des Headers auf den `aws:kms`-Verschlüsselungsalgorithmus. Amazon S3 bestätigt, dass Ihr Objekt unter Verwendung von SSE-KMS gespeichert wird, indem es den Antwort-Header `x-amz-server-side-encryption` zurückgibt. 

Wenn Sie den Header `x-amz-server-side-encryption` mit dem Wert `aws:kms` angeben, können Sie auch die folgenden Anforderungs-Header verwenden:
+ `x-amz-server-side-encryption-aws-kms-key-id`
+ `x-amz-server-side-encryption-context`
+ `x-amz-server-side-encryption-bucket-key-enabled`

**Topics**
+ [

### Amazon-S3-REST-API-Vorgänge, die SSE-KMS unterstützen
](#sse-request-headers-kms)
+ [

### Verschlüsselungskontext (`x-amz-server-side-encryption-context`)
](#s3-kms-encryption-context)
+ [

### AWS KMS Schlüssel-ID () `x-amz-server-side-encryption-aws-kms-key-id`
](#s3-kms-key-id-api)
+ [

### S3-Bucket-Schlüssel (`x-amz-server-side-encryption-aws-bucket-key-enabled`)
](#bucket-key-api)

### Amazon-S3-REST-API-Vorgänge, die SSE-KMS unterstützen
<a name="sse-request-headers-kms"></a>

Die folgenden REST-API-Vorgänge akzeptieren die Anforderungs-Header `x-amz-server-side-encryption`, `x-amz-server-side-encryption-aws-kms-key-id` und `x-amz-server-side-encryption-context`.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) – Wenn Sie Daten über die `PUT`-API-Operation hochladen, können Sie diese Anforderungs-Header angeben. 
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) – Wenn Sie ein Objekt kopieren, erhalten Sie ein Quell- und ein Zielobjekt. Wenn Sie SSE-KMS-Header mit der `CopyObject`-Operation übergeben, werden sie nur auf das Zielobjekt angewendet. Beim Kopieren eines vorhandenen Objekts wird das Zielobjekt unabhängig davon, ob das Quellobjekt verschlüsselt ist, nur dann verschlüsselt, wenn Sie die serverseitige Verschlüsselung explizit anfordern.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) – Wenn Sie eine `POST`-Operation für das Hochladen eines Objekts verwenden, geben Sie die Informationen in die Formularfelder und nicht in die Anforderungs-Header ein.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) – Wenn Sie große Objekte über die API-Operation für mehrteilige Uploads hochladen, können Sie diese Header angeben. Sie geben diese Header in der `CreateMultipartUpload`-Anforderung an.

Die Antwort-Header der folgenden REST-API-Operationen geben den Header `x-amz-server-side-encryption` zurück, wenn ein Objekt unter Verwendung der serverseitigen Verschlüsselung gespeichert wird.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)

**Wichtig**  
Alle `GET`- und `PUT`-Anforderungen für ein Objekt, das durch AWS KMS geschützt wird, schlagen fehl, wenn Sie diese nicht mit Secure Sockets Layer (SSL), Transport Layer Security (TLS) oder Signature Version 4 erstellen.
Wenn Ihr Objekt SSE-KMS verwendet, senden Sie keine Header für `GET` Verschlüsselungsanfragen für Anfragen und `HEAD` Anfragen, da Sie sonst einen HTTP 400-Fehler erhalten. BadRequest

### Verschlüsselungskontext (`x-amz-server-side-encryption-context`)
<a name="s3-kms-encryption-context"></a>

Wenn Sie `x-amz-server-side-encryption:aws:kms` angeben, unterstützt die Amazon-S3-API einen Verschlüsselungskontext mit dem Header `x-amz-server-side-encryption-context`. Ein Verschlüsselungskontext ist ein Satz von Schlüssel-Wert-Paaren, die zusätzliche kontextbezogene Informationen zu den Daten enthalten können.

Amazon S3 verwendet automatisch den Objekt- oder Bucket-ARN (Amazon-Ressourcenname) als Verschlüsselungskontextpaar. Wenn Sie SSE-KMS verwenden, ohne einen S3-Bucket-Schlüssel zu aktivieren, verwenden Sie den Objekt-ARN als Verschlüsselungskontext, z. B. `arn:aws:s3:::object_ARN`. Wenn Sie dagegen SSE-KMS verwenden und einen S3-Bucket-Schlüssel aktivieren, verwenden Sie den Bucket-ARN für Ihren Verschlüsselungskontext, z. B. `arn:aws:s3:::bucket_ARN`. 

Sie können optional ein zusätzliches Verschlüsselungskontextpaar bereitstellen, indem Sie den Header `x-amz-server-side-encryption-context` verwenden. Da der Verschlüsselungskontext jedoch nicht verschlüsselt ist, sollte er keine sensiblen Informationen enthalten. Amazon S3 speichert dieses zusätzliche Schlüsselpaar zusammen mit dem Standardverschlüsselungskontext.

Weitere Informationen zum Verschlüsselungskontext in Amazon S3 finden Sie unter [Verschlüsselungskontext](UsingKMSEncryption.md#encryption-context). Allgemeine Informationen zum Verschlüsselungs-Kontext finden Sie unter [AWS Key Management Service Concepts – Encryption Context (Konzepte – Verschlüsselungs-Kontext)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) im *AWS Key Management Service -Entwicklerhandbuch*. 

### AWS KMS Schlüssel-ID () `x-amz-server-side-encryption-aws-kms-key-id`
<a name="s3-kms-key-id-api"></a>

Sie können den Header `x-amz-server-side-encryption-aws-kms-key-id` verwenden, um die ID des vom Kunden verwalteten Schlüssels anzugeben, der zum Schutz der Daten verwendet wird. Wenn Sie den Header `x-amz-server-side-encryption:aws:kms`, jedoch nicht den Header `x-amz-server-side-encryption-aws-kms-key-id` angeben, verwendet Amazon S3 Von AWS verwalteter Schlüssel (`aws/s3`), um die Daten zu schützen. Wenn Sie einen vom Kunden verwalteten Schlüssel verwenden möchten, müssen Sie den `x-amz-server-side-encryption-aws-kms-key-id`-Header des vom Kunden verwalteten Schlüssels angeben.

**Wichtig**  
Wenn Sie einen AWS KMS key für die serverseitige Verschlüsselung in Amazon S3 verwenden, müssen Sie einen KMS-Schlüssel für die symmetrische Verschlüsselung wählen. Amazon S3 unterstützt nur KMS-Schlüssel mit symmetrischer Verschlüsselung. Weitere Informationen zu diesen Schlüsseln finden Sie unter [Symmetrische KMS-Verschlüsselungsschlüssel](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) im *Entwicklerhandbuch für AWS Key Management Service *.

### S3-Bucket-Schlüssel (`x-amz-server-side-encryption-aws-bucket-key-enabled`)
<a name="bucket-key-api"></a>

Sie können den Anforderungs-Header `x-amz-server-side-encryption-aws-bucket-key-enabled` verwenden, um einen S3-Bucket-Schlüssel auf Objektebene zu aktivieren oder zu deaktivieren. S3 Bucket Keys reduzieren Ihre AWS KMS Anforderungskosten, indem sie den Anforderungsverkehr von Amazon S3 zu reduzieren AWS KMS. Weitere Informationen finden Sie unter [Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln](bucket-key.md).

Wenn Sie den Header `x-amz-server-side-encryption:aws:kms`, jedoch nicht den Header `x-amz-server-side-encryption-aws-bucket-key-enabled` angeben, werden die Einstellung des S3-Bucket-Schlüssels für den Ziel-Bucket verwendet, um Ihr Objekt zu verschlüsseln. Weitere Informationen finden Sie unter [Konfigurieren eines S3-Bucket-Schlüssels auf Objektebene](configuring-bucket-key-object.md).

## Mit dem AWS CLI
<a name="KMSUsingCLI"></a>

Um die folgenden AWS CLI Beispielbefehle zu verwenden, ersetzen Sie die `user input placeholders` durch Ihre eigenen Informationen.

Wenn Sie ein neues Objekt hochladen oder ein vorhandenes Objekt kopieren, können Sie angeben, dass serverseitige Verschlüsselung mit AWS KMS Schlüsseln zum Verschlüsseln Ihrer Daten verwendet werden soll. Fügen Sie hierzu der Anforderung den Header `--server-side-encryption aws:kms` hinzu. Verwenden Sie den`--ssekms-key-id example-key-id`, um Ihren vom [Kunden verwalteten AWS KMS Schlüssel](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#customer-cmk) hinzuzufügen, den Sie erstellt haben. Wenn Sie eine AWS KMS Schlüssel-ID angeben`--server-side-encryption aws:kms`, aber keine angeben, verwendet Amazon S3 einen AWS verwalteten Schlüssel.

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key example-object-key --server-side-encryption aws:kms --ssekms-key-id example-key-id --body filepath
```

Sie können Schlüssel von Amazon-S3-Buckets zusätzlich für Ihre PUT- oder COPY-Operationen aktivieren oder deaktivieren, indem Sie `--bucket-key-enabled` oder `--no-bucket-key-enabled` hinzufügen. Amazon S3 Bucket Keys kann Ihre AWS KMS Anforderungskosten senken, indem der Anforderungsverkehr von Amazon S3 zu reduziert wird AWS KMS. Weitere Informationen finden Sie unter [Reduzierung der Kosten für SSE-KMS mit Schlüsseln von Amazon-S3-Buckets](https://docs.aws.amazon.com//AmazonS3/latest/userguide/bucket-key.html).

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key example-object-key --server-side-encryption aws:kms --bucket-key-enabled --body filepath
```

Sie können ein unverschlüsseltes Objekt mit SSE-KMS verschlüsseln, indem Sie das Objekt wieder an seinen Platz kopieren.

```
aws s3api copy-object --bucket amzn-s3-demo-bucket --key example-object-key --body filepath --bucket amzn-s3-demo-bucket --key example-object-key --sse aws:kms --sse-kms-key-id example-key-id --body filepath
```

## Mit dem AWS SDKs
<a name="kms-using-sdks"></a>

Bei der Verwendung AWS SDKs können Sie Amazon S3 AWS KMS keys für die serverseitige Verschlüsselung anfordern. Die folgenden Beispiele zeigen, wie SSE-KMS mit dem AWS SDKs für Java und .NET verwendet wird. Informationen zu anderen SDKs finden Sie im AWS Developer Center unter [Beispielcode und Bibliotheken](https://aws.amazon.com/code).

**Wichtig**  
Wenn Sie einen AWS KMS key für die serverseitige Verschlüsselung in Amazon S3 verwenden, müssen Sie einen KMS-Schlüssel für die symmetrische Verschlüsselung wählen. Amazon S3 unterstützt nur KMS-Schlüssel mit symmetrischer Verschlüsselung. Weitere Informationen zu diesen Schlüsseln finden Sie unter [Symmetrische KMS-Verschlüsselungsschlüssel](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) im *Entwicklerhandbuch für AWS Key Management Service *.

### `CopyObject`-Operation
<a name="kms-copy-operation"></a>

Wenn Sie Objekte kopieren, fügen Sie dieselben Anfrageeigenschaften (`ServerSideEncryptionMethod` und `ServerSideEncryptionKeyManagementServiceKeyId`) hinzu, um Amazon S3 aufzufordern, ein AWS KMS key zu verwenden. Weitere Informationen über das Kopieren von Objekten finden Sie unter [Kopieren, Verschieben und Umbenennen von Objekten](copy-object.md). 

### `PUT`-Operation
<a name="kms-put-operation"></a>

------
#### [ Java ]

Wenn Sie ein Objekt mithilfe von hochladen AWS SDK für Java, können Sie Amazon S3 auffordern, ein zu verwenden, AWS KMS key indem Sie die `SSEAwsKeyManagementParams` Eigenschaft hinzufügen, wie in der folgenden Anfrage gezeigt:

```
PutObjectRequest putRequest = new PutObjectRequest(bucketName,
   keyName, file).withSSEAwsKeyManagementParams(new SSEAwsKeyManagementParams());
```

In diesem Fall verwendet Amazon S3 die Von AWS verwalteter Schlüssel (`aws/s3`). Weitere Informationen finden Sie unter [Verwenden der serverseitigen Verschlüsselung mit AWS KMS Schlüsseln (SSE-KMS)](UsingKMSEncryption.md). Sie können optional einen symmetrischen KMS-Verschlüsselungsschlüssel erstellen und diesen in der Anfrage angeben, wie im folgenden Beispiel gezeigt:

```
PutObjectRequest putRequest = new PutObjectRequest(bucketName,
   keyName, file).withSSEAwsKeyManagementParams(new SSEAwsKeyManagementParams(keyID));
```

Weitere Informationen zur Erstellung von kundenverwalteten Schlüsseln finden Sie unter [Programming the AWS KMS API](https://docs.aws.amazon.com/kms/latest/developerguide/programming-top.html) im *AWS Key Management Service Developer Guide*.

Funktionierende Codebeispiele zum Hochladen eines Objekts finden Sie unter den folgenden Themen. Um diese Beispiele zu verwenden, müssen Sie die Codebeispiele aktualisieren und Verschlüsselungsinformationen wie im vorigen Codefragment gezeigt bereitstellen.
+ Weitere Informationen zum Hochladen eines Objekts in einem einzigen Vorgang finden Sie unter [Objekte hochladen](upload-objects.md).
+ Informationen zu mehrteiligen Uploads, die High- oder Low-Level-API-Operationen für mehrteilige Uploads verwenden, finden Sie unter [Hochladen eines Objekts mit Multipart-Upload](mpu-upload-object.md). 

------
#### [ .NET ]

Wenn Sie ein Objekt mithilfe von hochladen AWS SDK für .NET, können Sie Amazon S3 auffordern, ein zu verwenden, AWS KMS key indem Sie die `ServerSideEncryptionMethod` Eigenschaft hinzufügen, wie in der folgenden Anfrage gezeigt:

```
PutObjectRequest putRequest = new PutObjectRequest
 {
     BucketName = amzn-s3-demo-bucket,
     Key = keyName,
     // other properties
     ServerSideEncryptionMethod = ServerSideEncryptionMethod.AWSKMS
 };
```

In diesem Fall verwendet Amazon S3 die Von AWS verwalteter Schlüssel. Weitere Informationen finden Sie unter [Verwenden der serverseitigen Verschlüsselung mit AWS KMS Schlüsseln (SSE-KMS)](UsingKMSEncryption.md). Sie können optional Ihren eigenen symmetrischen, vom Kunden verwalteten Verschlüsselungsschlüssel erstellen und diesen in der Anforderung angeben, wie im folgenden Beispiel gezeigt wird:

```
PutObjectRequest putRequest1 = new PutObjectRequest
{
  BucketName = amzn-s3-demo-bucket,
  Key = keyName,
  // other properties
  ServerSideEncryptionMethod = ServerSideEncryptionMethod.AWSKMS,
  ServerSideEncryptionKeyManagementServiceKeyId = keyId
};
```

Weitere Informationen zur Erstellung von kundenverwalteten Schlüsseln finden Sie unter [Programming the AWS KMS API](https://docs.aws.amazon.com/kms/latest/developerguide/programming-top.html) im *AWS Key Management Service Developer Guide*. 

Funktionierende Codebeispiele zum Hochladen eines Objekts finden Sie unter den folgenden Themen. Um diese Beispiele zu verwenden, müssen Sie die Codebeispiele aktualisieren und Verschlüsselungsinformationen wie im vorigen Codefragment gezeigt bereitstellen.
+ Weitere Informationen zum Hochladen eines Objekts in einem einzigen Vorgang finden Sie unter [Objekte hochladen](upload-objects.md).
+ Informationen zu mehrteiligen Uploads, die High- oder Low-Level-API-Operationen für mehrteilige Uploads verwenden, finden Sie unter [Hochladen eines Objekts mit Multipart-Upload](mpu-upload-object.md). 

------

### Vorsigniert URLs
<a name="kms-presigned-urls"></a>

------
#### [ Java ]

Beim Erstellen einer vorsignierten URL für ein Objekt, das mit AWS KMS key verschlüsselt ist, müssen Sie explizit Signature Version 4 angeben, wie im folgenden Beispiel gezeigt wird:

```
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setSignerOverride("AWSS3V4SignerType");
AmazonS3Client s3client = new AmazonS3Client(
        new ProfileCredentialsProvider(), clientConfiguration);
...
```

Ein Codebeispiel finden Sie unter [Gemeinsame Nutzung von Objekten mit vorsignierten URLs](ShareObjectPreSignedURL.md). 

------
#### [ .NET ]

Beim Erstellen einer vorsignierten URL für ein Objekt, das mit AWS KMS key verschlüsselt ist, müssen Sie explizit Signature Version 4 angeben, wie im folgenden Beispiel gezeigt wird:

```
AWSConfigs.S3Config.UseSignatureVersion4 = true;
```

Ein Codebeispiel finden Sie unter [Gemeinsame Nutzung von Objekten mit vorsignierten URLs](ShareObjectPreSignedURL.md).

------

# Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln
<a name="bucket-key"></a>

Amazon S3 Bucket Keys reduzieren die Kosten für die serverseitige Amazon S3 S3-Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-KMS). Durch die Verwendung eines Schlüssels auf Bucket-Ebene für SSE-KMS können die AWS KMS Anforderungskosten um bis zu 99 Prozent gesenkt werden, da der Anforderungsverkehr von Amazon S3 zu reduziert wird. AWS KMS Mit ein paar Klicks in der AWS-Managementkonsole und ohne Änderungen an Ihren Client-Anwendungen können Sie Ihren Bucket so konfigurieren, dass ein S3-Bucket-Schlüssel für die SSE-KMS-Verschlüsselung bei neuen Objekten verwendet wird.

**Anmerkung**  
S3-Bucket-Keys werden für die zweischichtige serverseitige Verschlüsselung mit AWS Key Management Service () -Schlüsseln (AWS KMS DSSE-KMS) nicht unterstützt.

## S3-Bucket-Schlüssel für SSE-KMS
<a name="bucket-key-overview"></a>

Workloads, die auf Millionen oder Milliarden von mit SSE-KMS verschlüsselten Objekten zugreifen, können große Mengen an Anfragen an generieren. AWS KMS Wenn Sie SSE-KMS verwenden, um Ihre Daten ohne einen S3-Bucket Key zu schützen, verwendet Amazon S3 für jedes Objekt einen individuellen AWS KMS [Datenschlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys). In diesem Fall ruft Amazon S3 AWS KMS jedes Mal, wenn eine Anfrage für ein KMS-verschlüsseltes Objekt gestellt wird, auf. Informationen zur Funktionsweise von SSE-KMS finden Sie unter [Verwenden der serverseitigen Verschlüsselung mit AWS KMS Schlüsseln (SSE-KMS)](UsingKMSEncryption.md). 

Wenn Sie Ihren Bucket so konfigurieren, dass er einen S3-Bucket Key für SSE-KMS verwendet, AWS generiert er einen kurzlebigen Schlüssel auf Bucket-Ebene von AWS KMS und speichert ihn dann vorübergehend in S3. Dieser Schlüssel auf Bucket-Ebene erstellt während seines Lebenszyklus Datenschlüssel für neue Objekte. S3-Bucket-Keys werden für einen begrenzten Zeitraum in Amazon S3 verwendet, sodass S3 weniger Anfragen stellen muss, AWS KMS um Verschlüsselungsvorgänge abzuschließen. Dadurch wird der Datenverkehr von S3 zu reduziert AWS KMS, sodass Sie zu einem Bruchteil der bisherigen Kosten auf AWS KMS-verschlüsselte Objekte in Amazon S3 zugreifen können.

Eindeutige Schlüssel auf Bucket-Ebene werden mindestens einmal pro Anforderer abgerufen, um sicherzustellen, dass der Zugriff des Anforderers auf den Schlüssel bei einem Ereignis erfasst wird. AWS KMS CloudTrail Amazon S3 behandelt Anrufer als unterschiedliche Anforderer, wenn sie unterschiedliche Rollen oder Konten oder dieselbe Rolle mit unterschiedlichen Bereichsrichtlinien verwenden. AWS KMS Die Einsparungen bei Anfragen spiegeln die Anzahl der Anfragenden, das Anforderungsmuster und das relative Alter der angeforderten Objekte wider. Beispielsweise führt eine geringere Anzahl von Anforderern, die mehrere mit demselben Schlüssel auf Bucket-Ebene verschlüsselte Objekte in einem begrenzten Zeitfenster anfordern, zu größeren Einsparungen.

**Anmerkung**  
Durch die Verwendung von S3 Bucket Keys können Sie AWS KMS Anforderungskosten sparen `Encrypt``GenerateDataKey`, indem Sie Ihre Anfragen mithilfe eines Schlüssels auf Bucketebene auf Anfragen und `Decrypt` Operationen reduzieren. AWS KMS Standardmäßig führen nachfolgende Anfragen, die diesen Schlüssel auf Bucket-Ebene nutzen, nicht zu AWS KMS API-Anfragen und validieren den Zugriff nicht anhand der Schlüsselrichtlinie. AWS KMS 

Wenn Sie einen S3-Bucket-Schlüssel konfigurieren, verwenden Objekte, die sich bereits im Bucket befinden, nicht den S3-Bucket-Schlüssel. Zum Konfigurieren eines S3-Bucket-Schlüssels für vorhandene Objekte können Sie eine `CopyObject`-Operation verwenden. Weitere Informationen finden Sie unter [Konfigurieren eines S3-Bucket-Schlüssels auf Objektebene](configuring-bucket-key-object.md).

Amazon S3 gibt einen S3-Bucket-Schlüssel nur für Objekte frei, die mit demselben AWS KMS key verschlüsselt werden. S3 Bucket Keys sind kompatibel mit KMS-Schlüsseln AWS KMS, die von [importiertem Schlüsselmaterial](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) erstellt wurden, und [Schlüsselmaterial, das von benutzerdefinierten Schlüsselspeichern unterstützt wird](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).

![\[Diagramm, das die AWS KMS Generierung eines Bucket-Keys zeigt, der Datenschlüssel für Objekte in einem Bucket erstellt.\]](http://docs.aws.amazon.com/de_de/AmazonS3/latest/userguide/images/S3-Bucket-Keys.png)


## Konfigurieren von S3-Bucket-Schlüsseln
<a name="configure-bucket-key"></a>

Sie können Ihren Bucket so konfigurieren, dass er einen S3-Bucket Key für SSE-KMS für neue Objekte über die Amazon S3 S3-Konsole, AWS SDKs AWS CLI, oder die REST-API verwendet. Wenn S3-Bucket-Schlüssel in Ihrem Bucket aktiviert sind, verwenden Objekte, die mit einem anderen angegebenen SSE-KMS-Schlüssel hochgeladen wurden, ihre eigenen S3-Bucket-Schlüssel. Unabhängig von Ihrer S3-Bucket-Schlüsseleinstellung können Sie den Header `x-amz-server-side-encryption-bucket-key-enabled` mit einem `true`- oder `false`-Wert in Ihre Anforderung aufnehmen, um die Bucket-Einstellung zu überschreiben.

Bevor Sie Ihren Bucket für die Verwendung eines S3-Bucket-Schlüssels konfigurieren, lesen Sie [Änderungen, die Sie vor dem Aktivieren eines S3-Bucket-Schlüssels beachten sollten](#bucket-key-changes). 

### Konfigurieren eines S3-Bucket-Schlüssels mit der Amazon-S3-Konsole
<a name="configure-bucket-key-console"></a>

Wenn Sie einen neuen Bucket erstellen, können Sie ihn so konfigurieren, dass er einen S3-Bucket-Schlüssel für SSE-KMS bei neuen Objekten verwendet. Sie können einen vorhandenen Bucket auch dafür konfigurieren, dass er einen S3-Bucket-Schlüssel für SSE-KMS bei neuen Objekten verwendet, indem Sie die Bucket-Eigenschaften aktualisieren. 

Weitere Informationen finden Sie unter [Konfigurieren des Buckets für die Verwendung eines S3-Bucket-Schlüssels mit SSE-KMS bei neuen Objekten](configuring-bucket-key.md).

### REST-API- AWS CLI und AWS SDK-Unterstützung für S3-Bucket Keys
<a name="configure-bucket-key-programmatic"></a>

Sie können die REST-API oder das AWS SDK verwenden AWS CLI, um Ihren Bucket so zu konfigurieren, dass er einen S3-Bucket-Schlüssel für SSE-KMS für neue Objekte verwendet. Sie können einen S3-Bucket-Schlüssel auch auf Objektebene aktivieren.

Weitere Informationen finden Sie hier: 
+ [Konfigurieren eines S3-Bucket-Schlüssels auf Objektebene](configuring-bucket-key-object.md)
+ [Konfigurieren des Buckets für die Verwendung eines S3-Bucket-Schlüssels mit SSE-KMS bei neuen Objekten](configuring-bucket-key.md)

Die folgenden API-Operationen unterstützen S3-Bucket-Schlüssel für SSE-KMS:
+ [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)
  + `ServerSideEncryptionRule` akzeptiert den Parameter `BucketKeyEnabled` zum Aktivieren und Deaktivieren eines S3-Bucket-Schlüssels.
+ [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)
  + `ServerSideEncryptionRule` gibt die Einstellungen für `BucketKeyEnabled` zurück.
+ [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)[, [CopyObject[CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html), und POST-Objekt](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)
  + Der Anforderungs-Header `x-amz-server-side-encryption-bucket-key-enabled` aktiviert oder deaktiviert einen S3-Bucket-Schlüssel auf Objektebene.
+ [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html), [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html), [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html), [UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html), und [CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
  + Der Antwort-Header `x-amz-server-side-encryption-bucket-key-enabled` zeigt an, ob ein S3-Bucket-Schlüssel für ein Objekt aktiviert oder deaktiviert ist.

### Arbeitet mit CloudFormation
<a name="configure-bucket-key-cfn"></a>

In CloudFormation enthält die `AWS::S3::Bucket` Ressource eine Verschlüsselungseigenschaft namens`BucketKeyEnabled`, mit der Sie einen S3-Bucket-Key aktivieren oder deaktivieren können. 

Weitere Informationen finden Sie unter [Verwenden CloudFormation](configuring-bucket-key.md#enable-bucket-key-cloudformation).

## Änderungen, die Sie vor dem Aktivieren eines S3-Bucket-Schlüssels beachten sollten
<a name="bucket-key-changes"></a>

Bevor Sie einen S3-Bucket-Schlüssel aktivieren, beachten Sie bitte die folgenden damit verbundenen Änderungen:

### IAM oder AWS KMS wichtige Richtlinien
<a name="bucket-key-policies"></a>

Wenn Ihre bestehenden AWS Identity and Access Management (IAM) -Richtlinien oder AWS KMS Schlüsselrichtlinien Ihr Objekt Amazon Resource Name (ARN) als Verschlüsselungskontext verwenden, um den Zugriff auf Ihren KMS-Schlüssel zu verfeinern oder einzuschränken, funktionieren diese Richtlinien nicht mit einem S3-Bucket Key. S3-Bucket-Schlüssel verwenden den Bucket-ARN als Verschlüsselungskontext. Bevor Sie einen S3-Bucket Key aktivieren, aktualisieren Sie Ihre IAM-Richtlinien oder AWS KMS Schlüsselrichtlinien, um Ihren Bucket-ARN als Verschlüsselungskontext zu verwenden.

Weitere Informationen zum Verschlüsselungskontext und zu S3-Bucket-Schlüsseln finden Sie unter [Verschlüsselungskontext](UsingKMSEncryption.md#encryption-context).

### CloudTrail Ereignisse für AWS KMS
<a name="bucket-key-cloudtrail"></a>

Nachdem Sie einen S3-Bucket Key aktiviert haben, protokollieren Ihre AWS KMS CloudTrail Ereignisse Ihren Bucket-ARN anstelle Ihres Objekt-ARN. Darüber hinaus werden in Ihren Protokollen weniger CloudTrail KMS-Ereignisse für SSE-KMS-Objekte angezeigt. Da wichtige Materialien in Amazon S3 zeitlich begrenzt sind, werden weniger Anfragen gestellt. AWS KMS

## Verwenden eines S3-Bucket-Schlüssels mit Replikation
<a name="bucket-key-replication"></a>

Sie können S3-Bucket-Schlüssel mit Replikation innerhalb derselben Region (SRR) und regionsübergreifender Replikation (CRR) verwenden.

Wenn Amazon S3 ein verschlüsseltes Objekt repliziert, werden im Allgemeinen die Verschlüsselungseinstellungen des Replikatobjekts im Ziel-Bucket beibehalten. Wenn das Quellobjekt jedoch nicht verschlüsselt ist und Ihr Ziel-Bucket eine Standard-Verschlüsselung oder einen S3-Bucket-Schlüssel verwendet, verschlüsselt Amazon S3 das Objekt mit der Konfiguration des Ziel-Buckets. 

Die folgenden Beispiele veranschaulichen, wie ein S3-Bucket-Schlüssel mit der Replikation funktioniert. Weitere Informationen finden Sie unter [Replizieren verschlüsselter Objekte (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md). 

**Example Beispiel 1 – Quellobjekt verwendet S3-Bucket-Schlüssel; Ziel-Bucket verwendet Standardverschlüsselung**  
Wenn Ihr Quellobjekt einen S3-Bucket-Schlüssel verwendet, Ihr Ziel-Bucket jedoch eine Standard-Verschlüsselung mit SSE-KMS, behält das Replikatobjekt seine S3-Bucket-Schlüssel-Verschlüsselungseinstellungen im Ziel-Bucket bei. Der Ziel-Bucket verwendet weiterhin die Standard-Verschlüsselung mit SSE-KMS.   


**Example Beispiel 2 – Quellobjekt ist nicht verschlüsselt; Ziel-Bucket verwendet einen S3-Bucket-Schlüssel mit SSE-KMS**  
Wenn Ihr Quellobjekt nicht verschlüsselt ist und der Ziel-Bucket einen S3-Bucket-Schlüssel mit SSE-KMS verwendet, wird das Replikatobjekt mit einem S3-Bucket-Schlüssel mit SSE-KMS im Ziel-Bucket verschlüsselt. Daher unterscheidet sich das `ETag` des Quell-Objekts von dem `ETag` des Replikatobjekts. Sie müssen die Anwendungen, die das `ETag` verwenden, zur Anpassung an diesen Unterschied aktualisieren.

## Arbeiten mit S3-Bucket-Schlüsseln
<a name="using-bucket-key"></a>

Weitere Informationen zum Aktivieren und Arbeiten mit S3-Bucket-Schlüsseln finden Sie in den folgenden Abschnitten:
+ [Konfigurieren des Buckets für die Verwendung eines S3-Bucket-Schlüssels mit SSE-KMS bei neuen Objekten](configuring-bucket-key.md)
+ [Konfigurieren eines S3-Bucket-Schlüssels auf Objektebene](configuring-bucket-key-object.md)
+ [Anzeigen der Einstellungen für einen S3-Bucket-Schlüssel](viewing-bucket-key-settings.md)

# Konfigurieren des Buckets für die Verwendung eines S3-Bucket-Schlüssels mit SSE-KMS bei neuen Objekten
<a name="configuring-bucket-key"></a>

Wenn Sie serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-KMS) konfigurieren, können Sie Ihren Bucket so konfigurieren, dass für neue Objekte ein S3-Bucket Key für SSE-KMS verwendet wird. S3-Bucket Keys reduzieren den Anforderungsverkehr von Amazon S3 zu AWS KMS und reduzieren die Kosten für SSE-KMS. Weitere Informationen finden Sie unter [Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln](bucket-key.md).

Sie können Ihren Bucket so konfigurieren, dass er einen S3-Bucket-Schlüssel für SSE-KMS für neue Objekte verwendet, indem Sie die Amazon S3 S3-Konsole, die REST-API, AWS SDKs, AWS Command Line Interface (AWS CLI) oder verwenden. CloudFormation Wenn Sie einen S3-Bucket-Schlüssel für vorhandene Objekte aktivieren oder deaktivieren möchten, können Sie eine `CopyObject`-Operation verwenden. Weitere Informationen finden Sie unter [Konfigurieren eines S3-Bucket-Schlüssels auf Objektebene](configuring-bucket-key-object.md) und [Verwenden von Batch Operations zur Aktivierung von S3 Bucket Keys für SSE-KMS](batch-ops-copy-example-bucket-key.md).

Wenn ein S3-Bucket-Schlüssel für den Quell- oder Ziel-Bucket aktiviert ist, ist der Verschlüsselungskontext der Bucket-Amazon-Ressourcenname (ARN), nicht der Objekt-ARN, z. B., `arn:aws:s3:::bucket_ARN`. Sie müssen Ihre IAM-Richtlinien aktualisieren, um den Bucket-ARN für den Verschlüsselungskontext zu verwenden. Weitere Informationen finden Sie unter [S3 Bucket-Schlüssel und Replikation](replication-config-for-kms-objects.md#bk-replication).

Die folgenden Beispiele veranschaulichen, wie ein S3-Bucket-Schlüssel mit der Replikation funktioniert. Weitere Informationen finden Sie unter [Replizieren verschlüsselter Objekte (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md). 

**Voraussetzungen**  
Bevor Sie Ihren Bucket für die Verwendung eines S3-Bucket-Schlüssels konfigurieren, lesen Sie [Änderungen, die Sie vor dem Aktivieren eines S3-Bucket-Schlüssels beachten sollten](bucket-key.md#bucket-key-changes).

**Topics**

## Verwenden der S3-Konsole
<a name="enable-bucket-key"></a>

In der S3-Konsole können Sie einen S3-Bucket-Schlüssel für einen neuen oder vorhandenen Bucket aktivieren oder deaktivieren. Objekte in der S3-Konsole übernehmen ihre S3-Bucket-Schlüssel-Einstellung aus der Bucket-Konfiguration. Wenn Sie einen S3-Bucket-Schlüssel für Ihren Bucket aktivieren, verwenden neue Objekte, die Sie in den Bucket hochladen, einen S3-Bucket-Schlüssel für SSE-KMS. 

**Hochladen, Kopieren oder Ändern von Objekten in Buckets, für die ein S3-Bucket-Schlüssel aktiviert ist**  
Wenn Sie ein Objekt in einen Bucket hochladen oder kopieren, für den ein S3-Bucket-Schlüssel aktiviert ist, oder ein Objekt darin ändern, werden die Einstellung des S3-Bucket-Schlüssels für dieses Objekt möglicherweise aktualisiert, um sie an die Bucket-Konfiguration anzupassen.

Wenn für ein Objekt bereits ein S3-Bucket-Schlüssel aktiviert ist, ändern sich die S3-Bucket-Schlüssel-Einstellungen für dieses Objekt nicht, wenn Sie das Objekt kopieren oder ändern. Wenn Sie jedoch ein Objekt ändern oder kopieren, für das kein S3-Bucket-Schlüssel aktiviert ist, und der Ziel-Bucket eine S3-Bucket-Schlüssel-Konfiguration hat, übernimmt das Objekt die S3-Bucket-Schlüssel-Einstellungen des Ziel-Buckets. Wenn beispielsweise für den Ziel-Bucket ein S3-Bucket-Schlüssel aktiviert ist, für das Quellobjekt jedoch nicht, wird ein S3-Bucket-Schlüssel für das Objekt aktiviert.

**So aktivieren Sie einen S3-Bucket-Schlüssel beim Erstellen eines neuen Buckets**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie im linken Navigationsbereich **Buckets** aus.

1. Wählen Sie **Create Bucket** (Bucket erstellen) aus. 

1. Geben Sie Ihren Bucket-Namen ein und wählen Sie Ihre AWS-Region aus. 

1. Wählen Sie unter **Standardverschlüsselung** für **Verschlüsselungsschlüsseltyp** die Option **AWS Key Management Service -Schlüssel (SSE-KMS)** aus.

1. Führen Sie unter **AWS KMS -Schlüssel** eine der folgenden Aktionen aus, um Ihren KMS-Schlüssel auszuwählen:
   + Um aus einer Liste verfügbarer KMS-Schlüssel auszuwählen, wählen Sie **Wählen Sie aus Ihrem AWS KMS keys** und wählen Sie dann Ihren **KMS-Schlüssel** aus der Liste der verfügbaren Schlüssel aus.

     Sowohl der Von AWS verwalteter Schlüssel (`aws/s3`) als auch Ihr vom Kunden verwalteter Schlüssel werden in dieser Liste angezeigt. Weitere Informationen zu vom Kunden verwalteten Schlüsseln finden Sie unter [Kundenschlüssel und AWS Schlüssel](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) im *AWS Key Management Service Entwicklerhandbuch*.
   + Wählen Sie zum Eingeben des KMS-Schlüssel-ARN ** AWS KMS key -ARN eingeben** aus und geben Sie Ihren KMS-Schlüssel-ARN in das angezeigte Feld ein. 
   + Um einen neuen vom Kunden verwalteten Schlüssel in der AWS KMS Konsole zu **erstellen, wählen Sie Create a KMS Key** aus.

     Weitere Informationen zum Erstellen eines finden Sie AWS KMS key unter [Creating Keys](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) im *AWS Key Management Service Developer Guide*.

1. Wählen Sie unter **Bucket Key** (Bucket-Schlüssel) die Option **Enable** (Aktivieren). 

1. Wählen Sie **Create Bucket (Bucket erstellen)** aus. 

   Amazon S3 erstellt Ihren Bucket mit einem aktivierten S3-Bucket-Schlüssel. Neue Objekte, die Sie in den Bucket hochladen, verwenden einen S3-Bucket-Schlüssel. 

   Um einen S3-Bucket-Schlüssel zu deaktivieren, führen Sie die vorherigen Schritte aus und wählen **Deaktivieren**.

**So aktivieren Sie einen S3-Bucket-Schlüssel für einen vorhandenen Bucket**

1. Öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie im linken Navigationsbereich **Buckets** aus.

1. Wählen Sie in der Liste **Buckets** den Bucket, für den Sie einen S3-Bucket-Schlüssel aktivieren möchten.

1. Wählen Sie die Registerkarte **Eigenschaften** aus.

1. Wählen Sie unter **Default encryption (Standard-Verschlüsselung)** **Edit (Bearbeiten)** aus.

1. Wählen Sie unter **Standardverschlüsselung** für **Verschlüsselungsschlüsseltyp** die Option **AWS Key Management Service -Schlüssel (SSE-KMS)** aus.

1. Führen Sie unter **AWS KMS -Schlüssel** eine der folgenden Aktionen aus, um Ihren KMS-Schlüssel auszuwählen:
   + Um aus einer Liste verfügbarer KMS-Schlüssel auszuwählen, wählen Sie **Wählen Sie aus Ihrem AWS KMS keys** und wählen Sie dann Ihren **KMS-Schlüssel** aus der Liste der verfügbaren Schlüssel aus.

     Sowohl der Von AWS verwalteter Schlüssel (`aws/s3`) als auch Ihr vom Kunden verwalteter Schlüssel werden in dieser Liste angezeigt. Weitere Informationen zu vom Kunden verwalteten Schlüsseln finden Sie unter [Kundenschlüssel und AWS Schlüssel](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) im *AWS Key Management Service Entwicklerhandbuch*.
   + Wählen Sie zum Eingeben des KMS-Schlüssel-ARN ** AWS KMS key -ARN eingeben** aus und geben Sie Ihren KMS-Schlüssel-ARN in das angezeigte Feld ein. 
   + Um einen neuen vom Kunden verwalteten Schlüssel in der AWS KMS Konsole zu **erstellen, wählen Sie Create a KMS Key** aus.

     Weitere Informationen zum Erstellen eines finden Sie AWS KMS key unter [Creating Keys](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) im *AWS Key Management Service Developer Guide*.

1. Wählen Sie unter **Bucket-Schlüssel** die Option **Aktivieren**. 

1. Wählen Sie **Save Changes (Änderungen speichern)**.

   Amazon S3 aktiviert einen S3-Bucket-Schlüssel für neue Objekte, die zu Ihrem Bucket hinzugefügt werden. Bestehende Objekte verwenden den S3-Bucket-Schlüssel nicht. Zum Konfigurieren eines S3-Bucket-Schlüssels für vorhandene Objekte können Sie eine `CopyObject`-Operation verwenden. Weitere Informationen finden Sie unter [Konfigurieren eines S3-Bucket-Schlüssels auf Objektebene](configuring-bucket-key-object.md).

   Um einen S3-Bucket-Schlüssel zu deaktivieren, führen Sie die vorherigen Schritte aus und wählen **Deaktivieren**.

## Verwenden der REST-API
<a name="enable-bucket-key-rest"></a>

Sie können [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)einen S3-Bucket-Key für Ihren Bucket aktivieren oder deaktivieren. Um einen S3-Bucket Key mit zu konfigurieren`PutBucketEncryption`, verwenden Sie den [ServerSideEncryptionRule](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ServerSideEncryptionRule.html)Datentyp, der die Standardverschlüsselung mit SSE-KMS beinhaltet. Sie können optional auch einen vom Kunden verwalteten Schlüssel verwenden, indem Sie die KMS-Schlüssel-ID für den kundenverwalteten Schlüssel angeben.  

Weitere Informationen und eine Beispielsyntax finden Sie unter. [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html) 

## Verwenden des AWS SDK for Java
<a name="enable-bucket-key-sdk"></a>

Im folgenden Beispiel wird die Bucket-Standardverschlüsselung mit SSE-KMS und einem S3-Bucket-Schlüssel unter Verwendung des AWS SDK für Java aktiviert.

------
#### [ Java ]

```
AmazonS3 s3client = AmazonS3ClientBuilder.standard()
    .withRegion(Regions.DEFAULT_REGION)
    .build();
    
ServerSideEncryptionByDefault serverSideEncryptionByDefault = new ServerSideEncryptionByDefault()
    .withSSEAlgorithm(SSEAlgorithm.KMS);
ServerSideEncryptionRule rule = new ServerSideEncryptionRule()
    .withApplyServerSideEncryptionByDefault(serverSideEncryptionByDefault)
    .withBucketKeyEnabled(true);
ServerSideEncryptionConfiguration serverSideEncryptionConfiguration =
    new ServerSideEncryptionConfiguration().withRules(Collections.singleton(rule));

SetBucketEncryptionRequest setBucketEncryptionRequest = new SetBucketEncryptionRequest()
    .withServerSideEncryptionConfiguration(serverSideEncryptionConfiguration)
    .withBucketName(bucketName);
            
s3client.setBucketEncryption(setBucketEncryptionRequest);
```

------

## Mit dem AWS CLI
<a name="enable-bucket-key-cli"></a>

Im folgenden Beispiel wird die Bucket-Standardverschlüsselung mit SSE-KMS und einem S3-Bucket-Schlüssel unter Verwendung des AWS CLI aktiviert. Ersetzen Sie `user input placeholders` durch Ihre Informationen.

```
aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration '{
        "Rules": [
            {
                "ApplyServerSideEncryptionByDefault": {
                    "SSEAlgorithm": "aws:kms",
                    "KMSMasterKeyID": "KMS-Key-ARN"
                },
                "BucketKeyEnabled": true
            }
        ]
    }'
```

## Verwenden CloudFormation
<a name="enable-bucket-key-cloudformation"></a>

Weitere Informationen zur Konfiguration eines S3-Bucket CloudFormation Keys mit finden Sie [AWS::S3::Bucket ServerSideEncryptionRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html)im *AWS CloudFormation Benutzerhandbuch*.

# Konfigurieren eines S3-Bucket-Schlüssels auf Objektebene
<a name="configuring-bucket-key-object"></a>

Wenn Sie einen PUT- oder COPY-Vorgang mithilfe der REST-API, oder AWS CLI ausführen AWS SDKs, können Sie einen S3-Bucket-Key auf Objektebene aktivieren oder deaktivieren, indem Sie den `x-amz-server-side-encryption-bucket-key-enabled` Anforderungsheader mit dem `false` Wert `true` oder hinzufügen. S3-Bucket Keys reduzieren die Kosten für serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) (SSE-KMS), indem sie den Anforderungsverkehr von Amazon S3 zu verringern. AWS KMS Weitere Informationen finden Sie unter [Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln](bucket-key.md). 

Wenn Sie einen S3-Bucket-Schlüssel für ein Objekt mithilfe eines PUT- oder COPY-Vorgangs konfigurieren, aktualisiert Amazon S3 nur die Einstellungen für dieses Objekt. Die S3-Bucket-Schlüssel-Einstellungen für den Ziel-Bucket ändern sich nicht. Wenn Sie eine PUT- oder COPY-Anforderung für ein KMS-verschlüsseltes Objekt in einen Bucket mit aktivierten S3-Bucket-Schlüsseln senden, verwendet Ihr Vorgang auf Objektebene automatisch S3-Bucket-Schlüssel, sofern Sie die Schlüssel im Anforderungs-Header nicht deaktivieren. Wenn Sie keinen S3-Bucket-Schlüssel für Ihr Objekt angeben, wendet Amazon S3 die S3-Bucket-Schlüssel-Einstellungen für den Ziel-Bucket auf das Objekt an.

**Voraussetzung:**  
Bevor Sie Ihr Objekt für die Verwendung eines S3-Bucket-Schlüssels konfigurieren, lesen Sie [Änderungen, die Sie vor dem Aktivieren eines S3-Bucket-Schlüssels beachten sollten](bucket-key.md#bucket-key-changes). 

**Topics**
+ [

## Amazon S3 Batchvorgänge
](#bucket-key-object-bops)
+ [

## Verwenden der REST-API
](#bucket-key-object-rest)
+ [

## Verwenden des AWS SDK for Java (PutObject)
](#bucket-key-object-sdk)
+ [

## Verwenden von AWS CLI (PutObject)
](#bucket-key-object-cli)

## Amazon S3 Batchvorgänge
<a name="bucket-key-object-bops"></a>

Um Ihre vorhandenen Amazon-S3-Objekte zu verschlüsseln, können Sie Amazon-S3-Batchvorgänge verwenden. Sie stellen S3-Batchvorgänge eine Liste von Objekten bereit, für die Vorgänge ausgeführt werden sollen, und Batch-Vorgänge ruft die jeweilige API auf, um die angegebene Operation auszuführen. 

Mit dem [S3-Batch–Vorgangs-Kopiervorgang](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-copy-object.html) können Sie vorhandene nicht verschlüsselte Objekte kopieren und sie in denselben Bucket zurückschreiben, wie verschlüsselte Objekte. Ein einzelner Batch-Operations-Auftrag kann die angegebene Operation für Milliarden von Objekten ausführen. Weitere Informationen finden Sie unter [Ausführen von Objektoperationen in großem Umfang mit Batch Operations](batch-ops.md) und [Encrypting Objects with Amazon S3 Batch Operations (Verschlüsseln von Objekten mit Amazon S3 Batch Operations)](https://aws.amazon.com/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations/).

## Verwenden der REST-API
<a name="bucket-key-object-rest"></a>

Wenn Sie SSE-KMS verwenden, können Sie einen S3-Bucket-Schlüssel für ein Objekt mithilfe der folgenden API-Operationen aktivieren: 
+ [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)— Wenn Sie ein Objekt hochladen, können Sie den `x-amz-server-side-encryption-bucket-key-enabled` Anforderungsheader angeben, um einen S3-Bucket-Key auf Objektebene zu aktivieren oder zu deaktivieren. 
+ [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)— Wenn Sie ein Objekt kopieren und SSE-KMS konfigurieren, können Sie den `x-amz-server-side-encryption-bucket-key-enabled` Anforderungsheader angeben, um einen S3-Bucket-Key für Ihr Objekt zu aktivieren oder zu deaktivieren. 
+ [Post Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) – Wenn Sie eine `POST`-Operation verwenden, um ein Objekt hochzuladen, und SSE-KMS konfigurieren, können Sie das Formularfeld `x-amz-server-side-encryption-bucket-key-enabled` verwenden, um einen S3-Bucket-Schlüssel für das Objekt zu aktivieren oder zu deaktivieren.
+ [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)— Wenn Sie große Objekte mithilfe der `CreateMultipartUpload` API-Operation hochladen und SSE-KMS konfigurieren, können Sie den `x-amz-server-side-encryption-bucket-key-enabled` Anforderungsheader verwenden, um einen S3-Bucket-Key für Ihr Objekt zu aktivieren oder zu deaktivieren.

Um einen S3-Bucket-Schlüssel auf Objektebene zu aktivieren, schließen Sie den Anforderungs-Header `x-amz-server-side-encryption-bucket-key-enabled` ein. Weitere Informationen über SSE-KMS und die REST API finden Sie unter [Verwenden der REST-API](specifying-kms-encryption.md#KMSUsingRESTAPI).

## Verwenden des AWS SDK for Java (PutObject)
<a name="bucket-key-object-sdk"></a>

Sie können das folgende Beispiel verwenden, um einen S3-Bucket-Schlüssel auf Objektebene mit AWS SDK für Java zu konfigurieren.

------
#### [ Java ]

```
AmazonS3 s3client = AmazonS3ClientBuilder.standard()
    .withRegion(Regions.DEFAULT_REGION)
    .build();

String bucketName = "amzn-s3-demo-bucket1";
String keyName = "key name for object";
String contents = "file contents";

PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, keyName, contents)
    .withBucketKeyEnabled(true);
    
s3client.putObject(putObjectRequest);
```

------

## Verwenden von AWS CLI (PutObject)
<a name="bucket-key-object-cli"></a>

Sie können das folgende AWS CLI Beispiel verwenden, um einen S3-Bucket-Key auf Objektebene als Teil einer `PutObject` Anfrage zu konfigurieren.

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key object key name --server-side-encryption aws:kms --bucket-key-enabled --body filepath
```

# Anzeigen der Einstellungen für einen S3-Bucket-Schlüssel
<a name="viewing-bucket-key-settings"></a>

Sie können die Einstellungen für einen S3-Bucket Key auf Bucket- oder Objektebene anzeigen, indem Sie die Amazon S3 S3-Konsole, die REST-API, AWS Command Line Interface (AWS CLI) oder verwenden AWS SDKs.

S3-Bucket Keys reduzieren den Anforderungsverkehr von Amazon S3 zu AWS KMS und reduzieren die Kosten für serverseitige Verschlüsselung mithilfe von AWS Key Management Service (SSE-KMS). Weitere Informationen finden Sie unter [Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln](bucket-key.md). 

Zum Anzeigen der Einstellungen des S3-Bucket-Schlüssels für einen Bucket oder ein Objekt, der/das die Einstellungen des S3-Bucket-Schlüssels von der Bucket-Konfiguration übernommen hat, benötigen Sie die Berechtigung zum Ausführen der Aktion `s3:GetEncryptionConfiguration`. Weitere Informationen finden Sie unter [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) in der *API-Referenz zu Amazon Simple Storage Service*. 

## Verwenden der S3-Konsole
<a name="bucket-key-settings"></a>

In der S3-Konsole können Sie die S3-Bucket-Schlüssel-Einstellungen für Ihren Bucket oder Ihr Objekt anzeigen. S3-Bucket-Schlüssel-Einstellungen werden aus der Bucket-Konfiguration übernommen, es sei denn, für die Quellobjekte ist bereits ein S3-Bucket-Schlüssel konfiguriert.

Objekte und Ordner im selben Bucket können unterschiedliche S3-Bucket-Schlüssel-Einstellungen haben. Wenn Sie beispielsweise ein Objekt über die REST-API hochladen und einen S3-Bucket-Schlüssel für das Objekt aktivieren, behält das Objekt seine S3-Bucket-Schlüssel-Einstellung im Ziel-Bucket bei, selbst wenn S3-Bucket-Schlüssel im Ziel-Bucket deaktiviert ist. Ein weiteres Beispiel: Wenn Sie einen S3-Bucket-Schlüssel für einen vorhandenen Bucket aktivieren, verwenden Objekte, die sich bereits im Bucket befinden, keinen S3-Bucket-Schlüssel. Für neue Objekte ist jedoch ein S3-Bucket-Schlüssel aktiviert. 

**So zeigen Sie die Einstellungen des S3-Bucket-Schlüssels für Ihren Bucket an**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie im linken Navigationsbereich **Buckets** aus.

1. Wählen Sie in der Liste **Buckets** den Bucket, für den Sie einen S3-Bucket-Schlüssel aktivieren möchten.

1. Wählen Sie **Properties (Eigenschaften)**.

1. Im Bereich **Standard-Verschlüsselung** sehen Sie unter **Bucket-Schlüssel** die S3-Bucket-Schlüssel-Einstellung für Ihren Bucket.

   Wenn Sie die S3-Bucket-Schlüssel-Einstellung nicht sehen, sind Sie möglicherweise nicht berechtigt, die `s3:GetEncryptionConfiguration`-Aktion durchzuführen. Weitere Informationen finden Sie unter [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) in der *API-Referenz zu Amazon Simple Storage Service*. 

**So zeigen Sie die S3-Bucket-Schlüssel-Einstellung für Ihr Objekt an**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie in der Liste **Buckets** den Bucket, für den Sie einen S3-Bucket-Schlüssel aktivieren möchten. 

1. Wählen Sie in der Liste **Objekte** den Objektnamen aus.

1. Wählen Sie im Tab **Details** unter **Serverseitige Verschlüsselungseinstellungen** die Option **Bearbeiten**. 

   Unter **Bucket-Schlüssel** sehen Sie die Einstellungen des S3-Bucket-Schlüssels für Ihr Objekt. Sie können diese Einstellungen nicht bearbeiten. 

## Verwenden Sie den AWS CLI
<a name="bucket-key-settings-cli"></a>

**So zeigen Sie die S3-Bucket-Schlüssel-Einstellungen auf Bucket-Ebene an**  
Wenn Sie dieses Beispiel verwenden möchten, ersetzen Sie jeden `user input placeholder` durch Ihre Informationen.

```
aws s3api get-bucket-encryption --bucket amzn-s3-demo-bucket1
```

Weitere Informationen finden Sie unter [get-bucket-encryption](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-encryption.html) in der Referenz zum *AWS CLI -Befehl*.

**So zeigen Sie die Einstellungen für einen S3-Bucket-Schlüssel auf Objektebene an**  
Wenn Sie dieses Beispiel verwenden möchten, ersetzen Sie jeden `user input placeholder` durch Ihre Informationen.

```
aws s3api head-object --bucket amzn-s3-demo-bucket1 --key my_images.tar.bz2
```

Weitere Informationen finden Sie unter [head-object](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/head-object.html) in der *AWS CLI -Befehlsreferenz*.

## Verwenden der REST-API
<a name="bucket-key-settings-rest"></a>

**So zeigen Sie die S3-Bucket-Schlüssel-Einstellungen auf Bucket-Ebene an**  
Verwenden Sie die Operation `GetBucketEncryption`, um Verschlüsselungsinformationen für einen Bucket anzuzeigen, einschließlich der Einstellungen für einen S3-Bucket-Schlüssel. Die Einstellungen des S3-Bucket-Schlüssels werden im Antworttext im Element `ServerSideEncryptionConfiguration` mit der Einstellung `BucketKeyEnabled` angezeigt. Weitere Informationen finden Sie unter [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) in der *Amazon-S3-API-Referenz*. 

**So zeigen Sie die Einstellungen für einen S3-Bucket-Schlüssel auf Objektebene an**  
Verwenden Sie den Vorgang `HeadObject`, um den S3-Bucket-Schlüssel-Status für ein Objekt anzuzeigen. `HeadObject` liefert den Antwort-Header `x-amz-server-side-encryption-bucket-key-enabled`, der zeigt, ob ein S3-Bucket-Schlüssel für das Objekt aktiviert oder deaktiviert ist. Weitere Informationen finden Sie unter [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html) in der *Amazon-S3-API-Referenz*. 

Die folgenden API-Vorgänge geben auch den Antwort-Header `x-amz-server-side-encryption-bucket-key-enabled` zurück, wenn ein S3-Bucket-Schlüssel für ein Objekt konfiguriert ist: 
+ [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) 
+ [PostObject](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) 
+ [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) 
+ [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) 
+ [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) 
+ [UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) 
+ [CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) 
+ [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) 