Festlegen der serverseitigen Verschlüsselung mit AWS KMS-Schlüsseln (SSE-KMS) in Tabellen-Buckets - Amazon Simple Storage Service

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

Für alle Amazon S3-Tabellen-Buckets ist die Verschlüsselung standardmäßig konfiguriert und alle neuen Tabellen, die in einem Tabellen-Bucket erstellt 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 Tabellen-Bucket. Wenn Sie einen anderen Verschlüsselungstyp festlegen möchten, können Sie serverseitige Verschlüsselung (SSE) mit AWS Key Management Service (AWS KMS) Schlüsseln (SSE-KMS) verwenden.

Sie können die SSE-KMS-Verschlüsselung in Ihren CreateTableBucket- oder CreateTable-Anfragen angeben oder die Standardverschlüsselungskonfiguration im Tabellen-Bucket einer PutTableBucketEncryption-Anfrage festlegen.

Wichtig

Um die automatische Wartung von SSE-KMS-verschlüsselten Tabellen und Tabellen-Buckets zu ermöglichen, müssen Sie dem Service-Prinzipal maintenance.s3tables.amazonaws.com die Erlaubnis erteilen, Ihren KMS-Schlüssel zu verwenden. Weitere Informationen finden Sie unter Berechtigungsanforderungen für die SSE-KMS-Verschlüsselung von S3 Tables.

Verschlüsselung für Tabellen-Buckets angeben

Sie können SSE-KMS als Standardverschlüsselungstyp festlegen, wenn Sie einen neuen Tabellen-Bucket erstellen. Beispiele finden Sie unter Erstellen eines Tabellen-Buckets. Nach der Erstellung eines Tabellen-Buckets können Sie die Verwendung von SSE-KMS als Standardverschlüsselungseinstellung mithilfe von REST-API-Operationen, AWS SDKs und AWS Command Line Interface (AWS CLI) festlegen.

Anmerkung

Wenn Sie SSE-KMS als Standardverschlüsselungstyp angeben, muss der Schlüssel, den Sie für die Verschlüsselung verwenden, den Zugriff auf den S3 Tables-Maintenance-Service-Prinzipal ermöglichen. Wenn der Maintenance-Service-Prinzipal keinen Zugriff hat, können Sie in diesem Tabellen-Bucket keine Tabellen erstellen. Weitere Informationen finden Sie unter Gewähren von Berechtigungen für den S3 Tables-Maintenance-Service-Prinzipal an Ihrem KMS-Schlüssel .

Um den folgenden Beispiel–AWS CLIBefehl zu verwenden, ersetzen Sie bitte die Platzhalter für Benutzereingaben durch Ihre eigenen Informationen.

aws s3tables put-table-bucket-encryption \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket; \ --encryption-configuration '{ "sseAlgorithm": "aws:kms", "kmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }' \ --region us-east-1

Sie können die Standardverschlüsselungseinstellung für einen Tabellen-Bucket mithilfe des API-Vorgangs deleteTableBucketEncryption entfernen. Wenn Sie die Verschlüsselungseinstellungen entfernen, verwenden neue Tabellen, die im Tabellen-Bucket erstellt wurden, die standardmäßige SSE-S3-Verschlüsselung.

Verschlüsselung für Tabellen angeben

Sie können die SSE-KMS-Verschlüsselung auf eine neue Tabelle anwenden, wenn Sie diese mithilfe von Abfrage-Engines, REST-API-Operationen, AWS SDKs und AWS Command Line Interface (AWS CLI) erstellen. Die Verschlüsselungseinstellungen, die Sie beim Erstellen einer Tabelle angeben, haben Vorrang vor den Standardverschlüsselungseinstellungen des Tabellen-Buckets.

Anmerkung

Wenn Sie die SSE-KMS-Verschlüsselung für eine Tabelle verwenden, muss der Schlüssel, den Sie für die Verschlüsselung verwenden, dem S3 Tables-Maintenance-Service-Prinzipal den Zugriff darauf ermöglichen. Wenn der Maintenance-Service-Prinzipal keinen Zugriff hat, können Sie die Tabelle nicht erstellen. Weitere Informationen finden Sie unter Gewähren von Berechtigungen für den S3 Tables-Maintenance-Service-Prinzipal an Ihrem KMS-Schlüssel .

Erforderliche -Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um verschlüsselte Tabellen zu erstellen

  • s3tables:CreateTable

  • s3tables:PutTableEncryption

Im folgenden AWS CLI Beispiel wird eine neue Tabelle mit einem Basisschema erstellt und mit einem vom Kunden verwalteten AWS KMS Schlüssel verschlüsselt. Um den Befehl zu verwenden, ersetzen Sie den Platzhaltertext des Benutzers durch Ihre eigenen Informationen.

aws s3tables create-table \ --table-bucket-arn "arn:aws:s3tables:Region:ownerAccountId:bucket/amzn-s3-demo-table-bucket" \ --namespace "mydataset" \ --name "orders" \ --format "ICEBERG" \ --encryption-configuration '{ "sseAlgorithm": "aws:kms", "kmsKeyArn": "arn:aws:kms:Region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }' \ --metadata '{ "iceberg": { "schema": { "fields": [ { "name": "order_id", "type": "string", "required": true }, { "name": "order_date", "type": "timestamp", "required": true }, { "name": "total_amount", "type": "decimal(10,2)", "required": true } ] } } }'