Verwendung der serverseitigen Verschlüsselung mit Schlüsseln (SSE-KMS) in Verzeichnis-Buckets AWS 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.

Verwendung der serverseitigen Verschlüsselung mit Schlüsseln (SSE-KMS) in Verzeichnis-Buckets AWS KMS

Die darin enthaltenen Sicherheitskontrollen AWS KMS können Ihnen dabei helfen, die Compliance-Anforderungen im Zusammenhang mit der Verschlüsselung zu erfüllen. Sie können Verzeichnis-Buckets so konfigurieren, dass sie serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-KMS) verwenden und diese KMS-Schlüssel verwenden, um Ihre Daten in Amazon S3-Verzeichnis-Buckets zu schützen. Weitere Informationen zu SSE-KMS finden Sie unter Verwenden der serverseitigen Verschlüsselung mit AWS KMS Schlüsseln (SSE-KMS).

Berechtigungen

Um ein mit Amazon S3 verschlüsseltes Objekt hoch- oder herunterzuladen, benötigen kms:GenerateDataKey Sie kms:Decrypt Berechtigungen für den Schlüssel. AWS KMS key Weitere Informationen finden Sie unter Schlüssel-Benutzern die Verwendung eines KMS-Schlüssels für kryptografische Operationen gestatten im Entwicklerhandbuch zu AWS Key Management Service . Informationen zu den AWS KMS Berechtigungen, die für mehrteilige Uploads erforderlich sind, finden Sie unter. API für mehrteilige Uploads und Berechtigungen

Weitere Informationen zu KMS-Schlüsseln für SSE-KMS finden Sie unter Angeben der serverseitigen Verschlüsselung mit AWS KMS -(SSE-KMS).

AWS KMS keys

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 SSE-KMS angegeben haben, können Sie den vom Kunden verwalteten Schlüssel für die SSE-KMS-Konfiguration des Buckets nicht mehr überschreiben.

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

  • Sie stellen eine HeadObject API-Operationsanforderung, 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 vom Kunden verwalteten Schlüssel in einen neuen Verzeichnis-Bucket zu kopieren.

Wenn Sie einen vom Kunden verwalteten AWS KMS -Schlüssel für die Verschlüsselung in Ihrem Verzeichnis-Bucket angeben, verwenden Sie nur die Schlüssel-ID oder den Schlüssel-ARN. Das Schlüsselaliasformat des KMS-Schlüssels wird nicht unterstützt.

Weitere Informationen zu KMS-Schlüsseln für SSE-KMS finden Sie unter AWS KMS keys.

Verwenden der SSE-KMS-Verschlüsselung für kontoübergreifende Vorgänge

Beachten Sie Folgendes, wenn Sie kontoübergreifende Operationen in Verzeichnis-Buckets verschlüsseln:

  • Wenn Sie kontoübergreifenden Zugriff auf Ihre S3-Objekte gewähren möchten, können Sie eine Richtlinie konfigurieren, die einen vom Kunden verwalteten Schlüssel vorsieht, um den Zugriff von einem anderen Konto aus zu ermöglichen.

  • Um einen vom Kunden verwalteten Schlüssel anzugeben, müssen Sie einen vollqualifizierten KMS-Schlüssel-ARN verwenden.

Amazon-S3-Bucket-Schlüssel

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 von Allzweck-Buckets zu Verzeichnis-Buckets, von Verzeichnis-Buckets zu Allzweck-Buckets oder zwischen Verzeichnis-Buckets über CopyObject, UploadPartCopy, die Copy-Operation in Batch Operations oder die import-Aufgaben kopieren. In diesem Fall ruft Amazon S3 AWS KMS jedes Mal, wenn eine Kopieranforderung für ein KMS-verschlüsseltes Objekt gestellt wird, auf.

Bei API-Vorgängen an zonalen Endpunkten (Objektebene) mit Ausnahme von und authentifizieren CopyObjectund UploadPartCopyautorisieren Sie Anfragen mit geringer Latenz. CreateSession 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. Um neue Objekte in einem Verzeichnis-Bucket mit SSE-KMS zu verschlüsseln, müssen Sie SSE-KMS als Standardverschlüsselungskonfiguration des Verzeichnis-Buckets mit einem KMS-Schlüssel (also einem vom Kunden verwalteten Schlüssel) angeben. Wenn dann eine Sitzung für API-Operationen an zonalen Endpunkten erstellt wird, werden neue Objekte während der Sitzung automatisch mit SSE-KMS- und S3-Bucket -Schlüsseln ver- und entschlüsselt. Weitere Informationen zum Verhalten, das die Verschlüsselung in Verzeichnis-Buckets außer Kraft setzt, finden Sie unter Serverseitige Verschlüsselung für Uploads neuer Objekte angeben. AWS KMS

S3-Bucket-Keys werden für einen begrenzten Zeitraum innerhalb von Amazon S3 verwendet, sodass Amazon S3 keine Anfragen mehr stellen muss, AWS KMS um Verschlüsselungsvorgänge abzuschließen. Weitere Informationen zur Verwendung von S3-Bucket-Schlüsseln finden Sie unter Amazon-S3-Bucket-Schlüssel und Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln.

SSE-KMS erforderlich

Um SSE-KMS für alle Objekte in einem bestimmten Verzeichnis-Bucket zu erzwingen, können Sie eine Bucket-Richtlinie verwenden. Wenn Sie beispielsweise die CreateSession-API-Operation verwenden, um die Berechtigung zum Hochladen eines neuen Objekts (PutObject, CopyObject undCreateMultipartUpload) zu erteilen, verweigert die folgende Bucket-Richtlinie jedem die Upload-Objektberechtigung (s3express:CreateSession), wenn die CreateSession-Anforderung keinen x-amz-server-side-encryption-aws-kms-key-id-Header enthält, der SSE-KMS anfordert.

