Amazon Simple Storage Service
Entwicklerhandbuch (API-Version 2006-03-01)

Amazon S3-Standardverschlüsselung für S3-Buckets

Die Amazon S3-Standardverschlüsselung bietet eine Methode zum Festlegen des Verhaltens der Standardverschlüsselung für einen S3-Bucket. Sie können die Standardverschlüsselung in einem Bucket festlegen, sodass alle Objekte beim Speichern im Bucket verschlüsselt werden. Die Objekte werden unter Verwendung von serverseitiger Verschlüsselung entweder mit Amazon S3-verwalteten Schlüsseln (SSE-S3) oder AWS KMS-verwalteten Schlüsseln (SSE-KMS) verschlüsselt.

Wenn Sie die serverseitige Verschlüsselung verwenden, verschlüsselt Amazon S3 ein Objekt vor dessen Speicherung auf eine Festplatte in seinen Rechenzentren und entschlüsselt es, wenn Sie das Objekt herunterladen. Weitere Informationen zum Schutz von Daten mithilfe der serverseitigen Verschlüsselung und der Verwaltung der Verschlüsselungsschlüssel finden Sie unter Daten durch Verschlüsselung schützen.

Die Standardverschlüsselung funktioniert mit allen bestehenden und neuen S3-Buckets. Zum Verschlüsseln aller in einem Bucket gespeicherten Objekte ohne Standardverschlüsselung müssen Sie die Verschlüsselungsinformationen bei jeder Objektspeicheranfrage einschließen. Sie müssen auch eine S3-Bucket-Richtlinie einrichten, um Speicheranfragen abzulehnen, die keine Verschlüsselungsinformationen einschließen.

Es gibt keine neuen Gebühren für die Nutzung von Standardverschlüsselung für S3-Buckets. Für Anfragen zum Konfigurieren der Standardverschlüsselungsfunktion werden Standardgebühren für Amazon S3-Anfragen berechnet. Informationen zu Preisen erhalten Sie unter Amazon S3-Preise. Für den SSE-KMS-Verschlüsselungsschlüsselspeicher fallen AWS Key Management Service-Gebühren an, die unter AWS KMS – Preise aufgeführt sind.

Wie richte ich die Amazon S3-Standardverschlüsselung für einen S3-Bucket ein?

Dieser Abschnitt beschreibt, wie die Amazon S3-Standardverschlüsselung eingerichtet wird. Sie können die AWS-SDKs, die Amazon S3-REST-API, die AWS Command Line Interface (AWS CLI) oder die Amazon S3-Konsole verwenden, um die Standardverschlüsselung zu aktivieren. Die einfachste Möglichkeit zum Einrichten der Standardverschlüsselung für einen S3-Bucket bietet die AWS Management Console.

Sie können die Standardverschlüsselung in einem Bucket mit jeder der folgenden Methoden einrichten:

Nachdem Sie die Standardverschlüsselung für einen Bucket aktiviert haben, gilt das folgende Verschlüsselungsverhalten:

  • Es gibt keine Änderung der Verschlüsselung der Objekte, die vor der Aktivierung der Standardverschlüsselung im Bucket vorhanden waren.

  • Wenn Sie Objekte nach der Aktivierung der Standardverschlüsselung hochladen:

    • Wenn die Header Ihrer PUT-Anforderung keine Verschlüsselungsinformationen enthalten, verwendet Amazon S3 die Standardverschlüsselungseinstellungen des Buckets, um die Objekte zu verschlüsseln.

    • Wenn die Header Ihrer PUT-Anforderung Verschlüsselungsinformationen enthalten, verwendet Amazon S3 die Verschlüsselungsinformationen der PUT-Anforderung, um Objekte zu verschlüsseln, bevor sie in Amazon S3 gespeichert werden. Wenn die PUT erfolgreich ist, ist die Antwort ein HTTP/1.1 200 OK mit den Verschlüsselungsinformationen in den Antwort-Headern. Weitere Informationen finden Sie unter PUT Object.

  • Wenn Sie die SSE-KMS-Option für Ihre Standardverschlüsselungskonfiguration verwenden, unterliegen Sie den Limits der Anfragen pro Sekunde (RPS) von AWS KMS. Weitere Informationen zu den AWS KMS-Limits und der Anforderung einer Erhöhung des Limits finden Sie unter AWS KMS-Limits.

Umstieg von der Verwendung der Bucket-Richtlinien für die Erzwingung von Verschlüsselung auf die Standardverschlüsselung

Wenn Sie derzeit die Objektverschlüsselung für einen S3-Bucket erzwingen, indem Sie eine Bucket-Richtlinie verwenden, um PUT-Anfragen ohne Verschlüsselungs-Header abzulehnen, empfehlen wir, folgende Schritte durchzuführen, um mit der Nutzung der Standardverschlüsselung zu beginnen.

