Spezifizierung der zweischichtigen serverseitigen Verschlüsselung mit AWS KMS Schlüssel (-) 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.

Spezifizierung der zweischichtigen serverseitigen Verschlüsselung mit AWS KMS Schlüssel (-) DSSE KMS

Wichtig

Amazon S3 wendet jetzt serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) als Basisverschlüsselungsebene 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 verfügbar in AWS CloudTrail Logs, S3 Inventory, S3 Storage Lens, die Amazon S3 S3-Konsole und als zusätzlicher Amazon S3 API S3-Antwort-Header in der AWS Command Line Interface and AWS SDKs. Weitere Informationen finden Sie unter Standardverschlüsselung FAQ.

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 verwenden AWS Key Management Service (AWS KMS) Schlüssel (SSE-KMS), zweischichtige serverseitige Verschlüsselung mit AWS KMS Schlüssel (DSSE-KMS) oder serverseitige Verschlüsselung mit vom Kunden bereitgestellten Schlüsseln (-C). SSE Wenn Sie im Ziel-Bucket eine andere Standardverschlüsselungskonfiguration festlegen möchten, können Sie - oder SSE - KMS verwenden. DSSE KMS

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

Sie können Folgendes DSSE angeben: KMS mithilfe der Amazon S3-Konsole RESTAPI, Amazon S3 und AWS Command Line Interface (AWS CLI). Weitere Informationen finden Sie in den folgenden Themen.

Anmerkung

Sie können Multiregion verwenden AWS KMS keys auf Amazon S3. 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 Verwenden von Schlüsseln für mehrere Regionen in AWS Key Management Service Entwicklerhandbuch.

Anmerkung

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 unter Erstellen von KMS Schlüsseln, die andere Konten verwenden können, in AWS Key Management Service Leitfaden für Entwickler.

In diesem Abschnitt wird beschrieben, wie Sie den Verschlüsselungstyp eines Objekts für die serverseitige Dual-Layer-Verschlüsselung festlegen oder ändern AWS Key Management Service (AWS KMS) Tasten (DSSE-KMS) mithilfe der Amazon S3 S3-Konsole.

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 s3:GetObjectTagging Genehmigung. 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 an bei AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole 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üssel (DSSE-KMS).

  8. Unter AWS KMS Taste, führen Sie einen der folgenden Schritte aus, um Ihren KMS Schlüssel auszuwählen:

    • Um aus einer Liste verfügbarer KMS Schlüssel auszuwählen, wählen Sie Wählen Sie aus Ihrem AWS KMS keys, und wählen Sie dann Ihren KMSSchlüssel aus der Liste der verfügbaren Schlüssel aus.

      Sowohl die Von AWS verwalteter Schlüssel (aws/s3) und Ihre vom Kunden verwalteten Schlüssel werden in dieser Liste angezeigt. Weitere Informationen zu vom Kunden verwalteten Schlüsseln finden Sie unter Kundenschlüssel und AWS Schlüssel im AWS Key Management Service Leitfaden für Entwickler.

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

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

      Weitere Informationen zum Erstellen eines AWS KMS key, siehe Schlüssel erstellen in der AWS Key Management Service Leitfaden für Entwickler.

    Wichtig

    Sie können nur KMS Schlüssel verwenden, die in derselben Version verfügbar sind AWS-Region wie der Eimer. Die Amazon S3 S3-Konsole listet nur die ersten 100 KMS Schlüssel in derselben Region wie der Bucket auf. Um einen KMS Schlüssel zu verwenden, der nicht aufgeführt ist, müssen Sie Ihren KMS Schlüssel eingebenARN. Wenn Sie einen KMS Schlüssel verwenden möchten, der einem anderen Konto gehört, benötigen Sie zunächst die Erlaubnis, den Schlüssel zu verwenden, und dann müssen Sie den KMS Schlüssel eingebenARN.

    Amazon S3 unterstützt nur symmetrische KMS Verschlüsselungsschlüssel und keine asymmetrischen KMS Schlüssel. Weitere Informationen finden Sie unter Identifizieren asymmetrischer Schlüssel KMS in der AWS Key Management Service Leitfaden für Entwickler.

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

  10. Wählen Sie Ä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 die Verwendung der zweischichtigen serverseitigen Verschlüsselung mit angeben AWS KMS keys (-) um Ihre Daten zu verschlüsseln. DSSE KMS 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 KMS verschlüsselt gespeichert wurde, indem es den Antwort-Header zurückgibtx-amz-server-side-encryption. DSSE

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-aws-kms-key-id: SSEKMSKeyId

  • x-amz-server-side-encryption-context: SSEKMSEncryptionContext

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

Die folgenden REST API Operationen akzeptieren die Header x-amz-server-side-encryptionx-amz-server-side-encryption-aws-kms-key-id, und x-amz-server-side-encryption-context Request-Header.

  • 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 DSSE KMS -Header ü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 verwenden, um ein Objekt hochzuladen, geben Sie anstelle der Anforderungsheader dieselben Informationen in die Formularfelder ein.

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

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

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

  • Wenn Ihr Objekt DSSE - verwendetKMS, senden Sie keine Header für GET Verschlüsselungsanfragen für Anfragen und HEAD Anfragen, da Sie sonst die Fehlermeldung HTTP400 (Bad Request) erhalten.

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

Wenn Sie angebenx-amz-server-side-encryption:aws:kms:dsse, API unterstützt Amazon S3 einen Verschlüsselungskontext mit dem x-amz-server-side-encryption-context Header. 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; zum Beispielarn: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üsselungskontext finden Sie unter AWS Key Management Service Konzepte — Verschlüsselungskontext im AWS Key Management Service Leitfaden für Entwickler.

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 den 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 eine verwenden AWS KMS key Für die serverseitige Verschlüsselung in Amazon S3 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.

Wenn Sie ein neues Objekt hochladen oder ein vorhandenes Objekt kopieren, können Sie die Verwendung von DSSE - KMS zur Verschlüsselung Ihrer Daten angeben. Fügen Sie hierzu der Anforderung den Parameter --server-side-encryption aws:kms:dsse hinzu. Verwenden Sie den --ssekms-key-id example-key-id Parameter, um Ihren Kunden hinzuzufügen (verwaltet) AWS KMS Schlüssel, den Sie erstellt haben. Wenn Sie einen angeben--server-side-encryption aws:kms:dsse, aber nicht angeben AWS KMS Schlüssel-ID, dann verwendet Amazon S3 die AWS verwalteter 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 verschlüsseln, um es zu verwenden, KMS indem DSSE Sie das Objekt wieder an seinen ursprünglichen 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