Serverseitige Verschlüsselung mit AWS KMS (SSE-KMS) für neue Objekt-Uploads in Verzeichnis-Buckets angeben - 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.

Serverseitige Verschlüsselung mit AWS KMS (SSE-KMS) für neue Objekt-Uploads in Verzeichnis-Buckets angeben

Für Verzeichnis-Buckets können Sie zur Verschlüsselung Ihrer Daten mit serverseitiger Verschlüsselung entweder serverseitige Verschlüsselung mit verwalteten Amazon S3 S3-Schlüsseln (SSE-S3) (Standard) oder serverseitige Verschlüsselung mit () Schlüsseln AWS Key Management Service (AWS KMS-) verwenden. SSE KMS Wir empfehlen, dass die Standardverschlüsselung des Buckets die gewünschte Verschlüsselungskonfiguration verwendet und dass Sie die Standardverschlüsselung des Buckets in Ihren Anfragen oder Objektanforderungen nicht überschreiben. CreateSession PUT 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 AWS KMS für Uploads neuer Objekte angeben.

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. Wenn Sie einen anderen Verschlüsselungstyp für einen Verzeichnis-Bucket angeben möchten, können Sie die serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-) verwenden. KMS 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. Von AWS verwalteter Schlüssel(aws/s3) wird nicht unterstützt. Ihre KMS Konfiguration unterstützt für die gesamte Lebensdauer des Buckets nur einen vom Kunden verwalteten Schlüssel pro SSE Verzeichnis-Bucket. Nachdem Sie einen vom Kunden verwalteten Schlüssel für SSE - angegeben habenKMS, können Sie den vom Kunden verwalteten Schlüssel für die KMS Konfiguration des SSE Buckets nicht überschreiben. Wenn Sie dann serverseitige Verschlüsselungseinstellungen für neue Objekte mit SSE - angeben, müssen Sie sicherstellenKMS, dass der Verschlüsselungsschlüssel derselbe vom Kunden verwaltete Schlüssel ist, den Sie für die Standardverschlüsselungskonfiguration des Verzeichnis-Buckets angegeben haben. Um einen neuen, vom Kunden verwalteten Schlüssel für Ihre Daten zu verwenden, empfehlen wir, Ihre vorhandenen Objekte mit einem neuen kundenverwalteten Schlüssel in einen neuen Verzeichnis-Bucket zu kopieren.

Sie können die Verschlüsselung anwenden, wenn Sie entweder ein neues Objekt hochladen oder ein vorhandenes Objekt kopieren. Wenn Sie die Verschlüsselung eines Objekts ändern, wird ein neues Objekt erstellt, um das alte zu ersetzen.

Sie können SSE - angeben, KMS indem Sie die REST API Operationen AWS SDKs, und AWS Command Line Interface (AWS CLI) verwenden.

Anmerkung
  • Bei Verzeichnis-Buckets ist das Verhalten beim Überschreiben der Verschlüsselung wie folgt:

    • Wenn Sie CreateSessionmit der REST API zur Authentifizierung und Autorisierung von API Anfragen an zonale Endpunkte außer CopyObjectund verwenden UploadPartCopy, können Sie die Verschlüsselungseinstellungen auf SSE -S3 oder auf SSE — KMS nur dann überschreiben, wenn Sie zuvor die Standardverschlüsselung des Buckets mit angegeben haben. SSE KMS

    • Wenn Sie die Option CreateSessionmit AWS CLI oder für die Authentifizierung und Autorisierung von zonalen API Endpunktanfragen außer CopyObjectund verwenden UploadPartCopy, können Sie die Verschlüsselungseinstellungen überhaupt nicht überschreiben. AWS SDKs

    • Wenn Sie CopyObjectAnfragen stellen, können Sie die Verschlüsselungseinstellungen auf SSE -S3 oder auf SSE — KMS außer Kraft setzen, wenn Sie zuvor die Standardverschlüsselung des Buckets mit — angegeben haben. SSE KMS Wenn Sie UploadPartCopyAnfragen stellen, können Sie die Verschlüsselungseinstellungen nicht überschreiben.

  • Sie können Multiregion AWS KMS keys in Amazon S3 verwenden. Amazon S3 behandelt jedoch derzeit Multi-Regions-Schlüssel wie Einzel-Regions-Schlüssel und verwendet nicht die Multi-Regions-Funktionen des Schlüssels. Weitere Informationen finden Sie unter Using multi-Region keys (Verwenden von Multi-Regions-Zugriffpunkt-Schlüsseln) im AWS Key Management Service -Entwicklerhandbuch.

  • Wenn Sie einen KMS Schlüssel verwenden möchten, der einem anderen Konto gehört, benötigen Sie die Erlaubnis, den Schlüssel zu verwenden. Weitere Informationen zu kontoübergreifenden Berechtigungen für KMS Schlüssel finden Sie im AWS Key Management Service Entwicklerhandbuch unter Erstellen von KMS Schlüsseln, die andere Konten verwenden können.