So wechseln Sie von der Nutzung einer Bucket-Richtlinie, um PUT-Anfragen ohne Verschlüsselungs-Header abzulehnen, zur Nutzung der Standardverschlüsselung

  1. Wenn Sie festlegen möchten, dass die Standardverschlüsselung SSE-KMS verwendet, stellen Sie sicher, dass alle PUT- und GET-Objektanforderungen mit Signature Version 4 signiert und über eine SSL-Verbindung an Amazon S3 gesendet werden. Weitere Informationen zur Nutzung von AWS KMS finden Sie unter Schutz von Daten durch serverseitige Verschlüsselung mit verwalteten AWS KMS–-Schlüsseln (SSE-KMS).

    Anmerkung

    Standardmäßig verwenden die Amazon S3-Konsole, AWS CLI Version 1.11.108 und höher und alle AWS-SDKs nach Mai 2016 die mit Signature Version 4 signierten Anforderungen, die über eine SSL-Verbindung an Amazon S3 gesendet werden.

  2. Löschen Sie die Bucket-Richtlinienanweisungen, die PUT-Anfragen ohne Verschlüsselungs-Header ablehnen. (Es wird empfohlen, dass Sie eine Sicherungskopie der Bucket-Richtlinie speichern, die ersetzt wird.)

  3. Um sicherzustellen, dass das Verschlüsselungsverhalten nach Ihren Wünschen festgelegt ist, testen Sie mehrere PUT-Anfragen, um Ihre tatsächliche Arbeitslast sorgfältig zu simulieren.

  4. Wenn Sie die Standardverschlüsselung mit SSE-KMS verwenden, überprüfen Sie Ihre Clients auf fehlgeschlagene PUT- und GET-Anfragen, die vor den Änderungen nicht fehlgeschlagen sind. In den meisten Fällen sind dies die Anfragen, die Sie nicht entsprechend dem Schritt 1 aktualisiert haben. Ändern Sie die fehlgeschlagenen PUT- oder GET-Anforderungen, die mit AWS Signature Version 4 signiert und über SSL versendet werden sollen.

Nachdem Sie die Standardverschlüsselung für Ihren S3-Bucket aktiviert haben, werden die Objekte, die über jede PUT-Anforderung ohne Verschlüsselungs-Header in Amazon S3 gespeichert werden, mithilfe der Einstellungen für die Standardverschlüsselung auf Bucket-Ebene verschlüsselt.

Verwenden von Standardverschlüsselung mit der regionsübergreifenden Replikation

Nachdem Sie die Standardverschlüsselung für einen regionsübergreifenden Replikations-Ziel-Bucket aktiviert haben, gilt das folgende Verschlüsselungsverhalten:

  • Wenn Objekte im Quell-Bucket nicht verschlüsselt sind, werden die Replikatobjekte im Ziel-Bucket mithilfe der Einstellungen der Standardverschlüsselung des Ziel-Buckets 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.

  • Wenn Objekte im Quell-Bucket mithilfe von SSE-S3 oder SSE-KMS verschlüsselt werden, verwenden die Replikatobjekte im Ziel-Bucket dieselbe Verschlüsselung wie die Verschlüsselung des Quellobjekts. Die Einstellungen der Standardverschlüsselung des Ziel-Buckets werden nicht verwendet.

Überwachen der Standardverschlüsselung mit CloudTrail und CloudWatch

Sie können die Konfigurationsanfragen der Standardverschlüsselung über AWS CloudTrail-Ereignisse verfolgen. Die API-Ereignisnamen, die in CloudTrail-Protokollen verwendet werden, sind PutBucketEncryption, GetBucketEncryption und DeleteBucketEncryption. Zudem können Sie Amazon CloudWatch Events mit Operationen auf S3-Bucket-Ebene als Ereignistyp erstellen. Weitere Informationen zu den CloudTrail-Ereignissen finden Sie unter Wie aktiviere ich die Protokollierung auf Objektebene für einen S3-Bucket mit CloudWatch-Datenereignissen?

Sie können CloudTrail-Protokolle für Amazon S3-Aktionen auf Objektebene für die Verfolgung von PUT- und POST-Anforderungen an Amazon S3 verwenden, um zu überprüfen, ob die Standardverschlüsselung für das Verschlüsseln von Objekten verwendet wird, wenn eingehende PUT-Anforderungen über keine Verschlüsselungs-Header verfügen.

Wenn Amazon S3 ein Objekt mit den Einstellungen der Standardverschlüsselung verschlüsselt, enthält das Protokoll das folgende Feld als Name-Wert-Paar: "SSEApplied":"Default_SSE_S3" or "SSEApplied":"Default_SSE_KMS".

Wenn Amazon S3 ein Objekt mit den PUT-Verschlüsselungs-Headern verschlüsselt, enthält das Protokoll das folgende Feld als Name-Wert-Paar: "SSEApplied":"SSE_S3", "SSEApplied":"SSE_KMS oder "SSEApplied":"SSE_C". Diese Informationen sind für mehrteilige Uploads in den InitiateMultipartUpload-API-Anfragen enthalten. Weitere Informationen zur Verwendung von CloudTrail und CloudWatch finden Sie unter Überwachung von Amazon S3.