AWS Glue Data Catalog-Ansichten - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

AWS Glue Data Catalog-Ansichten

In diesem Thema wird beschrieben, wie Sie im AWS Glue Data Catalog Ansichten erstellen. Sie können Data-Catalog-Ansichten verwenden, um auf Daten in verschiedenen Datenquellen zuzugreifen, die dasselbe Schema verwenden.

Durch das Erstellen von Ansichten im Data Catalog können Sie ein einziges gemeinsames Ansichtsschema und ein Metadatenobjekt erstellen, das von Engines wie Amazon Athena und Amazon EMR Spark verwendet werden kann. Auf diese Weise können Sie in Ihren Data Lakes und Data Warehouses dieselben Ansichten verwenden, um Ihren Anwendungsfällen gerecht zu werden. Das Besondere an Ansichten im Datenkatalog ist die Tatsache, dass die Zugriffsberechtigungen durch den Benutzer definiert werden, der die Ansicht erstellt hat, und nicht durch den Benutzer, der die Ansicht abfragt. Im Folgenden sind einige Anwendungsfälle aufgeführt, für die das Erstellen von Ansichten im Datenkatalog von Vorteil sein kann:

  • Erstellen einer Ansicht, die den Datenzugriff auf der Grundlage der vom Benutzer benötigten Berechtigungen einschränkt. Mithilfe von Ansichten im Datenkatalog können Sie beispielsweise verhindern, dass Mitarbeiter, die nicht in der Personalabteilung arbeiten, persönlich identifizierbare Informationen (PII) sehen.

  • Sicherstellen, dass Benutzer nicht auf unvollständige Datensätze zugreifen können. Durch die Anwendung bestimmter Filter auf Ihre Ansicht im Datenkatalog stellen Sie sicher, dass die Datensätze darin immer vollständig sind.

  • Datenkatalog-Ansichten bieten auch einen Sicherheitsvorteil, da sie sicherstellen, dass die zur Erstellung der Ansicht verwendete Abfragedefinition vollständig sein muss, um die Ansicht zu erstellen. Dieser Sicherheitsvorteil bedeutet, dass Ansichten im Datenkatalog nicht anfällig für SQL-Befehle von böswilligen Angreifern sind.

  • Ansichten im Datenkatalog bieten dieselben Vorteile wie normale Ansichten, so ermöglichen sie beispielsweise Benutzern den Zugriff auf eine Ansicht, ohne den Benutzern die zugrunde liegende Tabelle zur Verfügung zu stellen.

Um eine Ansicht im Datenkatalog zu erstellen, benötigen Sie eine externe Spectrum-Tabelle, ein Objekt, das in einem von Lake Formation verwalteten Datashare enthalten ist, oder eine Apache-Iceberg-Tabelle.

Definitionen von Datenkatalog-Ansichten werden im AWS Glue Data Catalog gespeichert. Verwenden Sie AWS Lake Formation, um den Zugriff durch Ressourcengewährung, Spaltengewährung oder Tag-basierte Zugriffskontrollen zu gewähren. Weitere Informationen zum Gewähren und Widerrufen des Zugriffs in Lake Formation finden Sie unter Gewähren und Widerrufen von Berechtigungen für Datenkatalog-Ressourcen.

Wenn Sie Amazon Redshift für die Ausführung einer Abfrage verwenden, die auf solche AWS Glue Data Catalog-Ansichten verweist, maskiert Amazon Redshift automatisch Felder in bestimmten Systemtabellen und Ansichtsspalten, wenn Metadaten zu dieser Abfrage protokolliert werden. Weitere Informationen finden Sie unter Sichere Protokollierung im Managementleitfaden zu Amazon Redshift.

Voraussetzungen

Bevor Sie eine Ansicht im Datenkatalog erstellen können, müssen Sie sicherstellen, dass die folgenden Voraussetzungen erfüllt sind:

  • Stellen Sie sicher, dass für Ihre IAM-Rolle die folgende Vertrauensrichtlinie definiert ist.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com", "lakeformation.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  • Sie benötigen außerdem die folgende Richtlinie für die Rollenweitergabe.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "Stmt1", "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": [ "glue.amazonaws.com", "lakeformation.amazonaws.com" ] } } } ] }
  • Und schließlich benötigen Sie die folgenden Berechtigungen:

    • Glue:GetDatabase

    • Glue:GetDatabases

    • Glue:CreateTable

    • Glue:GetTable

    • Glue:UpdateTable

    • Glue:DeleteTable

    • Glue:GetTables

    • Glue:SearchTables

    • Glue:BatchGetPartition

    • Glue:GetPartitions

    • Glue:GetPartition

    • Glue:GetTableVersion

    • Glue:GetTableVersions

Umfassendes Beispiel

Erstellen Sie zunächst ein externes Schema, das auf Ihrer Datenkatalog-Datenbank basiert.

CREATE EXTERNAL SCHEMA IF NOT EXISTS external_schema FROM DATA CATALOG DATABASE 'external_data_catalog_db' IAM_ROLE 'arn:aws:iam::123456789012:role/sample-role';

Sie können jetzt eine Datenkatalog-Ansicht erstellen.

CREATE EXTERNAL PROTECTED VIEW external_schema.remote_view AS SELECT * FROM external_schema.remote_table;

Dann können Sie mit der Abfrage Ihrer Ansicht beginnen.

SELECT * FROM external_schema.remote_view;

Weitere Informationen zu den SQL-Befehlen für Ansichten im Datenkatalog finden Sie unter CREATE EXTERNAL VIEW, ALTER EXTERNAL VIEW und DROP EXTERNAL VIEW.

Überlegungen und Einschränkungen

Im Folgenden sind einige Überlegungen und Einschränkungen zu im Datenkatalog erstellten Ansichten aufgeführt.

  • AWS Glue Data Catalog-Ansichten werden nur in bereitgestellten RA3-Clustern oder Redshift-Serverless-Arbeitsgruppen unterstützt.

  • Sie können keine Datenkatalog-Ansicht erstellen, die auf einer anderen Ansicht basiert.

  • In einer Datenkatalog-Ansicht können Sie nur 10 Basistabellen haben.

  • Der Definierer der Ansicht muss über volle SELECT GRANTABLE-Berechtigungen für die Basistabellen verfügen.

  • Ansichten können nur Objekte und integrierte Elemente von Lake Formation enthalten. Die folgenden Objekte sind innerhalb einer Ansicht nicht zulässig.

    • Systemtabellen

    • Benutzerdefinierte Funktionen (User-defined functions, UDFs)

    • Redshift-Tabellen, Ansichten, materialisierte Ansichten und Late-Binding-Ansichten, die sich nicht in einem von Lake Formation verwalteten Datashare befinden.

  • Ansichten können keine verschachtelten Redshift-Spectrum-Tabellen enthalten.

  • AWS Glue-Repräsentationen der Basisobjekte einer Ansicht müssen sich in derselben AWS-Konto-Region wie die Ansicht befinden.