Anmerkung

Pro Verzeichnis-Bucket wird für die gesamte Lebensdauer des Buckets nur ein vom Kunden verwalteter Schlüssel unterstützt. Die Von AWS verwalteter Schlüssel(aws/s3) wird nicht unterstützt. Nachdem Sie SSE - KMS als Standardverschlüsselungskonfiguration Ihres Buckets mit einem vom Kunden verwalteten Schlüssel angegeben haben, können Sie den vom Kunden verwalteten Schlüssel für die KMS Konfiguration des SSE Buckets nicht mehr ändern.

Bei APIVorgängen auf zonaler Endpunktebene (Objektebene) mit Ausnahme von CopyObjectund UploadPartCopyauthentifizieren und autorisieren Sie Anfragen mit geringer Latenz. CreateSession Wir empfehlen, dass die Standardverschlüsselung des Buckets die gewünschten Verschlüsselungskonfigurationen verwendet und dass Sie die Standardverschlüsselung des Buckets in Ihren CreateSession Anfragen oder Objektanforderungen nicht überschreiben. PUT Anschließend werden neue Objekte automatisch mit den gewünschten Verschlüsselungseinstellungen verschlüsselt. 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. 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.

Bei API Aufrufen von zonalen Endpunkten (außer CopyObjectund UploadPartCopy) mit dem REST API können Sie die Werte der Verschlüsselungseinstellungen (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-idx-amz-server-side-encryption-context, undx-amz-server-side-encryption-bucket-key-enabled) aus der Anfrage nicht überschreiben. CreateSession Sie müssen diese Werte für die Verschlüsselungseinstellungen nicht explizit in API Aufrufen von zonalen Endpunkten angeben, und Amazon S3 verwendet die Werte der Verschlüsselungseinstellungen aus der CreateSession Anfrage, um neue Objekte im Verzeichnis-Bucket zu schützen.

Anmerkung

Wenn Sie das AWS CLI oder das AWS SDKs, für verwenden, wird das Sitzungstoken automatisch aktualisiertCreateSession, um Serviceunterbrechungen zu vermeiden, wenn eine Sitzung abläuft. Das AWS CLI oder sie AWS SDKs verwenden die Standardverschlüsselungskonfiguration des Buckets für die CreateSession Anfrage. Es wird nicht unterstützt, die Werte der Verschlüsselungseinstellungen in der CreateSession Anfrage zu überschreiben. Außerdem wird es bei API Aufrufen von zonalen Endpunkten (außer CopyObjectund UploadPartCopy) nicht unterstützt, die Werte der Verschlüsselungseinstellungen aus der CreateSession Anfrage zu überschreiben.

Um neue Objektkopien 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. CopyObject Wenn Sie dann serverseitige Verschlüsselungseinstellungen für neue Objektkopien mit SSE - angeben, müssen Sie sicherstellenKMS, dass der Verschlüsselungsschlüssel derselbe vom Kunden verwaltete Schlüssel ist, den Sie für die Standardverschlüsselungskonfiguration des Directory-Buckets angegeben haben. Um neue Objektteilkopien 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. UploadPartCopy Sie können keine serverseitigen Verschlüsselungseinstellungen für neue Objektteilkopien mit SSE - KMS in den UploadPartCopyAnforderungsheadern angeben. Außerdem müssen die Verschlüsselungseinstellungen, die Sie in der CreateMultipartUploadAnfrage angeben, mit der Standardverschlüsselungskonfiguration des Ziel-Buckets übereinstimmen.

Amazon S3 REST API S3-Operationen, die unterstützen SSE - KMS

Die folgenden REST API Operationen auf Objektebene in Verzeichnis-Buckets akzeptieren die Headerx-amz-server-side-encryption,x-amz-server-side-encryption-aws-kms-key-id, und x-amz-server-side-encryption-context Request-Header.

  • CreateSession— Wenn Sie API Operationen an zonalen Endpunkten (Objektebene) (außer CopyObject und UploadPartCopy) verwenden, können Sie diese Anforderungsheader angeben.

  • PutObject— Wenn Sie Daten mithilfe der PUT API Operation hochladen, können Sie diese Anforderungsheader angeben.

  • CopyObject – Wenn Sie ein Objekt kopieren, erhalten Sie ein Quell- und ein Zielobjekt. Wenn Sie bei der CopyObject Operation SSE KMS -Header übergeben, werden sie nur auf das Zielobjekt angewendet.

  • CreateMultipartUpload— Wenn Sie große Objekte mithilfe des mehrteiligen API Upload-Vorgangs hochladen, können Sie diese Header angeben. Sie geben diese Header in der Anfrage an. CreateMultipartUpload

