Angeben serverseitiger Dual-Layer-Verschlüsselung mit AWS KMS -Schlüsseln (DSSE-KMS) - 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.

Angeben serverseitiger Dual-Layer-Verschlüsselung mit AWS KMS -Schlüsseln (DSSE-KMS)

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 automatische Verschlüsselungsstatus für die Standardverschlüsselungskonfiguration des S3-Buckets und für das Hochladen neuer Objekte ist in AWS CloudTrail Protokollen, S3-Inventar, S3 Storage Lens, der Amazon S3 S3-Konsole und als zusätzlicher Amazon S3 S3-API-Antwortheader in den AWS SDKs AWS Command Line Interface und verfügbar. Weitere Informationen finden Sie unter Häufig gestellte Fragen zur Standardverschlü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 serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-KMS), zweischichtige serverseitige Verschlüsselung mit AWS KMS Schlüsseln (DSSE-KMS) oder 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.

Sie können die Verschlüsselung anwenden, wenn Sie entweder ein neues Objekt hochladen oder ein vorhandenes Objekt kopieren.

Sie können DSSE-KMS mit der Amazon-S3-Konsole, Amazon-S3-REST-API und AWS Command Line Interface (AWS CLI) angeben. Weitere Informationen finden Sie unter den folgenden Themen.

Anmerkung

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.

Anmerkung

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 .

In diesem Abschnitt wird beschrieben, wie Sie mithilfe der Amazon S3 S3-Konsole den Verschlüsselungstyp eines Objekts so einrichten oder ändern, dass die serverseitige Dual-Layer-Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (DSSE-KMS) verwendet wird.

Anmerkung
  • Wenn Sie die Verschlüsselungsmethode eines Objekts ändern, wird ein neues Objekt erstellt, um das alte zu ersetzen. Wenn S3-Versioning aktiviert ist, wird eine neue Version des Objekts erstellt, und das vorhandene Objekt wird zu einer älteren Version. Die Rolle, die die Eigenschaft ändert, wird auch Besitzer des neuen Objekts (oder der neuen Objektversion).

  • Wenn Sie den Verschlüsselungstyp für ein Objekt mit benutzerdefinierten Tags ändern, benötigen Sie die entsprechende Genehmigung. s3:GetObjectTagging Wenn Sie den Verschlüsselungstyp für ein Objekt ändern, das keine benutzerdefinierten Tags hat, aber eine Größe von mehr als 16 MB hat, benötigen Sie auch die s3:GetObjectTagging entsprechende Genehmigung.

    Wenn die Ziel-Bucket-Richtlinie die s3:GetObjectTagging Aktion ablehnt, wird der Verschlüsselungstyp für das Objekt aktualisiert, aber die benutzerdefinierten Tags werden aus dem Objekt entfernt, und Sie erhalten eine Fehlermeldung.

