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.
Verwenden Sie serverseitige Verschlüsselung mit AWS KMS keys (SSE-KMS) in Verzeichnis-Buckets
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) keys (SSE-KMS) verwenden und diese KMS-Schlüssel verwenden, um Ihre Daten in Amazon S3-Verzeichnis-Buckets zu schützen. Weitere Informationen SSE-KMS zu finden Sie unter. Verwenden der serverseitigen Verschlüsselung mit AWS KMS Schlüssel () SSE-KMS
Berechtigungen
Um ein mit Amazon S3 verschlüsseltes Objekt hoch- oder von Amazon S3 hoch kms:GenerateDataKey - oder herunterzuladen, benötigen 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 finden Sie SSE-KMS unter. Geben Sie die serverseitige Verschlüsselung an 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. Außerdem können Sie, nachdem Sie einen vom Kunden verwalteten Schlüssel für angegeben haben SSE-KMS, den vom Kunden verwalteten Schlüssel für die SSE-KMS Konfiguration des Buckets nicht ü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
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.
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 unterAWS KMS keys.
Wird SSE-KMS für kontoübergreifende Operationen verwendet
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 aus Allzweck-Buckets in Verzeichnis-Buckets, von Verzeichnis-Buckets in Allzweck-Buckets oder zwischen Verzeichnis-Buckets durch,, CopyObjectUploadPartCopy, den Copy Vorgang in Batch Operations oder die Jobs kopieren. import In diesem Fall ruft Amazon S3 AWS KMS jedes Mal, wenn eine Kopieranforderung für ein KMS-encrypted Objekt gestellt wird, auf.
Bei API-Vorgängen an zonalen Endpunkten (Objektebene) mit Ausnahme von CopyObjectund UploadPartCopyauthentifizieren und autorisieren 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 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. Wenn dann eine Sitzung für API-Operationen an 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 beim Überschreiben der Verschlüsselung in Verzeichnis-Buckets finden Sie unter Serverseitige Verschlüsselung mit AWS KMS für Uploads neuer Objekte angeben.
S3-Bucket-Keys werden für einen begrenzten Zeitraum in 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 Senkung der Kosten SSE-KMS mit Amazon S3 Bucket Keys.
Erforderlich SSE-KMS
Um alle SSE-KMS Objekte in einem bestimmten Verzeichnis-Bucket abzufragen, können Sie eine Bucket-Richtlinie verwenden. Wenn Sie beispielsweise den CreateSession API-Vorgang verwenden, um die Erlaubnis zum Hochladen eines neuen Objekts (PutObject, undCreateMultipartUpload) zu erteilenCopyObject, verweigert die folgende Bucket-Richtlinie allen Benutzern die Berechtigung zum Hochladen von Objekten (s3express:CreateSession), wenn die CreateSession Anfrage keinen x-amz-server-side-encryption-aws-kms-key-id Header enthält, der die Anfrage SSE-KMS stellt.
Um zu verlangen, dass ein bestimmter AWS KMS key Code 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 Schlüssel mit dem folgenden arn:aws:kms: Format verwenden: Amazon Resource Name (ARN). AWS Identity and Access Management überprüft nicht, ob die Zeichenfolge für region:acct-id:key/key-ids3express: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 SSE-KMS zur Verwendung beim Hochladen neuer Objekte finden Sie unter. Geben Sie die serverseitige Verschlüsselung an mit AWS KMS (SSE-KMS) für das Hochladen neuer Objekte 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 in einem Verzeichnis-Bucket verwenden SSE-KMS , verwendet Amazon S3 standardmäßig den Bucket Amazon Resource Name (ARN) als Verschlüsselungskontext-Paar:
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-encoded Zeichenfolge eines UTF-8 codierten JSON-Codes, der 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 im requestParameters Feld einer CloudTrail Protokolldatei in einem Verzeichnis-Bucket verwenden SSE-KMS , 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 SSE-KMS der Objektverschlüsselung 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 verwendet SSE-KMS, senden Sie keine Header für GET Verschlüsselungsanfragen für Anfragen und HEAD Anfragen. Andernfalls erhalten Sie den Fehler HTTP 400 Bad Request.
Überprüfung 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 AWS CloudTrail Protokolle verwenden. Sie können Einblick in Ihre kryptografischen Operationen wie GenerateDataKeyund Decrypterhalten. CloudTrail unterstützt zahlreiche Attributwerte zum Filtern Ihrer Suche, einschließlich Ereignisname, Benutzername und Ereignisquelle.