Die Antwortheader der folgenden REST API Operationen geben den x-amz-server-side-encryption Header zurück, wenn ein Objekt mithilfe serverseitiger Verschlüsselung gespeichert wird.

Wichtig
  • Alle GET PUT Anfragen für ein Objekt, das durch geschützt ist, AWS KMS schlagen fehl, wenn Sie diese Anfragen nicht mithilfe von Transport Layer Security (TLS) oder Signature Version 4 stellen.

  • Wenn Ihr Objekt SSE - verwendetKMS, senden Sie keine Header für GET Verschlüsselungsanfragen für Anfragen und HEAD Anfragen, da Sie sonst die BadRequest Fehlermeldung HTTP400 erhalten.

Verschlüsselungskontext (x-amz-server-side-encryption-context)

Wenn Sie angebenx-amz-server-side-encryption:aws:kms, API unterstützt Amazon S3 Sie dabei, optional einen expliziten Verschlüsselungskontext mit dem x-amz-server-side-encryption-context Header bereitzustellen. Bei Verzeichnis-Buckets besteht ein Verschlüsselungskontext aus einer Reihe von Schlüssel-Wert-Paaren, die kontextbezogene Informationen zu den Daten enthalten. Der Wert muss dem Standard-Verschlüsselungskontext entsprechen — dem Bucket Amazon Resource Name (ARN). Ein zusätzlicher Wert für den Verschlüsselungskontext wird nicht unterstützt.

Hinweise zum Verschlüsselungskontext in Verzeichnis-Buckets finden Sie unterVerschlüsselungskontext. Allgemeine Informationen zum Verschlüsselungs-Kontext finden Sie unter AWS Key Management Service Concepts – Encryption Context (Konzepte – Verschlüsselungs-Kontext) im AWS Key Management Service -Entwicklerhandbuch.

AWS KMS Schlüssel-ID () x-amz-server-side-encryption-aws-kms-key-id

Sie können den Header x-amz-server-side-encryption-aws-kms-key-id verwenden, um die ID des vom Kunden verwalteten Schlüssels anzugeben, der zum Schutz der Daten verwendet wird.

Ihre KMS Konfiguration kann für die gesamte Lebensdauer des Buckets nur einen vom Kunden verwalteten Schlüssel pro SSE Verzeichnis-Bucket unterstützen. Die Von AWS verwalteter Schlüssel(aws/s3) wird nicht unterstützt. Außerdem können Sie, nachdem Sie einen vom Kunden verwalteten Schlüssel für SSE - angegeben habenKMS, den vom Kunden verwalteten Schlüssel für die KMS Konfiguration des SSE Buckets nicht überschreiben.

Sie können den vom Kunden verwalteten Schlüssel, den Sie für die KMS Konfiguration SSE — des Buckets angegeben haben, wie folgt identifizieren:

  • Sie stellen eine HeadObject API Operationsanfrage, um den Wert von x-amz-server-side-encryption-aws-kms-key-id in Ihrer Antwort zu ermitteln.

Um einen neuen, vom Kunden verwalteten Schlüssel für Ihre Daten zu verwenden, empfehlen wir, Ihre vorhandenen Objekte mit einem neuen kundenverwalteten Schlüssel in einen neuen Verzeichnis-Bucket zu kopieren.

Hinweise zum Verschlüsselungskontext in Verzeichnis-Buckets finden Sie unterAWS KMS keys.

S3-Bucket-Schlüssel (x-amz-server-side-encryption-aws-bucket-key-enabled)

S3-Bucket-Keys sind für GET PUT Vorgänge in einem Verzeichnis-Bucket immer 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 kopieren SSE CopyObject, UploadPartCopy, der Copy Operation in Batch-Operationen oder die import Jobs. In diesem Fall ruft Amazon S3 AWS KMS jedes Mal, wenn eine Kopieranforderung für ein KMS -verschlüsseltes Objekt gestellt wird, auf. Informationen zu den S3-Bucket-Keys in Verzeichnis-Buckets finden Sie unter. Verschlüsselungskontext

Anmerkung

Wenn Sie das AWS CLI, für verwenden, wird das Sitzungstoken automatisch aktualisiertCreateSession, um Dienstunterbrechungen zu vermeiden, wenn eine Sitzung abläuft. Es wird nicht unterstützt, die Werte der Verschlüsselungseinstellungen für die CreateSession Anfrage zu überschreiben. Außerdem wird es bei API Aufrufen von zonalen Endpunkten (außer CopyObjectund UploadPartCopy) nicht unterstützt, die Werte der Verschlüsselungseinstellungen aus der CreateSession Anfrage zu überschreiben.

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.

