

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.

# Einstellen und Überwachen der Standardverschlüsselung für Verzeichnis-Buckets
<a name="s3-express-bucket-encryption"></a>

In Amazon S3 S3-Buckets ist die Bucket-Verschlüsselung standardmäßig aktiviert, und neue Objekte werden automatisch mithilfe serverseitiger Verschlüsselung mit verwalteten Amazon S3 S3-Schlüsseln () SSE-S3 verschlüsselt. Diese Verschlüsselung gilt für alle neuen Objekte in Ihren Amazon-S3-Buckets und es fallen keine Kosten für Sie an.

Wenn Sie mehr Kontrolle über Ihre Verschlüsselungsschlüssel benötigen, z. B. die Verwaltung der Schlüsselrotation und die Gewährung von Zugriffsrichtlinien, können Sie sich für die serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln () entscheiden. SSE-KMS

**Anmerkung**  
Wir empfehlen, dass die Standardverschlüsselung des Buckets die gewünschte Verschlüsselungskonfiguration verwendet und dass Sie die Standardverschlüsselung des Buckets in Ihren `CreateSession`-Anforderungen oder `PUT`-Objektanforderungen nicht überschreiben. Anschließend werden neue Objekte automatisch mit den gewünschten Verschlüsselungseinstellungen verschlüsselt. Weitere Informationen zum Verhalten beim Überschreiben der Verschlüsselung in Verzeichnis-Buckets finden Sie unter [Serverseitige Verschlüsselung mit AWS KMS für Uploads neuer Objekte angeben](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html).
Um neue Objekte in einem Verzeichnis-Bucket mit zu verschlüsseln SSE-KMS, müssen Sie SSE-KMS als Standardverschlüsselungskonfiguration des Verzeichnis-Buckets einen KMS-Schlüssel (insbesondere einen vom Kunden verwalteten Schlüssel) angeben. Wenn dann eine Sitzung für API-Operationen an zonalen Endpunkten erstellt wird, werden neue Objekte während der Sitzung automatisch mit S3-Bucket-Schlüsseln ver SSE-KMS - und entschlüsselt.
Wenn Sie die Standard-Bucket-Verschlüsselung auf einstellen SSE-KMS, sind S3-Bucket-Keys immer für `GET` `PUT` Vorgänge in einem Verzeichnis-Bucket aktiviert und können nicht deaktiviert werden. [S3-Bucket-Keys werden nicht unterstützt, wenn Sie SSE-KMS verschlüsselte Objekte aus Allzweck-Buckets in Verzeichnis-Buckets, von Verzeichnis-Buckets in Allzweck-Buckets oder zwischen Verzeichnis-Buckets durch,, [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html), [den Copy Vorgang in Batch Operations oder die](directory-buckets-objects-Batch-Ops.md) Jobs kopieren. import](create-import-job.md) In diesem Fall ruft Amazon S3 AWS KMS jedes Mal, wenn eine Kopieranforderung für ein KMS-encrypted Objekt gestellt wird, auf. Weitere Informationen darüber, wie S3 Bucket Keys Ihre AWS KMS Anforderungskosten reduzieren, finden Sie unter[Senkung der Kosten SSE-KMS mit Amazon S3 Bucket Keys](bucket-key.md). 
Wenn Sie einen [vom Kunden verwalteten AWS KMS -Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) für die Verschlüsselung in Ihrem Verzeichnis-Bucket angeben, verwenden Sie nur die Schlüssel-ID oder den Schlüssel-ARN. Das Schlüsselaliasformat des KMS-Schlüssels wird nicht unterstützt.
Dual-layer Die serverseitige Verschlüsselung mit AWS KMS Schlüsseln (DSSE-KMS) und die serverseitige Verschlüsselung mit vom Kunden bereitgestellten Schlüsseln (SSE-C) werden für die Standardverschlüsselung in Verzeichnis-Buckets nicht unterstützt.

Weitere Informationen über die Konfiguration der Standardverschlüsselung finden Sie unter [Konfigurieren der Standardverschlüsselung](default-bucket-encryption.md).

Weitere Informationen zu den Berechtigungen, die für die Standardverschlüsselung erforderlich sind, finden Sie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html) in der *API-Referenz zu Amazon Simple Storage Service*.

Sie können die Amazon S3 S3-Standardverschlüsselung für einen S3-Bucket mithilfe der Amazon S3 S3-Konsole, der AWS SDKs, der Amazon S3 S3-REST-API und der AWS Command Line Interface (AWS CLI) konfigurieren.

## Verwenden der S3-Konsole
<a name="s3-express-bucket-encryption-how-to-set-up-console"></a>

