Zugriffsverwaltung für 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.

Zugriffsverwaltung für S3 Tables

In S3 Tables enthalten Ressourcen Tabellen-Buckets und die darin enthaltenen Tabellen. Der Root-Benutzer des Benutzers AWS-Konto , der die Ressource erstellt hat (der Ressourcenbesitzer), und AWS Identity and Access Management (IAM-) Benutzer innerhalb dieses Kontos, die über die erforderlichen Berechtigungen verfügen, können auf eine von ihnen erstellte Ressource zugreifen. Der Ressourceneigentümer legt fest, wer sonst noch auf die Ressource zugreifen kann und welche Aktionen diese Personen an der Ressource ausführen dürfen. Amazon S3 verfügt über verschiedene Tools zur Zugriffsverwaltung, mit denen Sie anderen Zugriff auf Ihre S3-Ressourcen gewähren können. Die folgenden Themen bieten Ihnen einen Überblick über Ressourcen, IAM-Aktionen und Bedingungsschlüssel für S3 Tables. Sie enthalten außerdem Beispiele für ressourcenbasierte und identitätsbasierte Richtlinien für S3 Tables.

Ressourcen

Ressourcen von S3 Tables enthalten Tabellen-Buckets und die darin enthaltenen Tabellen.

  • Tabellen-Buckets: Tabellen-Buckets wurden speziell für Tabellen entwickelt und bieten eine höhere TPS-Rate (Transaktionen pro Sekunde) und einen besseren Abfragedurchsatz als selbstverwaltete Tabellen in Allzweck-S3-Buckets. Tabellen-Buckets bieten dieselbe Beständigkeit, Verfügbarkeit, Skalierbarkeit und dieselben Leistungsmerkmale wie Allzweck-Buckets von Amazon S3.

  • Tabellen — Die Tabellen in Ihren Tabellen-Buckets werden gespeichert in Apache Iceberg . Sie können diese Tabellen mit Standard-SQL in Abfrage-Engines abfragen, die Folgendes unterstützen Iceberg.

Amazon-Ressourcennamen (ARNs) für Tabellen und Tabellen-Buckets enthalten den s3tables Namespace, die AWS-Region, die AWS-Konto ID und den Bucket-Namen. Um auf Ihre Tabellen und Tabellen-Bucket zuzugreifen und Aktionen an ihnen auszuführen, müssen Sie die folgenden ARN-Formate verwenden:

  • Tabellen-ARN-Format:

    arn:aws:s3tables:us-west-2:111122223333:bucket/amzn-s3-demo-bucket/table/demo-tableID

Aktionen für S3 Tables

In einer identitäts- oder ressourcenbasierten Richtlinie legen Sie fest, welche S3-Tables-Aktionen für spezifische IAM-Prinzipale zugelassen sind oder abgelehnt werden. Tables-Aktionen entsprechen API-Operationen auf Bucket- und Tabellenebene. Alle Aktionen sind Teil eines eindeutigen IAM-Namespace: s3tables.

Wenn Sie eine Aktion in einer Richtlinie verwenden, gestatten oder verweigern Sie in der Regel den Zugriff auf den API-Vorgang mit demselben Namen. Dabei kann es mitunter vorkommen, dass eine einzige Aktion den Zugriff auf mehr als eine API-Operation steuert. Aktionen des Typs s3tables:GetTableData umfassen beispielsweise Berechtigungen für die API-Operationen GetObject, ListParts und ListMultiparts.

Folgende Aktionen werden für Tabellen-Buckets unterstützt. Sie können die folgenden Aktionen im Action Element einer IAM-Richtlinie oder Ressourcenrichtlinie angeben.