So fügen Sie die Verschlüsselung für ein Objekt hinzu oder ändern Sie sie
  1. Melden Sie sich bei der Amazon S3 S3-Konsole an AWS Management Console und öffnen Sie sie 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 Buckets aus, der das Objekt enthält, das Sie verschlüsseln möchten.

  4. Wählen Sie in der Liste Objekte das Kontrollkästchen neben dem Objekt aus, für das Sie eine Verschlüsselung hinzufügen oder ändern möchten.

    Die Detailseite des Objekts wird angezeigt. Sie enthält mehrere Abschnitte mit den Eigenschaften des Objekts.

  5. Wählen Sie die Registerkarte Eigenschaften aus.

  6. Scrollen Sie nach unten zum Abschnitt Standardverschlüsselung und wählen Sie Bearbeiten aus.

    Die Seite Standardverschlüsselung bearbeiten wird geöffnet.

  7. Wählen Sie unter Verschlüsselungstyp die Option Serverseitige Dual-Layer-Verschlüsselung mit AWS Key Management Service Schlüsseln (DSSE-KMS) aus.

  8. Führen Sie unter AWS KMS -Schlüssel eine der folgenden Aktionen aus, um Ihren KMS-Schlüssel auszuwählen:

    • Wenn Sie aus einer Liste verfügbarer KMS-Schlüssel auswählen möchten, wählen Sie Aus Ihren AWS KMS keys wählen und dann den KMS-Schlüssel in der Liste der verfügbaren Schlüssel aus.

      Sowohl der Von AWS verwalteter Schlüssel (aws/s3) als auch Ihr vom Kunden verwalteter Schlüssel werden in dieser Liste angezeigt. Weitere Informationen über vom Kunden verwaltete Schlüssel finden Sie unter Kundenschlüssel und AWS -Schlüssel im Entwicklerhandbuch zu AWS Key Management Service .

    • Um den KMS-Schlüssel-ARN einzugeben, wählen Sie AWS KMS key ARN eingeben und geben Sie dann Ihren KMS-Schlüssel-ARN in das angezeigte Feld ein.

    • Um einen neuen vom Kunden verwalteten Schlüssel in der AWS KMS Konsole zu erstellen, wählen Sie Create a KMS Key aus.

      Weitere Informationen zum Erstellen eines finden Sie AWS KMS key unter Creating Keys im AWS Key Management Service Developer Guide.

    Wichtig

    Sie können nur KMS-Schlüssel verwenden, die in derselben AWS-Region wie der Bucket verfügbar sind. Die Amazon-S3-Konsole führt nur die ersten 100 KMS-Schlüssel auf, die in derselben Region wie der Bucket verfügbar sind. Wenn Sie einen KMS-Schlüssel verwenden möchten, der nicht aufgeführt ist, müssen Sie den KMS-Schlüssel-ARN eingeben. 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 und Sie müssen den KMS-Schlüssel-ARN eingeben.

    Amazon S3 unterstützt nur symmetrisch verschlüsselte KMS-Schlüssel und keine asymmetrischen KMS-Schlüssel. Weitere Informationen finden Sie unter Erkennen von asymmetrischen KMS-Schlüsseln im Entwicklerhandbuch zu AWS Key Management Service .

  9. Wählen Sie unter Bucket-Schlüssel die Option Deaktivieren aus. S3-Bucket-Schlüssel werden für DSSE-KMS nicht unterstützt.

  10. Wählen Sie Save Changes (Änderungen speichern).

Anmerkung

Diese Aktion wendet auf alle angegebenen Objekte Verschlüsselung an. Warten Sie beim Verschlüsseln von Ordnern, bis die Speicheroperation abgeschlossen ist, bevor Sie dem Ordner neue Objekte hinzufügen.

Wenn Sie ein Objekt erstellen, d. h. wenn Sie ein neues Objekt hochladen oder ein vorhandenes Objekt kopieren, können Sie angeben, dass zur Verschlüsselung Ihrer Daten eine zweischichtige serverseitige Verschlüsselung mit AWS KMS keys (DSSE-KMS) verwendet werden soll. Fügen Sie hierzu der Anforderung den Header x-amz-server-side-encryption hinzu. Setzen Sie den Wert des Headers auf den aws:kms:dsse-Verschlüsselungsalgorithmus. Amazon S3 bestätigt, dass Ihr Objekt unter Verwendung von DSSE-KMS-Verschlüsselung gespeichert wird, indem der Antwort-Header x-amz-server-side-encryption zurückgegeben wird.

Wenn Sie den Header x-amz-server-side-encryption mit dem Wert aws:kms:dsse angeben, können Sie auch die folgenden Anforderungs-Header verwenden:

  • x-amz-server-side-encryption: AES256 | aws:kms | aws:kms:dsse

  • x-amz-server-side-encryption-aws-kms-key-id: SSEKMSKeyId

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