{ "Version":"2012-10-17", "Id":"UploadObjectPolicy", "Statement":[{ "Sid":"DenyObjectsThatAreNotSSEKMS", "Effect":"Deny", "Principal":"*", "Action":"s3express:CreateSession", "Resource":"arn:aws:s3express:region:account-id:bucket/bucket-base-name--zone-id--x-s3/*", "Condition":{ "Null":{ "s3express:x-amz-server-side-encryption-aws-kms-key-id":"true" } } } ] }

Um zu verlangen, dass ein bestimmter AWS KMS key Schlüssel zum Verschlüsseln der Objekte in einem Bucket verwendet wird, können Sie den s3express:x-amz-server-side-encryption-aws-kms-key-id Bedingungsschlüssel verwenden. Um den KMS-Schlüssel anzugeben, müssen Sie einen Amazon Resource Name (ARN) -Schlüssel verwenden, der im folgenden arn:aws:kms:region:acct-id:key/key-id Format vorliegt. AWS Identity and Access Management überprüft nicht, ob die Zeichenfolge für s3express:x-amz-server-side-encryption-aws-kms-key-id existiert. Die AWS KMS Schlüssel-ID, die Amazon S3 für die Objektverschlüsselung verwendet, muss mit der AWS KMS Schlüssel-ID in der Richtlinie übereinstimmen, andernfalls lehnt Amazon S3 die Anfrage ab.

Weitere Informationen zum Verwenden von SSE-KMS für das Hochladen neuer Objekte finden Sie unter. Angeben der serverseitigen Verschlüsselung mit AWS KMS (SSE-KMS) für neue Objekt-Uploads in Verzeichnis-Buckets

Eine vollständige Liste spezifischer Bedingungsschlüssel für Verzeichnis-Buckets finden Sie unter Autorisieren regionaler Endpunkt-API-Operationen mit IAM.

Verschlüsselungskontext

Für Verzeichnis-Buckets ist ein Verschlüsselungskontext ein Satz von Schlüssel-Wert-Paaren, die kontextbezogene Informationen zu den Daten enthalten. Ein zusätzlicher Wert für den Verschlüsselungskontext wird nicht unterstützt. Weitere Informationen zum Thema Verschlüsselungskontext finden Sie unter Verschlüsselungskontext.

Wenn Sie SSE-KMS für einen Verzeichnis-Bucket verwenden, verwendet Amazon S3 standardmäßig den Bucket-ARN (Amazon-Ressourcenname) als Verschlüsselungskontextpaar:

arn:aws:s3express:region:account-id:bucket/bucket-base-name--zone-id--x-s3

Stellen Sie sicher, dass Ihre IAM-Richtlinien oder AWS KMS Schlüsselrichtlinien Ihren Bucket-ARN als Verschlüsselungskontext verwenden.

Sie können optional ein explizites Verschlüsselungskontextpaar angeben, indem Sie den x-amz-server-side-encryption-context Header in einer API-Anfrage für zonale Endpunkte verwenden, z. B. CreateSession Der Wert dieses Headers ist eine Base64-kodierte Zeichenfolge einer UTF-8-kodierten JSON-Datei, die den Verschlüsselungskontext als Schlüssel-Wert-Paare enthält. Für Verzeichnis-Buckets muss der Verschlüsselungskontext dem Standardverschlüsselungskontext entsprechen – dem Bucket-ARN (Amazon-Ressourcenname). Da der Verschlüsselungskontext nicht verschlüsselt ist, sollte er keine sensiblen Informationen enthalten.

Sie können den Verschlüsselungskontext verwenden, um Ihre kryptografischen Vorgänge zu identifizieren und zu kategorisieren. Sie können auch den ARN-Wert des standardmäßigen Verschlüsselungskontextes verwenden, um relevante Anfragen nachzuverfolgen, AWS CloudTrail indem Sie sich ansehen, welcher Verzeichnis-Bucket ARN mit welchem Verschlüsselungsschlüssel verwendet wurde.

Wenn Sie SSE-KMS im requestParameters Feld einer CloudTrail Protokolldatei für einen Verzeichnis-Bucket verwenden, ist der Verschlüsselungskontextwert der ARN des Buckets.

"encryptionContext": { "aws:s3express:arn": "arn:aws:s3:::arn:aws:s3express:region:account-id:bucket/bucket-base-name--zone-id--x-s3" }

Außerdem protokollieren Ihre AWS KMS CloudTrail Ereignisse bei der Objektverschlüsselung mit SSE-KMS in einem Verzeichnis-Bucket Ihren Bucket-ARN anstelle Ihres Objekt-ARN.

Senden von Anfragen für AWS KMS verschlüsselte Objekte

Auf Verzeichnis-Buckets kann nur über HTTPS (TLS) zugegriffen werden. Außerdem signieren Verzeichnis-Buckets Anfragen mithilfe von AWS Signature Version 4 (Sigv4). Weitere Hinweise zum Senden von Anfragen für AWS KMS verschlüsselte Objekte finden Sie unter. Senden von Anfragen für AWS KMS verschlüsselte Objekte

Wenn Ihr Objekt SSE-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.

Prüfen der SSE-KMS-Verschlüsselung in Verzeichnis-Buckets

Um die Verwendung Ihrer AWS KMS Schlüssel für Ihre SSE-KMS-verschlüsselten Daten zu überprüfen, können Sie Protokolle verwenden AWS CloudTrail . Sie können Einblick in Ihre kryptografischen Operationen wie und erhalten. GenerateDataKeyDecrypt CloudTrail unterstützt zahlreiche Attributwerte zum Filtern Ihrer Suche, einschließlich Ereignisname, Benutzername und Ereignisquelle.