View a markdown version of this page

Ändern Sie die Zugriffskontrolle von AWS Lake Formation zu IAM - AWS Lake Formation

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.

Ändern Sie die Zugriffskontrolle von AWS Lake Formation zu IAM

In diesem Abschnitt wird der Workflow zur Änderung der Zugriffskontrolle von AWS Lake Formation Zuweisungen zu IAM-Rechten für Amazon S3-Tabellen beschrieben, die in die AWS Glue Data Catalog integriert sind.

Wichtig

Wenn Sie die Zugriffskontrolle von AWS Lake Formation Grants auf IAM umstellen, wird der gesamte bestehende Lake Formation Formation-basierte Zugriff auf Ihre S3 Tables-Ressourcen aufgehoben. Nach Abschluss von Schritt 2 verlieren Benutzer und Rollen, die zuvor über Lake Formation Grants auf Daten zugegriffen haben, sofort den Zugriff. Sie müssen in Schritt 1 IAM-Zugriff gewähren, bevor Sie den Katalog aktualisieren können. Planen Sie diese Migration während eines Wartungsfensters und stimmen Sie sie mit Ihrem Datenteam ab.

Wichtig

Detaillierte Zugriffskontrollen, wie Zugriff auf Spaltenebene und Datenzellenfilter, mit Datenkatalogobjekten sind nur bei Verwendung verfügbar. AWS Lake Formation Bevor Sie mit der Migration der Zugriffskontrollen von AWS Lake Formation zu IAM fortfahren, überprüfen Sie Ihre bestehenden Lake Formation Formation-Grants anhand aws lakeformation list-permissions und stellen Sie fest, ob äquivalente IAM-Richtlinien den Zugriff bieten können, den Ihre Benutzer benötigen. Jeder Principal, der sich auf detaillierte Lake Formation Formation-Zuschüsse verlassen hat, benötigt nach der Migration der Zugriffskontrolle vollen IAM-Zugriff auf Tabellenebene.

Voraussetzungen

Bevor Sie beginnen, stellen Sie Folgendes sicher:

  • Sie haben alle Lake Formation Formation-Zuschüsse identifiziert, die derzeit für die zu migrierenden Ressourcen gelten. Laufaws lakeformation list-permissions --resource-type TABLE, um sie zu überprüfen.

  • Sie haben IAM-Richtlinien vorbereitet, die allen betroffenen Principals gleichwertigen Zugriff gewähren.

  • Die bei Lake Formation registrierte IAM-Rolle ist immer noch vorhanden lakeformation:GetDataAccess (während der hybriden Übergangsphase erforderlich).

Verwenden AWS CLI

  1. Schritt 1: Erteilen Sie den Prinzipalen IAM-Berechtigungen

    Ordnen Sie den Benutzern oder Rollen, die Zugriff benötigen, IAM-Richtlinien zu. Die Richtlinie muss sowohl AWS Glue Metadatenberechtigungen als auch Datenberechtigungen für S3-Tabellen enthalten.

    Anmerkung

    Die folgende Beispielrichtlinie bietet nur Lesezugriff.

    aws iam put-user-policy \ --user-name GlueIAMAccessUser \ --policy-name S3TablesIAMAccessPolicy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "GlueMetadataAccess", "Effect": "Allow", "Action": [ "glue:GetCatalog", "glue:GetDatabase", "glue:GetTable" ], "Resource": [ "arn:aws:glue:us-east-1:AWSAccountID:catalog/s3tablescatalog", "arn:aws:glue:us-east-1:AWSAccountID:database/s3tablescatalog/table-bucket-name/namespace", "arn:aws:glue:us-east-1:AWSAccountID:table/s3tablescatalog/table-bucket-name/namespace/*" ] }, { "Sid": "S3TablesDataAccess", "Effect": "Allow", "Action": [ "s3tables:GetTableBucket", "s3tables:GetTable", "s3tables:GetTableMetadataLocation", "s3tables:GetTableData" ], "Resource": [ "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/table-bucket-name", "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/table-bucket-name/table/*" ] } ] }'

    Stellen Sie sicher, dass alle betroffenen Benutzer und Rollen mit ihren IAM-Anmeldeinformationen auf die erwarteten Tabellen zugreifen können, bevor Sie fortfahren.

  2. Schritt 2: Aktualisieren Sie den Katalog, um die IAM-Standardberechtigungen wiederherzustellen

    Aktualisieren Sie den Katalog so CreateDatabaseDefaultPermissions und CreateTableDefaultPermissions gewähren ALL Sie ihmIAM_ALLOWED_PRINCIPALS. Auf einstellenOverwriteChildResourcePermissionsWithDefault, Accept damit die Änderung auf alle vorhandenen untergeordneten Ressourcen übertragen wird, nicht nur auf neu erstellte.

    aws glue update-catalog \ --catalog-id "s3tablescatalog" \ --catalog-input '{ "FederatedCatalog": { "Identifier": "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/*", "ConnectionName": "aws:s3tables" }, "CreateDatabaseDefaultPermissions": [{ "Principal": {"DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"}, "Permissions": ["ALL"] }], "CreateTableDefaultPermissions": [{ "Principal": {"DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS"}, "Permissions": ["ALL"] }], "OverwriteChildResourcePermissionsWithDefault": "Accept" }'
  3. Schritt 3: Die Ressource bei Lake Formation abmelden

    Sobald Sie bestätigt haben, dass der gesamte Zugriff über IAM-Richtlinien funktioniert und keine Principals von Lake Formation-Zuschüssen abhängig sind, können Sie die Ressource bei Lake Formation abmelden, um die Migration abzuschließen.

    aws lakeformation deregister-resource \ --resource-arn "arn:aws:s3tables:us-east-1:AWSAccountID:bucket/*"
    Anmerkung

    Nachdem Sie die Ressource deregistriert haben, entfernen Sie sie lakeformation:GetDataAccess aus den IAM-Prinzipalen, die sie nicht mehr benötigen.

Es ist kein Schritt erforderlich. revoke-permissions