Aktion Beschreibung Zugriffsebene Kontoübergreifender Zugriff
s3tables:CreateTableBucket Erteilt Berechtigungen zum Erstellen eines Tabellen-Buckets Write Nein
s3tables:GetTableBucket Erteilt die Berechtigung zum Aufrufen des ARNs eines Tabellen-Buckets, des Namens eines Tabellen-Buckets und seines Erstellungsdatums Write Ja
s3tables:ListTableBuckets Erteilt die Berechtigung zum Auflisten aller Tabellen-Buckets in diesem Konto Read Nein
s3tables:CreateNamespace Erteilt die Berechtigung zum Erstellen eines Namespace in einem Tabellen-Bucket Read Ja
s3tables:GetNamespace Erteilt die Berechtigung zum Abrufen von Namespace-Details Read Ja
s3tables:ListNamespaces Erteilt die Berechtigung zum Auflisten aller Namespaces im Tabellen-Bucket Read Ja
s3tables:DeleteNamespace Erteilt die Berechtigung zum Löschen eines Namespace in einem Tabellen-Bucket Write Ja
s3tables:DeleteTableBucket Erteilt die Berechtigung zum Löschen des Buckets Write Ja
s3tables:PutTableBucketPolicy Erteilt die Berechtigung zum Hinzufügen oder Ersetzen einer Bucket-Richtlinie Permissions Management Nein
s3tables:GetTableBucketPolicy Erteilt die Berechtigung zum Abrufen der Bucket-Richtlinie Read Nein
s3tables:DeleteTableBucketPolicy Erteilt die Berechtigung zum Löschen der Bucket-Richtlinie Permissions Management Nein
s3tables:GetTableBucketMaintenanceConfiguration Erteilt die Berechtigung zum Abrufen der Wartungskonfiguration für einen Tabellen-Bucket Read Ja
s3tables:PutTableBucketMaintenanceConfiguration Erteilt die Berechtigung zum Hinzufügen oder Ersetzen der Wartungskonfiguration für einen Tabellen-Bucket Write Ja
s3tables:PutTableBucketEncryption Erteilt die Berechtigung, die Verschlüsselungskonfiguration für einen Tabellen-Bucket hinzuzufügen oder zu ersetzen Write Nein
s3tables:GetTableBucketEncryption Erteilt die Berechtigung zum Abrufen der Verschlüsselungskonfiguration für einen Tabellen-Bucket Read Nein
s3tables:DeleteTableBucketEncryption Erteilt die Berechtigung zum Löschen der Verschlüsselungskonfiguration für einen Tabellen-Bucket Write Nein

Folgende Aktionen werden für Tabellen unterstützt:

Aktion Beschreibung Zugriffsebene Kontoübergreifender Zugriff
s3tables:GetTableMaintenanceConfiguration Erteilt die Berechtigung zum Abrufen der Wartungskonfiguration für eine Tabelle Read Ja
s3tables:PutTableMaintenanceConfiguration Erteilt die Berechtigung zum Hinzufügen oder Ersetzen der Wartungskonfiguration für eine Tabelle Write Ja
s3tables:PutTablePolicy Erteilt die Berechtigung zum Hinzufügen oder Ersetzen einer Tabellenrichtlinie Permissions Management Nein
s3tables:GetTablePolicy Erteilt die Berechtigung zum Abrufen der Tabellenrichtlinie Read Nein
s3tables:DeleteTablePolicy Erteilt die Berechtigung zum Löschen der Tabellenrichtlinie Permissions management Nein
s3tables:CreateTable Erteilt die Berechtigung zum Erstellen einer Tabelle in einem Tabellen-Bucket Write Ja
s3tables:GetTable Erteilt die Berechtigung zum Abrufen einer Tabelleninformation Read Ja
s3tables:GetTableMetadataLocation Erteilt die Berechtigung zum Abrufen des Tabellen-Root-Pointers (Metadatendatei) Read Ja
s3tables:ListTables Erteilt die Berechtigung zum Auflisten aller Tabellen in einem Tabellen-Bucket Read Ja
s3tables:RenameTable Erteilt Berechtigungen zum Ändern des Namens einer Tabelle Write Ja
s3tables:UpdateTableMetadataLocation Erteilt die Berechtigung zum Aktualisieren des Tabellen-Root-Pointers (Metadatendatei) Write Ja
s3tables:GetTableData Erteilt die Berechtigung zum Lesen der Tabellenmetadaten und Datenobjekte, die im Tabellen-Bucket gespeichert sind Read Ja
s3tables:PutTableData Erteilt die Berechtigung zum Schreiben der Tabellenmetadaten und Datenobjekte, die im Tabellen-Bucket gespeichert sind Write Ja
s3tables:GetTableEncryption Erteilt die Berechtigung zum Abrufen der Verschlüsselungseinstellungen für eine Tabelle Write Nein
s3tables:PutTableEncryption Erteilt die Berechtigung, einer Tabelle Verschlüsselung hinzuzufügen Write Nein

