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.
Ressourcenbasierte Richtlinien für S3 Tables
S3 Tables bietet ressourcenbasierte Richtlinien für die Verwaltung des Zugriffs auf Tabellen-Buckets und Tabellen: Tabellen-Bucket-Richtlinien und Tabellenrichtlinien. Sie können eine Tabellen-Bucket-Richtlinie verwenden, um API-Zugriffsberechtigungen auf Tabellen-Bucket-, Namespace- oder Tabellenebene zu erteilen. Die mit dem Tabellen-Bucket verknüpften Berechtigungen können je nach Richtliniendefinition für alle Tabellen im Bucket oder für bestimmte Tabellen im Bucket gelten. Sie können eine Tabellenrichtlinie verwenden, um Berechtigungen auf Tabellenebene zu erteilen.
Wenn S3 Tables eine Anforderung erhält, überprüft es zuerst, ob der Anforderer die erforderlichen Berechtigungen besitzt. Es wertet alle relevanten Zugriffsrichtlinien, Benutzerrichtlinien und ressourcenbasierten Richtlinien aus, um entscheiden zu können, ob die Anforderung autorisiert werden soll (IAM-Benutzerrichtlinie, IAM-Rollenrichtlinie, Table-Bucket-Richtlinie und Tabellenrichtlinie). Wenn beispielsweise eine Tabellen-Bucket-Richtlinie einem Benutzer Berechtigungen zur Ausführung aller Aktionen an den Tabellen im Bucket (einschließlich DeleteTable
) erteilt, für eine einzelne Tabelle jedoch eine Tabellenrichtlinie gilt, die die Aktion DeleteTable
für alle Benutzer verweigert, kann der Benutzer die Tabelle nicht löschen.
Das folgende Thema enthält Beispiele für Tabellen- und Tabellen-Bucket-Richtlinien. Wenn Sie diese Richtlinien verwenden möchten, ersetzen Sie die user input placeholders
durch Ihre Informationen.
Anmerkung
-
Jede Richtlinie, die Berechtigungen zum Ändern von Tabellen erteilt, sollte für
GetTableMetadataLocation
Zugriffsberechtigungen für die Root-Datei der Tabelle enthalten. Weitere Informationen finden Sie unterGetTableMetadataLocation
. -
Jedes Mal, wenn Sie eine Schreib- oder Löschaktivität für Ihre Tabelle ausführen, sollten Sie die entsprechenden Berechtigungen für
UpdateTableMetadataLocation
in Ihre Zugriffsrichtlinie einschließen. -
Wir empfehlen die Verwendung einer Tabellen-Bucket-Richtlinie zur Steuerung des Zugriffs auf Aktionen auf Bucket-Ebene und einer Tabellenrichtlinie zur Steuerung des Zugriffs auf Aktionen auf Tabellenebene. Falls Sie dieselben Berechtigungen für mehrere Tabellen definieren möchten, empfehlen wir die Verwendung einer Tabellen-Bucket-Richtlinie.
Beispiel 1: Die Tabellen-Bucket-Richtlinie erteilt Buckets in einem Konto den Zugriff auf PutBucketMaintenanceConfiguration
.
Das folgende Beispiel für eine Tabellen-Bucket-Richtlinie ermöglicht es der IAM-Rolle data steward
, nicht referenzierte Objekte für alle Buckets in einem Konto zu löschen, indem sie Zugriff auf PutBucketMaintenanceConfiguration
erhält.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account_id
:role/datasteward" }, "Action": ["s3tables:PutTableBucketMaintenanceConfiguration"], "Resource":"arn:aws:s3tables:region:account_id
:bucket/*" }] }
Beispiel 2: Tabellen-Bucket-Richtlinie, die Lesezugriff (SELECT) auf Tabellen ermöglicht, die im hr
Namespace gespeichert sind
Im Folgenden finden Sie ein Beispiel für eine Tabellen-Bucket-Richtlinie, die es Jane, einer Benutzerin von AWS-Konto ID, ermöglicht, 123456789012
auf Tabellen zuzugreifen, die im hr
Namespace in einem Tabellen-Bucket gespeichert sind.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Jane" }, "Action": [ "s3tables:GetTableData", "s3tables:GetTableMetadataLocation" ], "Resource": "arn:aws:s3tables:
region
:account_id
:bucket/amzn-s3-demo-table-bucket/table/*", "Condition": { "StringLike": {"s3tables:namespace": "hr"} } } ] }
Beispiel 3: Eine Tabellenrichtlinie, die es Benutzern ermöglicht, eine Tabelle zu löschen.
Das folgende Beispiel für eine Tabellenrichtlinie erteilt der IAM-Rolle data steward
die Berechtigung, eine Tabelle zu löschen.
{ "Version": "2012-10-17", "Id": "DeleteTable", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account_id
:role/datasteward
" }, "Action": [ "s3tables:DeleteTable", "s3tables:UpdateTableMetadataLocation", "s3tables:PutTableData", "s3tables:GetTableMetadataLocation" ], "Resource":"arn:aws:s3tables:region
:account_id
:bucket/amzn-s3-demo-bucket1
/table/tableUUID
" }] }