Die folgenden REST-API-Vorgänge 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.

  • 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 DSSE-KMS-Header mit der CopyObject-Operation übergeben, werden sie nur auf das Zielobjekt angewendet. Beim Kopieren eines vorhandenen Objekts wird das Zielobjekt unabhängig davon, ob das Quellobjekt verschlüsselt ist, nur dann verschlüsselt, wenn Sie die serverseitige Verschlüsselung explizit anfordern.

  • POST-Objekt – Wenn Sie eine POST-Operation für das Hochladen eines Objekts verwenden, geben Sie die Informationen in die Formularfelder und nicht in die Anforderungs-Header ein.

  • CreateMultipartUpload – Wenn Sie große Objekte über einen mehrteiligen Upload hochladen, können Sie diese Header in der CreateMultipartUpload-Anforderung angeben.

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

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

  • Wenn Ihr Objekt DSSE-KMS verwendet, dürfen Sie keine Verschlüsselungsanforderungs-Header für GET- und HEAD-Anforderungen senden. Andernfalls erhalten Sie den Fehler HTTP 400 (Bad Request).

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

Wenn Sie x-amz-server-side-encryption:aws:kms:dsse angeben, unterstützt die Amazon-S3-API einen Verschlüsselungskontext mit dem Header x-amz-server-side-encryption-context. Ein Verschlüsselungskontext ist ein Satz von Schlüssel-Wert-Paaren, die zusätzliche kontextbezogene Informationen zu den Daten enthalten können.

Amazon S3 verwendet automatisch den Amazon-Ressourcennamen (ARN) des Objekts als Verschlüsselungskontextpaar, z. B. arn:aws:s3:::object_ARN.

Sie können optional ein zusätzliches Verschlüsselungskontextpaar bereitstellen, indem Sie den Header x-amz-server-side-encryption-context verwenden. Da der Verschlüsselungskontext jedoch nicht verschlüsselt ist, sollte er keine sensiblen Informationen enthalten. Amazon S3 speichert dieses zusätzliche Schlüsselpaar zusammen mit dem Standardverschlüsselungskontext.

Weitere Informationen zum Verschlüsselungskontext in Amazon S3 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-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. Wenn Sie den x-amz-server-side-encryption:aws:kms:dsse Header angeben, den x-amz-server-side-encryption-aws-kms-key-id Header aber nicht angeben, verwendet Amazon S3 die Von AWS verwalteter Schlüssel (aws/s3), um die Daten zu schützen. Wenn Sie einen vom Kunden verwalteten Schlüssel verwenden möchten, müssen Sie den x-amz-server-side-encryption-aws-kms-key-id-Header des vom Kunden verwalteten Schlüssels angeben.

Wichtig

Wenn Sie einen 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 .

Wenn Sie ein neues Objekt hochladen oder ein vorhandenes Objekt kopieren, können Sie für die Verschlüsselung Ihrer Daten DSSE-KMS angeben. Fügen Sie hierzu der Anforderung den Parameter --server-side-encryption aws:kms:dsse hinzu. Verwenden Sie den Parameter --ssekms-key-id example-key-id, um Ihren kundenverwalteten AWS KMS -Schlüssel hinzuzufügen, den Sie erstellt haben. Wenn Sie eine AWS KMS Schlüssel-ID angeben--server-side-encryption aws:kms:dsse, aber keine angeben, verwendet Amazon S3 den AWS verwalteten Schlüssel (aws/s3).

aws s3api put-object --bucket DOC-EXAMPLE-BUCKET --key example-object-key --server-side-encryption aws:kms:dsse --ssekms-key-id example-key-id --body filepath

Sie können ein unverschlüsseltes Objekt mit DSSE-KMS verschlüsseln, indem Sie das Objekt wieder an seinen Platz kopieren.

aws s3api copy-object --bucket DOC-EXAMPLE-BUCKET --key example-object-key --body filepath --bucket DOC-EXAMPLE-BUCKET --key example-object-key --sse aws:kms:dsse --sse-kms-key-id example-key-id --body filepath