**Konfigurieren der Standardverschlüsselung für einen Amazon-S3-Bucket**

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 Namen des von Ihnen erstellten Buckets aus. 

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

1. Unter **Server-side Verschlüsselungseinstellungen** verwenden Verzeichnis-Buckets die Server-side Verschlüsselung mit **verwalteten Amazon S3 S3-Schlüsseln (SSE-S3)**.

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

## Verwendung der AWS CLI
<a name="s3-express-default-bucket-encryption-cli"></a>

Diese Beispiele zeigen Ihnen, wie Sie die Standardverschlüsselung mithilfe SSE-S3 oder SSE-KMS mithilfe eines S3-Bucket-Keys konfigurieren.

Weitere Informationen zur Standardverschlüsselung finden Sie unter [Einstellen des Verhaltens der serverseitigen Verschlüsselung für Amazon S3-Buckets](bucket-encryption.md). Weitere Informationen zur Konfiguration der AWS CLI Standardverschlüsselung finden Sie unter [put-bucket-encryption](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-encryption.html).

**Example — Standardverschlüsselung mit SSE-S3**  
In diesem Beispiel wird die Standardverschlüsselung von Buckets mit von Amazon S3 verwalteten Schlüsseln konfiguriert. Wenn Sie diesen Befehl verwenden wollen, ersetzen Sie {{user input placeholders}} durch Ihre eigenen Informationen.  

```
aws s3api put-bucket-encryption --bucket {{bucket-base-name}}--{{zone-id}}--x-s3 --server-side-encryption-configuration '{
    "Rules": [
        {
            "ApplyServerSideEncryptionByDefault": {
                "SSEAlgorithm": "AES256"
            }
        }
    ]
}'
```

**Example — Standardverschlüsselung mit SSE-KMS Verwendung eines S3-Bucket-Keys**  
In diesem Beispiel wird die Standard-Bucket-Verschlüsselung SSE-KMS mithilfe eines S3-Bucket-Keys konfiguriert. Wenn Sie diesen Befehl verwenden wollen, ersetzen Sie {{user input placeholders}} durch Ihre eigenen Informationen.  

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

## Verwenden der REST-API
<a name="s3-express-bucket-encryption-how-to-set-up-api"></a>

Verwenden Sie den `PutBucketEncryption` REST-API-Vorgang, um die Standardverschlüsselung mit einem serverseitigen Verschlüsselungstyp festzulegen, der verwendet werden soll — SSE-S3, oder. SSE-KMS 

Weitere Informationen finden Sie unter [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) in der *API-Referenz zu Amazon Simple Storage Service*.

## Verwendung der AWS SDKs
<a name="s3-express-kms-put-bucket-encryption-using-sdks"></a>

Wenn Sie AWS SDKs verwenden, können Sie Amazon S3 AWS KMS keys für die serverseitige Verschlüsselung anfordern. Die folgenden AWS SDKs für Java- und .NET-Beispiele konfigurieren die Standardverschlüsselungskonfiguration für einen Verzeichnis-Bucket mit SSE-KMS und einem S3-Bucket Key. 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 *.

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

Mit dem können Sie Amazon S3 auffordern AWS SDK for Java 2.x, eine zu verwenden, AWS KMS key indem Sie die `applyServerSideEncryptionByDefault` Methode verwenden, um die Standardverschlüsselungskonfiguration Ihres Verzeichnis-Buckets für die Datenverschlüsselung mit anzugeben SSE-KMS. Sie erstellen einen symmetrischen KMS-Verschlüsselungsschlüssel und geben diesen in der Anforderung an.

