

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.

# Aktualisierung der serverseitigen Verschlüsselung für vorhandene Daten
<a name="update-sse-encryption"></a>

Für alle Amazon-S3-Buckets ist die Verschlüsselung standardmäßig konfiguriert und Objekte werden automatisch unter Verwendung der serverseitigen Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) verschlüsselt. Diese Standardverschlüsselungseinstellung gilt für alle neuen Objekte in Ihren Amazon S3 S3-Buckets.

Mithilfe der `UpdateObjectEncryption` API-Operation können Sie den serverseitigen Verschlüsselungstyp eines vorhandenen verschlüsselten Objekts in einem Allzweck-Bucket atomar von serverseitiger Verschlüsselung mit Amazon S3 S3-verwalteter Verschlüsselung (SSE-S3) auf serverseitige Verschlüsselung mit () Verschlüsselungsschlüsseln AWS Key Management Service (SSE-KMS AWS KMS) aktualisieren. Der `UpdateObjectEncryption` API-Vorgang verwendet die [Envelope-Verschlüsselung](https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#enveloping), um den Datenschlüssel, der zum Ver- und Entschlüsseln Ihres Objekts verwendet wurde, mit Ihrem neu angegebenen serverseitigen Verschlüsselungstyp erneut zu verschlüsseln. 

Amazon S3 führt dieses Verschlüsselungstyp-Update ohne jegliche Datenbewegung durch. Mit anderen Worten, wenn Sie den `UpdateObjectEncryption` Vorgang verwenden, werden Ihre Daten nicht kopiert, archivierte Objekte im S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive werden nicht wiederhergestellt und Objekte in der Speicherklasse S3 Intelligent-Tiering werden nicht zwischen den Stufen verschoben. Darüber hinaus behält der `UpdateObjectEncryption` Vorgang alle Eigenschaften der Objektmetadaten bei, einschließlich der Speicherklasse, des Erstellungsdatums, des Datums der letzten Änderung und der Prüfsummeneigenschaften. ETag

Der `UpdateObjectEncryption` Vorgang wird für alle S3-Speicherklassen unterstützt, die von Allzweck-Buckets unterstützt werden. Sie können den `UpdateObjectEncryption` Vorgang verwenden, um Folgendes zu tun: 
+ Ändern Sie verschlüsselte Objekte von serverseitiger Verschlüsselung mit verwalteter Amazon S3 S3-Verschlüsselung (SSE-S3) auf serverseitige Verschlüsselung mit AWS Key Management Service () Verschlüsselungsschlüsseln (SSE-KMS AWS KMS).
+ Aktualisieren Sie mit SSE-KMS verschlüsselte Objekte auf Objektebene so, dass sie S3-Bucket Keys verwenden, wodurch der AWS KMS Anforderungsverkehr von Amazon S3 zu verringert wird. AWS KMS Weitere Informationen finden Sie unter [Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln](bucket-key.md).
+ Ändern Sie den vom Kunden verwalteten KMS-Schlüssel, der zur Verschlüsselung Ihrer Daten verwendet wird, sodass Sie die benutzerdefinierten Schlüsselrotationsstandards einhalten können.

**Anmerkung**  
Quellobjekte, die unverschlüsselt oder entweder mit einer dualen serverseitigen Verschlüsselung mit AWS KMS keys (DSSE-KMS) oder mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln (SSE-C) verschlüsselt sind, werden von diesem Vorgang nicht unterstützt.

Der `UpdateObjectEncryption` Vorgang wird normalerweise in Millisekunden abgeschlossen, unabhängig von der Größe des Objekts oder der Speicherklasse, einschließlich S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive. Dieser Vorgang zählt nicht als Zugriff für S3 Intelligent-Tiering, sodass Objekte in der Stufe „Infrequent Access“ oder „Archive Instant Access“ nicht automatisch auf die Stufe „Häufiger Zugriff“ zurückfallen, wenn Sie den serverseitigen Verschlüsselungstyp Ihres Objekts ändern. 

`UpdateObjectEncryption`ist ein API-Vorgang auf Objektebene (Datenebene), der in Amazon S3 S3-Serverzugriffsprotokollen und AWS CloudTrail Datenereignissen protokolliert wird. Weitere Informationen finden Sie unter [Protokollierungsoptionen für Amazon S3](logging-with-S3.md). 

 Der `UpdateObjectEncryption` Vorgang hat den gleichen Preis wie`PUT`, `COPY``POST`, und `LIST` Anfragen (pro 1.000 Anfragen) und wird unabhängig von der Speicherklasse des zugrunde liegenden Objekts immer als Anforderung der Speicherklasse S3 Standard berechnet. Weitere Informationen finden Sie unter [Amazon S3 – Preise](https://aws.amazon.com/s3/pricing/).

## Einschränkungen und Überlegungen
<a name="update-sse-encryption-restrictions"></a>

Bei der Verwendung des `UpdateObjectEncryption` Vorgangs gelten die folgenden Einschränkungen und Überlegungen:
+ Der `UpdateObjectEncryption` Vorgang unterstützt keine unverschlüsselten Objekte oder Objekte, die entweder mit serverseitiger Dual-Layer-Verschlüsselung AWS KMS keys (DSSE-KMS) oder mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln (SSE-C) verschlüsselt wurden. Darüber hinaus können Sie SSE-S3 nicht als angeforderte neue Verschlüsselungstypanforderung angeben. `UpdateObjectEncryption`
+ Sie können den `UpdateObjectEncryption` Vorgang verwenden, um Objekte in Buckets zu aktualisieren, für die S3-Versionierung aktiviert ist. Um den Verschlüsselungstyp einer bestimmten Version zu aktualisieren, müssen Sie in Ihrer `UpdateObjectEncryption` Anfrage eine Versions-ID angeben. Wenn Sie keine Versions-ID angeben, bezieht sich die `UpdateObjectEncryption` Anfrage auf die aktuelle Version des Objekts. Weitere Informationen über das S3-Versioning finden Sie unter [Beibehalten mehrerer Versionen von Objekten mit der S3-Versionsverwaltung](Versioning.md).
+ Der `UpdateObjectEncryption` Vorgang schlägt bei jedem Objekt fehl, auf das der Aufbewahrungsmodus S3 Object Lock oder Legal Hold angewendet wurde. Wenn für ein Objekt eine Aufbewahrungsfrist im Governance-Modus oder eine gesetzliche Aufbewahrungsfrist gilt, müssen Sie zuerst den Object Lock-Status für das Objekt entfernen, bevor Sie Ihre `UpdateObjectEncryption` Anfrage stellen. Sie können den `UpdateObjectEncryption` Vorgang nicht für Objekte verwenden, auf die eine Aufbewahrungsfrist für den Object Lock-Konformitätsmodus angewendet wurde. Weitere Informationen zur S3-Objektsperre finden Sie unter [Sperren von Objekten mit Object Lock](object-lock.md).
+ `UpdateObjectEncryption`Anfragen für Quell-Buckets mit aktivierter Live-Replikation lösen keine Replikatereignisse im Ziel-Bucket aus. Wenn Sie den Verschlüsselungstyp von Objekten sowohl in Ihren Quell- als auch in Ihren Ziel-Buckets ändern möchten, müssen Sie separate `UpdateObjectEncryption` Anfragen für die Objekte in den Quell- und Ziel-Buckets initiieren.
+ Standardmäßig sind alle `UpdateObjectEncryption` Anfragen, die einen vom Kunden verwalteten KMS-Schlüssel angeben, auf KMS-Schlüssel beschränkt, die dem Bucket-Besitzer gehören. AWS-Konto Wenn Sie die Nutzung verwenden AWS Organizations, können Sie die Möglichkeit zur Nutzung AWS KMS keys von Benutzerkonten anderer Mitglieder innerhalb Ihrer Organisation beantragen, indem Sie sich an uns wenden AWS Support.
+ Wenn Sie S3 Batch Replication verwenden, um Datensätze regionsübergreifend zu replizieren und der serverseitige Verschlüsselungstyp Ihrer Objekte zuvor von SSE-S3 auf SSE-KMS aktualisiert wurde, benötigen Sie möglicherweise zusätzliche Berechtigungen. Für den Bucket der Quellregion benötigen Sie Berechtigungen. `kms:decrypt` Anschließend benötigen Sie die `kms:encrypt` Berechtigungen `kms:decrypt` und für den Bucket in der Zielregion. 
+ Sie müssen in Ihrer `UpdateObjectEncryption` Anfrage einen vollständigen KMS-Schlüssel-ARN angeben. Sie können keinen Aliasnamen oder Alias-ARN verwenden. Sie können den vollständigen KMS-Schlüssel-ARN in der AWS-KMS-Konsole oder mithilfe der AWS KMS `DescribeKey` KMS-API ermitteln.

## Erforderliche Berechtigungen
<a name="update-sse-encryption-permissions"></a>

Um den `UpdateObjectEncryption` Vorgang ausführen zu können, benötigen Sie die folgenden Berechtigungen: 
+ `s3:PutObject`
+ `s3:UpdateObjectEncryption`
+ `kms:Encrypt`
+ `kms:Decrypt`
+ `kms:GenerateDataKey`
+ `kms:ReEncrypt*`

Wenn Sie diesen Vorgang mit vom Kunden verwalteten KMS-Schlüsseln aus anderen Teilen Ihrer AWS-Konten Organisation verwenden möchten, benötigen Sie die `organizations:DescribeAccount` entsprechende Genehmigung. AWS Organizations Sie müssen auch die Möglichkeit zur Nutzung AWS KMS keys von Benutzerkonten anderer Mitglieder innerhalb Ihrer Organisation beantragen, indem Sie sich an uns wenden AWS Support.

Um den `UpdateObjectEncryption` Vorgang durchzuführen, fügen Sie Ihrer IAM-Rolle die folgende AWS Identity and Access Management (IAM-) Richtlinie hinzu. Um diese Richtlinie zu verwenden, `{{amzn-s3-demo-bucket}}` ersetzen Sie sie durch den Namen Ihres Allzweck-Buckets und ersetzen Sie den anderen `{{user input placeholders}}` durch Ihre eigenen Informationen.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "AllowUpdateObjectEncryption",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:UpdateObjectEncryption",
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:ReEncrypt*",
                "organizations:DescribeAccount"
            ],
            "Resource": [
                "arn:aws:s3:::{{{{amzn-s3-demo-bucket}}}}",
                "arn:aws:s3:::{{{{amzn-s3-demo-bucket}}}}/*",
                "arn:aws:kms:{{us-east-1}}:{{111122223333}}:key/{{01234567-89ab-cdef-0123-456789abcdef}}"
            ]
        }
    ]
}
```

## Die Verschlüsselung wird in großen Mengen aktualisiert
<a name="update-sse-encryption-bulk"></a>

Um den serverseitigen Verschlüsselungstyp von mehr als einem Amazon S3 S3-Objekt mit einer einzigen Anfrage zu aktualisieren, können Sie S3 Batch Operations verwenden. Sie können S3 Batch Operations eine Liste von Objekten zur Verfügung stellen, mit denen gearbeitet werden soll, oder Sie können Batch Operations anweisen, auf Objektlisten basierende Objektmetadaten zu generieren, einschließlich Präfix, Speicherklasse, Erstellungsdatum, Verschlüsselungstyp, KMS-Schlüssel-ARN oder S3-Bucket-Key-Status. S3-Batchoperationen rufen die entsprechende API-Operation auf, um die angegebene Operation auszuführen. Ein einziger Batch Operations-Job kann den angegebenen Vorgang für Milliarden von Objekten in einem Bucket ausführen, der Petabyte an Daten enthält. Weitere Informationen über Batchoperationen finden Sie unter [Ausführen von Objektoperationen in großem Umfang mit Batch Operations](batch-ops.md). 

Die Funktion „S3-Batchoperationen“ verfolgt den Fortschritt, versendet Benachrichtigungen und speichert einen detaillierten Abschlussbericht zu allen Aktionen. Sie profitieren von einer vollständig verwalteten, prüfbaren und serverlosen Umgebung. Sie können S3 Batch Operations über die Amazon S3 S3-Konsole AWS Command Line Interface (AWS CLI) AWS SDKs oder die Amazon S3 S3-REST-API verwenden. Weitere Informationen finden Sie unter [Aktualisieren Sie die Objektverschlüsselung](batch-ops-update-encryption.md).

## Die Verschlüsselung für Objekte wird aktualisiert
<a name="update-sse-encryption-single-object"></a>

Sie können den serverseitigen Verschlüsselungstyp für ein Objekt über die AWS Command Line Interface (AWS CLI) AWS SDKs oder die Amazon S3 S3-REST-API aktualisieren. 

### Aktualisieren Sie die Verschlüsselung für ein Objekt
<a name="update-sse-encryption-single-object-procedure"></a>

#### Mit dem AWS CLI
<a name="update-sse-encryption-single-object-cli"></a>

Um die folgenden Befehle ausführen zu können, müssen Sie den AWS CLI installiert und konfiguriert haben. Falls Sie das nicht AWS CLI installiert haben, finden [Sie weitere Informationen unter Installieren oder Aktualisieren auf die neueste Version von AWS CLI](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html) im *AWS Command Line Interface Benutzerhandbuch*.

Alternativ können Sie AWS CLI Befehle von der Konsole aus ausführen, indem Sie AWS CloudShell AWS CloudShell ist eine browserbasierte, vorab authentifizierte Shell, die Sie direkt von der aus starten können. AWS-Managementkonsole[Weitere Informationen finden Sie unter Was ist? CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) und [Erste Schritte mit AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/getting-started.html) im *AWS CloudShell Benutzerhandbuch*.

**Um die Verschlüsselung für ein Objekt zu aktualisieren, verwenden Sie den AWS CLI**

Wenn Sie den folgenden Beispielbefehl verwenden möchten, ersetzen Sie `{{user input placeholders}}` durch Ihre eigenen Informationen. 

1. Verwenden Sie den folgenden Befehl, um die Verschlüsselung für ein einzelnes Objekt (`{{index.html}}`) in Ihrem Allzweck-Bucket zu aktualisieren (z. B.`{{amzn-s3-demo-bucket}}`), um SSE-KMS mit einem S3-Bucket Key zu verwenden:

   ```
   aws s3api update-object-encryption \
   --bucket {{amzn-s3-demo-bucket}} \
   --key {{index.html}} \
   --object-encryption '{"SSEKMS": { "KMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/f12a345a-678e-9bbb-1025-62e317037583", "BucketKeyEnabled": true }}'
   ```
**Anmerkung**  
Sie müssen den vollständigen AWS KMS key Amazon-Ressourcennamen (ARN) angeben. Die KMS-Schlüssel-ID und der KMS-Schlüsselalias werden nicht unterstützt.

1. Führen Sie den `head-object` Befehl aus, um den aktualisierten Verschlüsselungstyp Ihres Objekts anzuzeigen:

   ```
   aws s3api head-object --bucket {{{{amzn-s3-demo-bucket}}}} --key {{index.html}}
   ```

#### Verwenden der REST-API
<a name="update-sse-encryption-single-object-rest-api"></a>

Sie können REST-Anfragen senden, um die Verschlüsselung für ein Objekt zu aktualisieren. Weitere Informationen finden Sie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateObjectEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateObjectEncryption.html).

#### Mit dem AWS SDKs
<a name="update-sse-encryption-single-object-sdk"></a>

Sie können die verwenden AWS SDKs , um die Verschlüsselung für ein Objekt zu aktualisieren. Weitere Informationen finden Sie in der [Liste der unterstützten SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateObjectEncryption.html#API_UpdateObjectEncryption_SeeAlso).

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

**Example**  
Im folgenden AWS SDK for Java 2.x Beispiel wird der Verschlüsselungstyp für ein Objekt in einem Allzweck-Bucket auf SSE-KMS aktualisiert.  

```
    public void updateObjectEncryption(String bucketName,
                                       String objectKey,
                                       String versionId,
                                       String kmsKeyArn,
                                       boolean bucketKeyEnabled) {
        // Create the target object encryption type.
        ObjectEncryption objectEncryption = ObjectEncryption.builder()
                .ssekms(SSEKMSEncryption.builder()
                        .kmsKeyArn(kmsKeyArn)
                        .bucketKeyEnabled(bucketKeyEnabled)
                        .build())
                .build();

        // Create the UpdateObjectEncryption request.
        UpdateObjectEncryptionRequest request = UpdateObjectEncryptionRequest.builder()
                .bucket(bucketName)
                .key(objectKey)
                .versionId(versionId)
                .objectEncryption(objectEncryption)
                .build();

        // Update the object encryption.
        try {
            getS3Client().updateObjectEncryption(request);
            logger.info("Object encryption updated to SSE-KMS for {} in bucket {}", objectKey, bucketName);
        } catch (S3Exception e) {
            logger.error("Failed to update to object encryption: {} - Error code: {}", e.awsErrorDetails().errorMessage(),
                    e.awsErrorDetails().errorCode());
            throw e;
        }
    }
```

------
#### [ Python ]

**Example**  
Das folgende AWS SDK für Python (Boto3) Beispiel zeigt, wie der Verschlüsselungstyp für ein Objekt in einem Allzweck-Bucket auf SSE-KMS aktualisiert wird.   

```
response = client.update_object_encryption(
    Bucket='string',
    Key='string',
    VersionId='string',
    ObjectEncryption={
        'SSEKMS': {
                'KMSKeyArn': 'string',
                'BucketKeyEnabled': True|False
        }
    }
)
```

------