Verwenden serverseitiger Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3)
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 Status der automatischen Verschlüsselung für die Standardverschlüsselungskonfiguration von S3-Buckets und für neue Objekt-Uploads ist in AWS CloudTrail-Protokollen, S3 Inventory, S3 Storage Lens, der Amazon-S3-Konsole und als zusätzlicher Amazon-S3-API-Antwortheader in der AWS Command Line Interface und den AWS-SDKs verfügbar. Weitere Informationen finden Sie unter Häufig gestellte Fragen zur Standardverschlüsselung.
Alle neuen Objekt-Uploads in Amazon-S3-Buckets werden standardmäßig mit serverseitiger Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) verschlüsselt.
Die serverseitige Verschlüsselung schützt Daten im Ruhezustand. Amazon S3 verschlüsselt jedes Objekt mit einem eindeutigen Schlüssel. Als zusätzliche Sicherheit verschlüsselt es den Schlüssel selbst mit einem Schlüssel, der regelmäßig rotiert. Die serverseitige Amazon-S3-Verschlüsselung verwendet den 256-Bit-Advanced-Encryption-Standard-Galois/Counter-Mode (AES-GCM), um alle hochgeladenen Objekte zu verschlüsseln.
Es fallen keine weiteren Gebühren für die serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) an. Für Anfragen zum Konfigurieren der Standard-Verschlüsselungsfunktion werden jedoch Standardgebühren für Amazon-S3-Anfragen berechnet. Informationen zu Preisen finden Sie unter Amazon S3 – Preise
Wenn Sie möchten, dass Ihre Daten-Uploads ausschließlich mit von Amazon S3 verwalteten Schlüsseln verschlüsselt werden, können Sie die folgende Bucket-Richtlinie verwenden. Beispielsweise verweigert die folgende Bucket-Richtlinie Berechtigungen zum Hochladen von Objekten, wenn die Anforderung nicht den x-amz-server-side-encryption
-Header enthält, der eine serverseitige Verschlüsselung anfordert:
{ "Version": "2012-10-17", "Id": "PutObjectPolicy", "Statement": [ { "Sid": "DenyIncorrectEncryptionHeader", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "AES256" } } }, { "Sid": "DenyUnencryptedObjectUploads", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET
/*", "Condition": { "Null": { "s3:x-amz-server-side-encryption": "true" } } } ] }
Anmerkung
Die serverseitige Verschlüsselung verschlüsselt nur die Objektdaten, nicht die Metadaten des Objekts.
API-Support für die serverseitige Verschlüsselung
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 die serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS)-Schlüsseln (SSE-KMS), die serverseitige Dual-Layer-Verschlüsselung mit AWS KMS-Schlüsseln (DSSE-KMS) oder die serverseitige Verschlüsselung mit vom Kunden bereitgestellten 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.
Zum Konfigurieren der serverseitigen Verschlüsselung mit den REST-APIs für die Objekterstellung müssen Sie den Anforderungs-Header x-amz-server-side-encryption
bereitstellen. Weitere Information zu den REST-APIs finden Sie unter Verwenden der REST-API.
Die folgenden Amazon-S3-APIs unterstützen diesen Header:
-
PUT-Operationen – Geben Sie den Anforderungs-Header an, wenn Sie Daten mithilfe der
PUT
-API hochladen. Weitere Informationen finden Sie unter PUT Object. -
Mehrteiligen Upload initiieren – Geben Sie den Header in der Initiierungsanforderung an, wenn Sie große Objekte mit der API für mehrteilige Uploads hochladen. Weitere Informationen finden Sie unter Mehrteiligen Upload initiieren.
-
COPY-Operationen – Wenn Sie ein Objekt kopieren, erhalten Sie ein Quell- und ein Zielobjekt. Weitere Informationen finden Sie unter PUT Object – Copy.
Anmerkung
Wenn Sie eine POST
-Operation für das Hochladen eines Objekts verwenden, anstatt den Anforderungs-Header anzugeben, stellen Sie die gleichen Informationen in den Formularfeldern bereit. Weitere Informationen finden Sie unter POST Object.
Die AWS-SDKs bieten außerdem Wrapper-APIs, mit denen Sie eine serverseitige Verschlüsselung anfordern können. Sie können auch die AWS Management Console verwenden, um Objekte hochzuladen und eine serverseitige Verschlüsselung anzufordern.
Weitere Informationen finden Sie unter AWS KMS-Konzepte im Entwicklerhandbuch zu AWS Key Management Service.