Um die folgenden AWS CLI Beispielbefehle zu verwenden, ersetzen Sie sie durch Ihre eigenen Informationen. user input placeholders

Wenn Sie ein neues Objekt hochladen oder ein vorhandenes Objekt kopieren, können Sie angeben, dass serverseitige Verschlüsselung mit AWS KMS Schlüsseln zum Verschlüsseln Ihrer Daten verwendet werden soll. Verwenden Sie dazu den put-bucket-encryption Befehl, um die Standardverschlüsselungskonfiguration des Directory-Buckets auf SSE - KMS () aws:kms festzulegen. Fügen Sie der Anfrage insbesondere den --server-side-encryption aws:kms Header hinzu. Verwenden Sie den--ssekms-key-id example-key-id, um Ihren vom Kunden verwalteten AWS KMS Schlüssel hinzuzufügen, den Sie erstellt haben. Wenn Sie angeben--server-side-encryption aws:kms, müssen Sie eine AWS KMS Schlüssel-ID Ihres vom Kunden verwalteten Schlüssels angeben. Directory-Buckets verwenden keinen AWS verwalteten Schlüssel. Ein Beispielbefehl finden Sie unter Mit dem AWS CLI.

Wenn Sie dann ein neues Objekt mit dem folgenden Befehl hochladen, verwendet Amazon S3 die Bucket-Einstellungen für die Standardverschlüsselung, um das Objekt standardmäßig zu verschlüsseln.

aws s3api put-object --bucket bucket-base-name--zone-id--x-s3 --key example-object-key --body filepath

Sie müssen in Ihren Zonal Endpoint API Operations Befehle nicht -\-bucket-key-enabled explizit hinzufügen. S3-Bucket-Keys sind immer für GET PUT Operationen 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 kopieren SSE CopyObject, UploadPartCopy, der Copy Operation in Batch-Operationen oder die import Jobs. In diesem Fall ruft Amazon S3 AWS KMS jedes Mal, wenn eine Kopieranforderung für ein KMS -verschlüsseltes Objekt gestellt wird, auf.

Sie können ein Objekt aus einem Quell-Bucket (z. B. einem Allzweck-Bucket) in einen neuen Bucket (z. B. einen Verzeichnis-Bucket) kopieren und SSE — KMS Verschlüsselung für die Zielobjekte verwenden. Verwenden Sie dazu den put-bucket-encryption Befehl, um die Standardverschlüsselungskonfiguration des Ziel-Buckets (z. B. eines Verzeichnis-Buckets) auf SSE - KMS (aws:kms) festzulegen. Ein Beispielbefehl finden Sie unter Mit dem AWS CLI. Wenn Sie dann ein Objekt mit dem folgenden Befehl kopieren, verwendet Amazon S3 die Bucket-Einstellungen für die Standardverschlüsselung, um das Objekt standardmäßig zu verschlüsseln.

aws s3api copy-object --copy-source amzn-s3-demo-bucket/example-object-key --bucket bucket-base-name--zone-id--x-s3 --key example-object-key

Bei der Verwendung AWS SDKs können Sie Amazon S3 AWS KMS keys für die serverseitige Verschlüsselung anfordern. Die folgenden Beispiele zeigen die Verwendung von SSE - KMS mit dem AWS SDKs für Java und. NET. Informationen zu anderen SDKs finden Sie im AWS Developer Center unter Beispielcode und Bibliotheken.

Anmerkung

Wenn Sie AWS SDKs, für verwenden, wird das Sitzungstoken automatisch aktualisiertCreateSession, um Dienstunterbrechungen zu vermeiden, wenn eine Sitzung abläuft. Es wird nicht unterstützt, die Werte der Verschlüsselungseinstellungen für die CreateSession Anfrage zu überschreiben. Außerdem wird es bei API Aufrufen von zonalen Endpunkten (außer CopyObjectund UploadPartCopy) nicht unterstützt, die Werte der Verschlüsselungseinstellungen aus der CreateSession Anfrage zu überschreiben.

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.

Weitere Hinweise dazu, wie Sie AWS SDKs die Standardverschlüsselungskonfiguration eines Verzeichnis-Buckets auf SSE - festlegen könnenKMS, finden Sie unter. Mit dem AWS SDKs

Wichtig

Wenn Sie eine AWS KMS key für die serverseitige Verschlüsselung in Amazon S3 verwenden, 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.

Weitere Informationen zur Erstellung von kundenverwalteten Schlüsseln finden Sie unter Programmieren von AWS KMS API im AWS Key Management Service Entwicklerhandbuch.