Berechtigungsanforderungen für die SSE-KMS-Verschlüsselung von S3 Tables
Wenn Sie die serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS)-Schlüsseln (SSE-KMS) für Tabellen in S3-Tabellen-Buckets verwenden, müssen Sie Berechtigungen für verschiedene Identitäten in Ihrem Konto gewähren. Zumindest Ihre Zugriffsidentität und der Wartungsprinzipal für S3 Tables benötigen Zugriff auf Ihren Schlüssel. Die anderen erforderlichen Berechtigungen hängen von Ihrem Anwendungsfall ab.
- Erforderliche Berechtigungen
Um auf eine mit einem KMS-Schlüssel verschlüsselte Tabelle zuzugreifen, benötigen Sie die folgenden Berechtigungen für diesen Schlüssel:
kms:GenerateDataKeykms:Decrypt
Wichtig
Um SSE-KMS für Tabellen zu verwenden, benötigt der Amazon S3 Tables-Maintenance-Service-Prinzipal (
maintenance.s3tables.amazonaws.com) die Berechtigungenkms:GenerateDataKeyundkms:Decryptfür den Schlüssel.- Zusätzliche Berechtigungen
-
Diese zusätzlichen Berechtigungen sind je nach Anwendungsfall erforderlich:
Berechtigungen für die Integration von AWS-Analytikservices – Wenn Sie in AWS-Analytikservices mit SSE-KMS-verschlüsselten Tabellen arbeiten, benötigt Ihre Integrationsrolle die Berechtigung zur Verwendung Ihres KMS-Schlüssels.
Berechtigungen für direkten Zugriff – Wenn Sie direkt mit SSE-KMS-verschlüsselten Tabellen arbeiten, beispielsweise über den Amazon S3 Tables Iceberg REST-Endpunkt oder den Amazon S3 Tables Catalog für Apache Iceberg, müssen Sie der IAM-Rolle, die Ihr Client verwendet, Zugriff auf Ihren Schlüssel gewähren.
Berechtigungen für S3-Metadatentabellen – Wenn Sie SSE-KMS-Verschlüsselung für S3-Metadatentabellen verwenden, müssen Sie dem S3-Metadaten-Service-Prinzipal (
metadata.s3.amazonaws.com) Zugriff auf Ihren KMS-Schlüssel gewähren. Dadurch können S3-Metadaten verschlüsselte Tabellen aktualisieren, sodass sie Ihre neuesten Datenänderungen widerspiegeln.
Anmerkung
Für kontoübergreifende KMS-Schlüssel benötigt Ihre IAM-Rolle sowohl eine Schlüsselzugriffsberechtigung als auch eine ausdrückliche Autorisierung in der Schlüsselrichtlinie. Weitere Informationen zu kontoübergreifenden Berechtigungen für KMS-Schlüssel finden Sie unter Externen AWS-Konten die Verwendung eines KMS-Schlüssels gestatten im AWS Key Management Service-Service-Entwicklerhandbuch.
Themen
Gewähren von Berechtigungen für den S3 Tables-Maintenance-Service-Prinzipal an Ihrem KMS-Schlüssel
Diese Berechtigung ist erforderlich, um SSE-KMS-verschlüsselte Tabellen zu erstellen und die automatische Tabellenverwaltung wie Komprimierung, Snapshot-Verwaltung und Entfernung nicht referenzierter Dateien in den verschlüsselten Tabellen zu ermöglichen.
Anmerkung
Immer wenn Sie eine Anfrage zur Erstellung einer SSE-KMS-verschlüsselten Tabelle stellen, überprüft S3 Tables, ob der maintenance.s3tables.amazonaws.com Prinzipal Zugriff auf Ihren KMS-Schlüssel hat. Um diese Prüfung durchzuführen, wird vorübergehend ein Null-Byte-Objekt in Ihrem Tabellen-Bucket erstellt. Dieses Objekt wird automatisch durch die Wartungsoperationen zum Entfernen nicht referenzierter Dateien entfernt. Wenn der KMS-Schlüssel, den Sie für die Verschlüsselung angegeben haben, keinen Wartungszugriff hat, schlägt der CreateTable-Vorgang fehl.
Um Wartungszugriff auf SSE-KMS-verschlüsselte Tabellen zu gewähren, können Sie die folgende Beispielschlüsselrichtlinie verwenden. In dieser Richtlinie wird dem maintenance.s3tables.amazonaws.com Service-Prinzipal die Berechtigung erteilt, einen bestimmten KMS-Schlüssel zum Verschlüsseln und Entschlüsseln von Tabellen in einem bestimmten Tabellen-Bucket zu verwenden. Wenn Sie die Richtlinien verwenden möchten, ersetzen Sie die Platzhalter für Benutzereingaben durch Ihre Informationen.
Gewähren von Berechtigungen für IAM-Prinzipale zur Arbeit mit verschlüsselten Tabellen in integrierten AWS-Analytikservices
Um mit S3-Tabellen in AWS-Analytikservices zu arbeiten, integrieren Sie Ihre Tabelle-Bucket in Amazon SageMaker Lakehouse. Diese Integration ermöglicht es AWS-Analytikservices, Tabellendaten automatisch zu erkennen und darauf zuzugreifen. Weitere Informationen zur Integration finden Sie unter Integrieren von Amazon S3 Tables mit AWS-Analytikservices.
Wenn Sie in diesen Diensten mit SSE-KMS-verschlüsselten Tabellen arbeiten, muss die von Ihnen verwendete Rolle über die Berechtigung verfügen, Ihren AWS KMS-Schlüssel für Verschlüsselungsvorgänge zu verwenden. Sie können diese Berechtigungen auf die S3TablesRoleForLakeFormation Rolle anwenden, die während der Integration erstellt wurde, oder auf Ihre eigene IAM-Rolle.
Das folgende Beispiel für eine Inline-IAM-Richtlinie kann verwendet werden, um der S3TablesRoleForLakeFormation Servicerolle die Berechtigung zu erteilen, einen bestimmten KMS-Schlüssel in Ihrem Konto für Verschlüsselungsvorgänge zu verwenden. Um die Richtlinie zu verwenden, ersetzen Sie bitte die Platzhalterwerte in den Eingaben durch Ihre eigenen Werte.
{ "Sid": "AllowTableRoleAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/service-role/S3TablesRoleForLakeFormation" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "<kms-key-arn>" }
Gewähren von Berechtigungen für IAM-Prinzipalen, direkt mit verschlüsselten Tabellen zu arbeiten
Wenn Sie mit verschlüsselten Tabellen arbeiten, die Methoden von Drittanbietern oder Direktzugriff verwenden, müssen Sie der Rolle, die Sie verwenden, Zugriff auf Ihren KMS-Schlüssel gewähren. Die folgenden Beispiele zeigen, wie Sie Zugriff über eine IAM-Richtlinie oder eine KMS-Schlüsselrichtlinie gewähren.
Gewähren von Berechtigungen für IAM-Prinzipale zur Arbeit mit verschlüsselten Tabellen in integrierten AWS-Analytik-Services
Damit Amazon S3 mit SSE-KMS verschlüsselte Metadatentabellen aktualisieren und Wartungsarbeiten an diesen Metadatentabellen durchführen kann, können Sie die folgende Beispielschlüsselrichtlinie verwenden. In dieser Richtlinie gestatten Sie den Service-Prinzipalen metadata.s3.amazonaws.com und den maintenance.s3tables.amazonaws.com, Tabellen in einem bestimmten Tabellen-Bucket mithilfe eines bestimmten Schlüssels zu verschlüsseln und zu entschlüsseln. Wenn Sie die Richtlinien verwenden möchten, ersetzen Sie die Platzhalter für Benutzereingaben durch Ihre Informationen.