Einstellung und Überwachung der Standardverschlüsselung für Verzeichnis-Buckets - Amazon Simple Storage Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Einstellung und Überwachung der Standardverschlüsselung für Verzeichnis-Buckets

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 entscheiden AWS Key Management Service (AWS KMS) Schlüssel (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 Anfragen oder PUT Objektanfragen 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 angeben mit AWS KMS für Uploads neuer Objekte.

  • Um neue Objekte in einem Verzeichnis-Bucket mit SSE - zu verschlüsselnKMS, müssen Sie SSE - KMS als Standardverschlüsselungskonfiguration des Verzeichnis-Buckets mit einem KMS Schlüssel (insbesondere einem vom Kunden verwalteten Schlüssel) angeben. Wenn dann eine Sitzung für zonale API Endpunktoperationen erstellt wird, werden neue Objekte während der Sitzung automatisch mit SSE - und S3-Bucket-Schlüsseln ver KMS - und entschlüsselt.

  • Wenn Sie die Standard-Bucket-Verschlüsselung auf SSE - setzenKMS, 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 KMS verschlüsselte Objekte von Allzweck-Buckets in Verzeichnis-Buckets, von Verzeichnis-Buckets in Allzweck-Buckets oder zwischen Verzeichnis-Buckets kopierenSSE, bis CopyObject, UploadPartCopy, der Copy Operation in Batch-Operationen, oder die import Jobs. In diesem Fall ruft Amazon S3 an AWS KMS jedes Mal, wenn eine Kopieranforderung für ein KMS -verschlüsseltes Objekt gestellt wird. Weitere Informationen darüber, wie S3 Bucket Keys Ihre reduzieren AWS KMS Kosten für Anfragen finden Sie unterSenkung der Kosten von SSE — KMS mit Amazon S3 Bucket Keys.

  • Wenn Sie eine angeben AWS KMS Verwenden Sie für die Verschlüsselung in Ihrem Verzeichnis-Bucket vom Kunden verwalteten Schlüssel nur die Schlüssel-ID oder den SchlüsselARN. Das Schlüsselaliasformat des KMS Schlüssels wird nicht unterstützt.

  • Zweischichtige serverseitige Verschlüsselung mit AWS KMS Schlüssel (DSSE-KMS) und serverseitige Verschlüsselung mit vom Kunden bereitgestellten Schlüsseln (SSE-C) werden für die Standardverschlüsselung in Verzeichnis-Buckets nicht unterstützt.

Weitere Hinweise zur Konfiguration der Standardverschlüsselung finden Sie unter. Konfigurieren der Standardverschlüsselung

Weitere Informationen zu den für die Standardverschlüsselung erforderlichen Berechtigungen finden Sie unter PutBucketEncryptionin der Amazon Simple Storage Service API Reference.

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

Konfigurieren der Standardverschlüsselung für einen Amazon-S3-Bucket
  1. Melden Sie sich an bei AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im linken Navigationsbereich Buckets aus.

  3. Wählen Sie in der Liste Buckets den Namen des von Ihnen erstellten Buckets aus.

  4. Wählen Sie die Registerkarte Eigenschaften aus.

  5. Unter Serverseitige Verschlüsselungseinstellungen verwenden Verzeichnis-Buckets serverseitige Verschlüsselung mit verwalteten Amazon S3 S3-Schlüsseln (SSE-S3).

  6. Wählen Sie Änderungen speichern.

Diese Beispiele zeigen Ihnen, wie Sie die Standardverschlüsselung mithilfe von SSE -S3 oder mithilfe von SSE - KMS mit einem S3-Bucket-Key konfigurieren.

Weitere Informationen zur Standardverschlüsselung finden Sie unter Einstellen des Verhaltens der serverseitigen Verschlüsselung für Amazon S3-Buckets. Weitere Informationen zur Verwendung von AWS CLI Informationen zur Konfiguration der Standardverschlüsselung finden Sie unter put-bucket-encryption.

Beispiel — Standardverschlüsselung mit SSE -S3

In diesem Beispiel wird die Standardverschlüsselung von Buckets mit von Amazon S3 verwalteten Schlüsseln konfiguriert. Um den Befehl zu verwenden, ersetzen Sie den user input placeholders mit Ihren eigenen Informationen.

aws s3api put-bucket-encryption --bucket bucket-base-name--azid--x-s3 --server-side-encryption-configuration '{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] }'
Beispiel — Standardverschlüsselung mit SSE — KMS unter Verwendung eines S3-Bucket-Keys

In diesem Beispiel wird die Standard-Bucket-Verschlüsselung mit SSE - KMS unter Verwendung eines S3-Bucket-Keys konfiguriert. Um den Befehl zu verwenden, ersetzen Sie user input placeholders mit Ihren eigenen Informationen.

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

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

Weitere Informationen finden Sie unter PutBucketEncryptionin der Amazon Simple Storage Service API Reference.

Bei der Verwendung AWS SDKs, Sie können Amazon S3 zur Nutzung anfordern AWS KMS keys für serverseitige Verschlüsselung. Folgendes AWS SDKsfür Java und. NETBeispiele konfigurieren die Standardverschlüsselungskonfiguration für einen Verzeichnis-Bucket mit SSE - KMS und einem S3-Bucket-Key. Informationen zu anderen SDKs finden Sie unter Beispielcode und Bibliotheken auf der AWS Entwicklerzentrum.

Wichtig

Wenn Sie eine verwenden AWS KMS key Für die serverseitige Verschlüsselung in Amazon S3 müssen Sie einen symmetrischen KMS Verschlüsselungsschlüssel wählen. Amazon S3 unterstützt nur symmetrische KMS Verschlüsselungsschlüssel. Weitere Informationen zu diesen Schlüsseln finden Sie unter Symmetrische KMS Verschlüsselungsschlüssel im AWS Key Management Service Entwicklerhandbuch.

Java

Mit dem AWS SDK for Java 2.x, können Sie Amazon S3 auffordern, ein AWS KMS key indem Sie die applyServerSideEncryptionByDefault Methode verwenden, um die Standardverschlüsselungskonfiguration Ihres Verzeichnis-Buckets für die Datenverschlüsselung mit SSE - anzugebenKMS. Sie erstellen einen symmetrischen KMS Verschlüsselungsschlüssel und geben diesen in der Anfrage 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--azid--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 vom Kunden verwalteten Schlüsseln finden Sie unter Programmieren der AWS KMS APIin der AWS Key Management Service Leitfaden für Entwickler.

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.

.NET

Mit dem AWS SDK for .NET, können Sie Amazon S3 auffordern, ein AWS KMS key indem Sie die ServerSideEncryptionByDefault Eigenschaft verwenden, um die Standard-Verschlüsselungskonfiguration Ihres Verzeichnis-Buckets für die Datenverschlüsselung mit SSE - anzugebenKMS. Sie erstellen einen vom Kunden verwalteten symmetrischen Verschlüsselungsschlüssel und geben diesen in der Anfrage an.

// Set the bucket server side encryption to use AWSKMS with a customer-managed key id. // bucketName: Name of the directory bucket. "bucket-base-name--azid--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 vom Kunden verwalteten Schlüsseln finden Sie unter Programmieren der AWS KMS APIin der AWS Key Management Service Leitfaden für Entwickler.

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.

Überwachung der Standardverschlüsselung für Verzeichnis-Buckets mit AWS CloudTrail

Sie können Anfragen zur Standardverschlüsselungskonfiguration für Amazon S3-Verzeichnis-Buckets verfolgen, indem Sie AWS CloudTrail Ereignisse. Die folgenden API Ereignisnamen werden in CloudTrail Protokollen verwendet:

  • PutBucketEncryption

  • GetBucketEncryption

  • DeleteBucketEncryption

Anmerkung
  • EventBridge wird in Verzeichnis-Buckets nicht unterstützt.

  • Zweischichtige serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) Schlüssel (DSSE-KMS) oder serverseitige Verschlüsselung mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln (SSE-C) werden in Verzeichnis-Buckets nicht unterstützt.

Weitere Informationen zur Überwachung der Standardverschlüsselung mit AWS CloudTrail, finden Sie unter Überwachung der Standardverschlüsselung mit AWS CloudTrail und Amazon EventBridge.