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.
Angeben der serverseitigen Verschlüsselung mit AWS KMS (SSE-KMS) für das Hochladen neuer Objekte in Verzeichnis-Buckets
Um Ihre Daten mit serverseitiger Verschlüsselung für Verzeichnis-Buckets zu verschlüsseln, können Sie entweder die serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) (Standard) oder die serverseitige Verschlüsselung mit AWS Key Management Service () -Schlüsseln () verwenden.AWS KMS 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 CreateSession-Anforderungen oder PUT-Objektanforderungen nicht überschreiben. Anschließend werden neue Objekte automatisch mit den gewünschten Verschlüsselungseinstellungen verschlüsselt. Weitere Informationen über das Verhalten, das Verschlüsselung in Verzeichnis-Buckets außer Kraft setzt, finden Sie unter Serverseitige Verschlüsselung mit für das Hochladen neuer Objekte angeben. AWS KMS
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. Server-side Die 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) keys (SSE-KMS) verwenden. 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. Der Von AWS verwalteter Schlüssel (aws/s3) wird nicht unterstützt. Ihre SSE-KMS Konfiguration kann für die gesamte Lebensdauer des Buckets nur einen vom Kunden verwalteten Schlüssel pro Verzeichnis-Bucket unterstützen. Nachdem Sie einen vom Kunden verwalteten Schlüssel für angegeben haben SSE-KMS, können Sie den vom Kunden verwalteten Schlüssel für die SSE-KMS Konfiguration des Buckets nicht mehr außer Kraft setzen. Wenn Sie dann serverseitige Verschlüsselungseinstellungen für neue Objekte mit angeben, müssen Sie sicherstellen SSE-KMS, 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 einen neuen, vom Kunden verwalteten Schlüssel für Ihre Daten zu verwenden, empfehlen wir, Ihre vorhandenen Objekte mit einem neuen vom Kunden verwalteten 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 dies SSE-KMS mithilfe der REST-API-Operationen, AWS SDKs und der AWS Command Line Interface ()AWS CLI angeben.
Anmerkung
-
Bei Verzeichnis-Buckets ist das Überschreibungsverhalten der Verschlüsselung wie folgt:
-
Wenn Sie die REST-API verwenden, um API-Anfragen für zonale Endpunkte CreateSession mit Ausnahme von und zu authentifizieren CopyObject und zu SSE-S3 autorisieren UploadPartCopy, können Sie die Verschlüsselungseinstellungen SSE-KMS nur überschreiben, wenn Sie zuvor die Standardverschlüsselung des Buckets angegeben haben. SSE-KMS
-
Wenn Sie CreateSession mit Ausnahme von und die AWS CLI AWS SDKs verwenden, um API-Anfragen für zonale Endpunkte zu authentifizieren und zu autorisieren UploadPartCopy, können Sie die CopyObject Verschlüsselungseinstellungen überhaupt nicht außer Kraft setzen.
-
Wenn Sie CopyObject Anfragen stellen, können Sie die Verschlüsselungseinstellungen SSE-KMS nur so SSE-S3 oder so außer Kraft setzen, wenn Sie zuvor die Standardverschlüsselung des Buckets angegeben haben. SSE-KMS Wenn Sie UploadPartCopy Anfragen 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 sich im Besitz eines anderen Kontos befindet, müssen Sie über die Berechtigung zum Verwenden des Schlüssels verfügen. Weitere Informationen zu kontoübergreifenden Berechtigungen für KMS-Schlüssel finden Sie unter Erstellen von KMS-Schlüsseln, die von anderen Konten verwendet werden können im Entwicklerhandbuch zu AWS Key Management Service .
Anmerkung
Pro Verzeichnis-Bucket wird für die gesamte Lebensdauer des Buckets nur ein vom Kunden verwalteter Schlüssel unterstützt. Der Von AWS verwalteter Schlüssel (aws/s3) wird nicht unterstützt. Nachdem Sie einen vom Kunden verwalteten Schlüssel SSE-KMS als Standardverschlüsselungskonfiguration für Ihren Bucket angegeben haben, können Sie den vom Kunden verwalteten Schlüssel für die SSE-KMS Bucket-Konfiguration nicht mehr ändern.
Für API-Operationen mit Ausnahme von und an zonalen Endpunkten (auf Objektebene) authentifizieren CopyObject und autorisieren Sie Anfragen UploadPartCopy, um eine niedrige Latenz zu gewährleisten. 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-Anforderungen oder PUT-Objektanforderungen nicht überschreiben. Anschließend werden neue Objekte automatisch mit den gewünschten Verschlüsselungseinstellungen verschlüsselt. Um neue Objekte in einem Verzeichnis-Bucket mit zu verschlüsseln SSE-KMS, müssen Sie SSE-KMS als Standardverschlüsselungskonfiguration für den Verzeichnis-Bucket einen KMS-Schlüssel (insbesondere einen vom Kunden verwalteten Schlüssel) angeben. https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk Wenn dann eine Sitzung für API-Operationen mit zonalen Endpunkten erstellt wird, werden neue Objekte während der Sitzung automatisch mit S3-Bucket-Schlüsseln ver SSE-KMS - und entschlüsselt. Weitere Informationen zum Verhalten, das die Verschlüsselung in Verzeichnis-Buckets außer Kraft setzt, finden Sie unter Serverseitige Verschlüsselung mit AWS KMS für neue Objektuploads angeben.
Bei API-Aufrufen für zonale Endpunkte (außer CopyObject und UploadPartCopy), die die REST-API verwenden, 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 für zonale Endpunkte angeben. Amazon S3 verwendet die Werte der Verschlüsselungseinstellungen aus der CreateSession-Anforderung, um neue Objekte im Verzeichnis-Bucket zu schützen.
Anmerkung
Wenn Sie z. B. das AWS CLI oder die AWS SDKs verwenden, wird das Sitzungstoken automatisch aktualisiertCreateSession, um Dienstunterbrechungen zu vermeiden, wenn eine Sitzung abläuft. Die AWS CLI oder die AWS SDKs verwenden die Standardverschlüsselungskonfiguration des Buckets für die Anfrage. CreateSession Das Überschreiben der Werte der Verschlüsselungseinstellungen in der CreateSession-Anforderung wird nicht unterstützt. Außerdem wird es bei API-Aufrufen für zonale Endpunkte (außer CopyObject und UploadPartCopy) nicht unterstützt, die Werte der Verschlüsselungseinstellungen aus der CreateSession Anfrage zu überschreiben.
Denn CopyObject um neue Objektkopien in einem Verzeichnis-Bucket mit zu verschlüsseln SSE-KMS, müssen Sie SSE-KMS als Standardverschlüsselungskonfiguration für den Verzeichnis-Bucket einen KMS-Schlüssel (insbesondere einen vom Kunden verwalteten Schlüssel) angeben. Wenn Sie dann serverseitige Verschlüsselungseinstellungen für neue Objektkopien mit angeben, müssen Sie sicherstellen SSE-KMS, dass der Verschlüsselungsschlüssel derselbe vom Kunden verwaltete Schlüssel ist, den Sie für die Standardverschlüsselungskonfiguration des Directory-Buckets angegeben haben. Denn UploadPartCopy um Teilkopien neuer Objekte in einem Verzeichnis-Bucket mit zu verschlüsseln SSE-KMS, müssen Sie SSE-KMS als Standardverschlüsselungskonfiguration für den Verzeichnis-Bucket einen KMS-Schlüssel (insbesondere einen vom Kunden verwalteten Schlüssel) angeben. Sie können in den UploadPartCopy Anforderungsheadern keine serverseitigen Verschlüsselungseinstellungen für neue Objektteilkopien angeben. SSE-KMS Außerdem müssen die Verschlüsselungseinstellungen, die Sie in der CreateMultipartUpload Anfrage angeben, mit der Standardverschlüsselungskonfiguration des Ziel-Buckets übereinstimmen.
Themen
Amazon S3-REST-API-Operationen, die unterstützen SSE-KMS
Die folgenden REST-API-Operationen akzeptieren die Anforderungs-Header x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id und x-amz-server-side-encryption-context.
-
CreateSession— Wenn Sie API-Operationen für zonale Endpunkte (auf Objektebene) verwenden (außer CopyObject und UploadPartCopy), können Sie diese Anforderungsheader angeben.
-
PutObject – Wenn Sie Daten über die
PUT-API-Operation hochladen, können Sie diese Anforderungs-Header angeben. -
CopyObject – Wenn Sie ein Objekt kopieren, erhalten Sie ein Quell- und ein Zielobjekt. Wenn Sie bei der
CopyObjectOperation SSE-KMS Header übergeben, werden diese nur auf das Zielobjekt angewendet. -
CreateMultipartUpload – Wenn Sie große Objekte über die API-Operation für mehrteilige Uploads hochladen, können Sie diese Header angeben. Sie geben diese Header in der
CreateMultipartUpload-Anforderung an.
Die Antwort-Header der folgenden REST-API-Operationen geben den Header x-amz-server-side-encryption zurück, wenn ein Objekt unter Verwendung der serverseitigen Verschlüsselung gespeichert wird.
Wichtig
-
Alle
GET- undPUT-Anforderungen für ein durch AWS KMS geschütztes Objekt schlagen fehl, wenn diese Anforderungen nicht über Transport Layer Security (TLS) oder Signature Version 4 gestellt werden. -
Wenn Ihr Objekt Header für Anfragen und Anforderungen verwendet SSE-KMS, senden Sie keine Verschlüsselungsanforderungskopfzeilen für
GETHEADAnfragen und Anforderungen, da Sie sonst einenHTTP BadRequest400-Fehler erhalten.
Verschlüsselungskontext (x-amz-server-side-encryption-context)
Wenn Sie x-amz-server-side-encryption:aws:kms angeben, unterstützt die Amazon-S3-API optional das Bereitstellen eines expliziten Verschlüsselungskontexts mit dem x-amz-server-side-encryption-context-Header. Für Verzeichnis-Buckets ist ein Verschlüsselungskontext ein Satz von Schlüssel-Wert-Paaren, die kontextbezogene Informationen zu den Daten enthalten. Der Wert muss dem Standard-Verschlüsselungskontext entsprechen – dem Amazon-Ressourcennamen (ARN) für den Bucket. Ein zusätzlicher Wert für den Verschlüsselungskontext wird nicht unterstützt.
Weitere Informationen zum Verschlüsselungskontext in Verzeichnis-Buckets finden Sie unter Verschlü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-serverseitige Verschlüsselung-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 SSE-KMS Konfiguration kann für die gesamte Lebensdauer des Buckets nur einen vom Kunden verwalteten Schlüssel pro Verzeichnis-Bucket unterstützen. Der Von AWS verwalteter Schlüssel (aws/s3) wird nicht unterstützt. Nachdem Sie einen vom Kunden verwalteten Schlüssel für angegeben haben SSE-KMS, können Sie den vom Kunden verwalteten Schlüssel für die SSE-KMS Konfiguration des Buckets außerdem nicht überschreiben.
Sie können den vom Kunden verwalteten Schlüssel, den Sie für die SSE-KMS Konfiguration des Buckets angegeben haben, auf folgende Weise identifizieren:
Sie stellen eine
HeadObjectAPI-Operationsanforderung, um den Wert vonx-amz-server-side-encryption-aws-kms-key-idin 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 vom Kunden verwalteten Schlüssel in einen neuen Verzeichnis-Bucket zu kopieren.
Weitere Informationen zum Verschlüsselungskontext in Verzeichnis-Buckets finden Sie unter AWS KMS keys.
S3-Bucket-Schlüssel (x-amz-server-side-encryption-aws-bucket-key-enabled)
S3 Bucket Keys sind immer für GET- und 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 kopieren, über, die Operation in Batch Operations oder die Jobs. CopyObject UploadPartCopy Copy import In diesem Fall ruft Amazon S3 AWS KMS jedes Mal an, wenn eine Kopieranforderung für ein Objekt gestellt wird. KMS-encrypted Weitere Informationen zu den S3-Bucket-Schlüsseln in Verzeichnis-Buckets finden Sie unter Verschlüsselungskontext.
Anmerkung
Wenn Sie das AWS CLI, for verwenden, wird das Sitzungstoken automatisch aktualisiertCreateSession, um Dienstunterbrechungen zu vermeiden, wenn eine Sitzung abläuft. Das Überschreiben der Werte der Verschlüsselungseinstellungen in der CreateSession-Anforderung wird nicht unterstützt. Außerdem wird es bei API-Aufrufen für zonale Endpunkte (außer CopyObject und UploadPartCopy) nicht unterstützt, die Werte der Verschlüsselungseinstellungen aus der Anfrage zu überschreiben. CreateSession
Um neue Objekte in einem Verzeichnis-Bucket mit zu verschlüsseln SSE-KMS, müssen Sie SSE-KMS als Standardverschlüsselungskonfiguration für den Verzeichnis-Bucket einen KMS-Schlüssel (insbesondere einen vom Kunden verwalteten Schlüssel) angeben. Wenn dann eine Sitzung für API-Operationen mit zonalen Endpunkten erstellt wird, werden neue Objekte während der Sitzung automatisch mit S3-Bucket-Schlüsseln ver SSE-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 die Verwendung der serverseitigen Verschlüsselung mit AWS KMS Schlüsseln zur Verschlüsselung Ihrer Daten angeben. 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 Anforderung insbesondere den --server-side-encryption aws:kms-Header hinzu. Verwenden Sie den--ssekms-key-id , um Ihren vom Kunden verwalteten AWS KMS Schlüssel hinzuzufügen, den Sie erstellt haben. Wenn Sie dies angebenexample-key-id--server-side-encryption
aws:kms, müssen Sie eine AWS KMS Schlüssel-ID Ihres vom Kunden verwalteten Schlüssels angeben. Verzeichnis-Buckets verwenden keinen AWS verwalteten Schlüssel. Ein Beispielbefehl finden Sie unter Verwendung der 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--keybucket-base-name--zone-id--x-s3example-object-key--bodyfilepath
Sie müssen Ihren API-Operationen für zonale Endpunkte -\-bucket-key-enabled nicht explizit hinzufügen. S3 Bucket Keys sind immer für GET- und PUT-Vorgänge in einem Verzeichnis-Bucket aktiviert und können nicht deaktiviert werden. S3-Bucket-Schlüssel 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 kopieren, über CopyObject UploadPartCopy, den Copy Vorgang in Batch Operations oder die Jobs. import In diesem Fall ruft Amazon S3 AWS KMS jedes Mal an, wenn eine Kopieranforderung für ein Objekt gestellt wird. KMS-encrypted
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 die Zielobjekte SSE-KMS verschlüsseln. 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 Verwendung der 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-bucketexample-object-key--bucket--keybucket-base-name--zone-id--x-s3example-object-key
Wenn Sie AWS SDKs verwenden, können Sie Amazon S3 anfordern, es AWS KMS keys für die serverseitige Verschlüsselung zu verwenden. Die folgenden Beispiele zeigen, wie die AWS SDKs für Java und.NET verwendet SSE-KMS werden. Informationen zu anderen SDKs finden Sie im AWS Developer Center unter Beispielcode und Bibliotheken
Anmerkung
Wenn Sie beispielsweise die AWS SDKs verwenden, wird das Sitzungstoken automatisch aktualisiertCreateSession, um Dienstunterbrechungen zu vermeiden, wenn eine Sitzung abläuft. Das Überschreiben der Werte der Verschlüsselungseinstellungen in der CreateSession-Anforderung wird nicht unterstützt. Außerdem wird es bei API-Aufrufen für zonale Endpunkte (außer CopyObject und UploadPartCopy) nicht unterstützt, die Werte der Verschlüsselungseinstellungen aus der Anfrage zu überschreiben. CreateSession
Um neue Objekte in einem Verzeichnis-Bucket mit zu verschlüsseln SSE-KMS, müssen Sie SSE-KMS als Standardverschlüsselungskonfiguration für den Verzeichnis-Bucket einen KMS-Schlüssel (insbesondere einen vom Kunden verwalteten Schlüssel) angeben. Wenn dann eine Sitzung für API-Operationen mit zonalen Endpunkten erstellt wird, werden neue Objekte während der Sitzung automatisch mit S3-Bucket-Schlüsseln ver SSE-KMS - und entschlüsselt.
Weitere Hinweise zur Verwendung von AWS SDKs zum Festlegen der Standardverschlüsselungskonfiguration eines Verzeichnis-Buckets als SSE-KMS finden Sie unter. Verwendung der AWS SDKs
Wichtig
Wenn Sie eine 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 im Entwicklerhandbuch für AWS Key Management Service .
Weitere Informationen zum Erstellen von vom Kunden verwalteten Schlüsseln finden Sie im AWS Key Management Service Entwicklerhandbuch unter Programmieren der AWS KMS API.