Um Lese- und Schreibaktionen auf Tabellenebene durchzuführen, unterstützt S3 Tables Amazon-S3-API-Operationen wie GetObject und PutObject. Die folgende Tabelle zeigt eine Liste von Aktionen auf Objektebene. Beim Erteilen von Lese- und Schreibberechtigungen für Ihre Tabellen verwenden Sie die folgenden Aktionen.

Aktion S3-Objekt APIs
s3tables:GetTableData GetObject, ListParts, HeadObject
s3tables:PutTableData PutObject, CreateMultipartUpload, CompleteMultipartUpload, UploadPart, AbortMultipartUpload

Wenn ein Benutzer beispielsweise über GetTableData-Berechtigungen verfügt, kann er alle mit der Tabelle verknüpften Dateien lesen, z. B. die Metadatendatei, das Manifest, die Manifest-Listendateien und die Parquet-Datendateien.

Bedingungsschlüssel für S3 Tables

S3 Tables unterstützen globale AWS -Bedingungskontextschlüssel.

Darüber hinaus definiert S3 Tables die folgenden Bedingungsschlüssel, die Sie in einer Zugriffsrichtlinie verwenden können.

Bedingungsschlüssel Beschreibung Typ
s3tables:tableName Filtert den Zugriff nach dem Namen der Tabellen im Tabellen-Bucket.

Sie können den s3tables:tableName Bedingungsschlüssel verwenden, um IAM- oder Tabellen-Bucket-Richtlinien zu schreiben, die den Benutzer- oder Anwendungszugriff nur auf die Tabellen beschränken, die diese Namensbedingung erfüllen.

Es ist wichtig zu beachten, dass sich Änderungen am Tabellennamen auf diese Richtlinien auswirken können, wenn Sie den Bedingungsschlüssel s3tables:tableName zur Zugriffskontrolle verwenden.

Beispielwert: "s3tables:tableName":"department*"
String
s3tables:namespace

Filtert den Zugriff nach den Namespaces, die im Tabellen-Bucket erstellt wurden.

Sie können den Bedingungsschlüssel s3tables:namespace verwenden, um IAM-, Tabellen- oder Tabellen-Bucket-Richtlinien zu schreiben, die den Benutzer- oder Anwendungszugriff auf Tabellen einschränken, die Teil eines bestimmten Namespace sind. Beispielwert: "s3tables:namespace":"hr"

Es ist wichtig zu beachten, dass sich Änderungen an Namespaces auf diese Richtlinien auswirken können, wenn Sie den Bedingungsschlüssel s3tables:namespace zur Zugriffskontrolle verwenden.

String
s3tables:SSEAlgorithm

Filtert den Zugriff nach dem serverseitigen Verschlüsselungsalgorithmus, der zum Verschlüsseln einer Tabelle verwendet wird.

Sie können den s3tables:SSEAlgorithm Bedingungsschlüssel verwenden, um IAM-, Tabellen- oder Tabellen-Bucket-Richtlinien zu schreiben, die den Benutzer- oder Anwendungszugriff auf Tabellen einschränken, die mit einem bestimmten Verschlüsselungstyp verschlüsselt sind. Beispielwert: "s3tables:SSEAlgorithm":"aws:kms"

Es ist wichtig zu beachten, dass, wenn Sie den s3tables:SSEAlgorithm Bedingungsschlüssel zur Zugriffskontrolle verwenden, Änderungen an der Verschlüsselung sich auf diese Richtlinien auswirken können.

String
s3tables:KMSKeyArn

Filtert den Zugriff nach dem AWS KMS Schlüssel ARN für den Schlüssel, der zum Verschlüsseln einer Tabelle verwendet wird

Sie können den s3tables:KMSKeyArn Bedingungsschlüssel verwenden, um IAM-, Tabellen- oder Tabellen-Bucket-Richtlinien zu schreiben, die den Benutzer- oder Anwendungszugriff auf Tabellen einschränken, die mit einem bestimmten KMS-Schlüssel verschlüsselt sind.

Beachten Sie bitte, dass sich eine Änderung Ihres KMS-Schlüssels auf diese Richtlinien auswirken kann, wenn Sie den s3tables:KMSKeyArn Bedingungsschlüssel zur Zugriffskontrolle verwenden.

ARN