```
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.PutBucketEncryptionRequest;
import software.amazon.awssdk.services.s3.model.ServerSideEncryption;
import software.amazon.awssdk.services.s3.model.ServerSideEncryptionByDefault;
import software.amazon.awssdk.services.s3.model.ServerSideEncryptionConfiguration;
import software.amazon.awssdk.services.s3.model.ServerSideEncryptionRule;

public class Main {
    public static void main(String[] args) {
        S3Client s3 = S3Client.create();
        String bucketName = "bucket-base-name--zoneid--x-s3";
        String kmsKeyId = "your-kms-customer-managed-key-id";

        // AWS managed KMS keys aren't supported. Only customer-managed keys are supported.
        ServerSideEncryptionByDefault serverSideEncryptionByDefault = ServerSideEncryptionByDefault.builder()
                .sseAlgorithm(ServerSideEncryption.AWS_KMS)
                .kmsMasterKeyID(kmsKeyId)
                .build();

        // The bucketKeyEnabled field is enforced to be true.
        ServerSideEncryptionRule rule = ServerSideEncryptionRule.builder()
                .bucketKeyEnabled(true)
                .applyServerSideEncryptionByDefault(serverSideEncryptionByDefault)
                .build();
  
        ServerSideEncryptionConfiguration serverSideEncryptionConfiguration = ServerSideEncryptionConfiguration.builder()
                .rules(rule)
                .build();

        PutBucketEncryptionRequest putRequest = PutBucketEncryptionRequest.builder()
                .bucket(bucketName)
                .serverSideEncryptionConfiguration(serverSideEncryptionConfiguration)
                .build();

        s3.putBucketEncryption(putRequest);
        
    }
}
```

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 [Hochladen von Objekten zu einem Verzeichnis-Bucket](directory-buckets-objects-upload.md).
+ Informationen zu API-Operationen für mehrteilige Uploads finden Sie unter [Verwenden von mehrteiligen Uploads mit Verzeichnis-Buckets](s3-express-using-multipart-upload.md). 

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

Mit dem können Sie Amazon S3 auffordern AWS SDK für .NET, eine zu verwenden, AWS KMS key indem Sie die `ServerSideEncryptionByDefault` Eigenschaft verwenden, um die Standardverschlüsselungskonfiguration Ihres Verzeichnis-Buckets für die Datenverschlüsselung mit anzugeben SSE-KMS. Sie können optional Ihren eigenen kundenverwalteten symmetrischen Verschlüsselungsschlüssel erstellen und diesen in der Anforderung angeben.

```
    // Set the bucket server side encryption to use AWSKMS with a customer-managed key id.
    // bucketName: Name of the directory bucket. "bucket-base-name--zonsid--x-s3"
    // kmsKeyId: The Id of the customer managed KMS Key. "your-kms-customer-managed-key-id"
    // Returns True if successful.
    public static async Task<bool> SetBucketServerSideEncryption(string bucketName, string kmsKeyId)
    {
        var serverSideEncryptionByDefault = new ServerSideEncryptionConfiguration
        {
            ServerSideEncryptionRules = new List<ServerSideEncryptionRule>
            {
                new ServerSideEncryptionRule
                {
                    ServerSideEncryptionByDefault = new ServerSideEncryptionByDefault
                    {
                        ServerSideEncryptionAlgorithm = ServerSideEncryptionMethod.AWSKMS,
                        ServerSideEncryptionKeyManagementServiceKeyId = kmsKeyId
                    }
                }
            }
        };
        try
        {
            var encryptionResponse =await _s3Client.PutBucketEncryptionAsync(new PutBucketEncryptionRequest
            {
                BucketName = bucketName,
                ServerSideEncryptionConfiguration = serverSideEncryptionByDefault,
            });
            
            return encryptionResponse.HttpStatusCode == HttpStatusCode.OK;
        }
        catch (AmazonS3Exception ex)
        {
            Console.WriteLine(ex.ErrorCode == "AccessDenied"
                ? $"This account does not have permission to set encryption on {bucketName}, please try again."
                : $"Unable to set bucket encryption for bucket {bucketName}, {ex.Message}");
        }
        return false;
    }
```

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 [Hochladen von Objekten zu einem Verzeichnis-Bucket](directory-buckets-objects-upload.md).
+ Informationen zu API-Operationen für mehrteilige Uploads finden Sie unter [Verwenden von mehrteiligen Uploads mit Verzeichnis-Buckets](s3-express-using-multipart-upload.md). 

------

## Überwachung der Standardverschlüsselung für Verzeichnis-Buckets mit AWS CloudTrail
<a name="s3-express-bucket-encryption-tracking"></a>

Sie können Konfigurationsanforderungen zur Standardverschlüsselung für Amazon-S3-Verzeichnis-Buckets mithilfe von AWS CloudTrail -Ereignissen verfolgen. Die folgenden API-Ereignisnamen werden in CloudTrail Protokollen verwendet:
+ `PutBucketEncryption`
+ `GetBucketEncryption`
+ `DeleteBucketEncryption`

**Anmerkung**  
EventBridge wird in Verzeichnis-Buckets nicht unterstützt.
Dual-layer serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) Schlüsseln (DSSE-KMS) oder serverseitige Verschlüsselung mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln (SSE-C) werden in Verzeichnis-Buckets nicht unterstützt.

Weitere Informationen über die Überwachung der Standardverschlüsselung mit AWS CloudTrail finden Sie unter [Überwachung der Standardverschlüsselung mit AWS CloudTrail und Amazon EventBridge](bucket-encryption-tracking.md).