View a markdown version of this page

Berechtigungsanforderungen für die SSE-KMS-Verschlüsselung von S3 Tables - 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.

Berechtigungsanforderungen für die SSE-KMS-Verschlüsselung von S3 Tables

Wenn Sie 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:GenerateDataKey

  • kms:Decrypt

Wichtig

Um SSE-KMS für Tabellen zu verwenden, benötigt der Amazon S3 Tables-Maintenance-Service-Prinzipal (maintenance.s3tables.amazonaws.com) die Berechtigungen kms:GenerateDataKey und kms:Decrypt für den Schlüssel.

Zusätzliche Berechtigungen

Diese zusätzlichen Berechtigungen sind je nach Anwendungsfall erforderlich:

  • Berechtigungen für AWS Analysedienste und Direktzugriff — Wenn Sie mit SSE-KMS-verschlüsselten Tabellen über AWS Analysedienste oder Engines von Drittanbietern arbeiten, die direkt auf S3-Tabellen zugreifen, benötigt die von Ihnen verwendete IAM-Rolle die Erlaubnis, Ihren KMS-Schlüssel zu verwenden.

  • Berechtigungen bei aktivierter Lake Formation — Wenn Sie sich AWS Lake Formation für die Zugriffskontrolle entschieden haben, benötigt die Lake Formation Formation-Dienstrolle die Erlaubnis, Ihren KMS-Schlüssel zu verwenden.

  • 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 Zulassen der Verwendung eines KMS-Schlüssels durch externe AWS Konten im AWS Key Management Service Service Developer Guide.

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. Um die Richtlinie zu verwenden, ersetzen Sie sie user input placeholders durch Ihre eigenen Informationen:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": "maintenance.s3tables.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn":"<table-or-table-bucket-arn>/*" } } } ] }

Erteilen von Berechtigungen für IAM-Prinzipale, mit verschlüsselten Tabellen in integrierten AWS Analysediensten zu arbeiten

Um mit S3-Tabellen in AWS Analysediensten zu arbeiten, integrieren Sie Ihre Tabellen-Buckets mit. AWS Glue Data Catalog Diese Integration ermöglicht es AWS Analysediensten, Tabellendaten automatisch zu erkennen und darauf zuzugreifen. Weitere Informationen zur Integration finden Sie unter Integration von Amazon S3 S3-Tabellen mit AWS Analysediensten.

Wenn Sie mit SSE-KMS-verschlüsselten Tabellen über AWS Analysedienste oder Drittanbieter- und Open-Source-Engines arbeiten, die direkt auf S3-Tabellen zugreifen, benötigt die von Ihnen verwendete IAM-Rolle die Erlaubnis, Ihren AWS KMS Schlüssel für Verschlüsselungsvorgänge zu verwenden.

Sie können den KMS-Schlüsselzugriff über eine Ihrer Rolle zugeordnete IAM-Richtlinie oder über eine KMS-Schlüsselrichtlinie gewähren.

IAM policy

Hängen Sie diese Inline-Richtlinie an die IAM-Rolle an, die Sie für Abfragen verwenden, um den Zugriff auf KMS-Schlüssel zu ermöglichen. Ersetzen Sie den KMS-Schlüssel ARN durch Ihren eigenen.

{ "Version":"2012-10-17",, "Statement": [ { "Sid": "AllowKMSKeyUsage", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }
KMS key policy

Sie können diese Anweisung auch an Ihre KMS-Schlüsselrichtlinie anhängen, damit die angegebene IAM-Rolle den Schlüssel verwenden kann. Ersetzen Sie den Rollen-ARN durch die IAM-Rolle, die Sie für Abfragen verwenden.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::<catalog-account-id>:role/<role-name>" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", ], "Resource": "*" }

Erteilen von Berechtigungen für IAM-Prinzipale zum Arbeiten mit verschlüsselten Tabellen, wenn Lake Formation aktiviert ist

Wenn Sie sich für die Zugriffskontrolle AWS Lake Formation für Ihre S3 Tables-Integration entschieden haben, benötigt die Lake Formation Formation-Dienstrolle die Erlaubnis, Ihren AWS KMS Schlüssel für Verschlüsselungsvorgänge zu verwenden. Lake Formation verwendet diese Rolle, um Anmeldeinformationen im Namen von Prinzipalen zu verkaufen, die auf Ihre Tabellen zugreifen.

Das folgende Beispiel für eine KMS-Schlüsselrichtlinie erteilt der Lake Formation Formation-Dienstrolle die Berechtigung, einen bestimmten KMS-Schlüssel in Ihrem Konto für Verschlüsselungsvorgänge zu verwenden. Ersetzen Sie die Platzhalterwerte durch Ihre eigenen.

{ "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-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. Um die Richtlinie zu verwenden, ersetzen Sie sie user input placeholders durch Ihre eigenen Informationen:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": [ "maintenance.s3tables.amazonaws.com", "metadata.s3.amazonaws.com" ] }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn":"<table-or-table-bucket-arn>/*" } } } ] }