AWS Glue Data Catalog Ansichten - Amazon Redshift

Amazon Redshift wird UDFs ab dem 1. November 2025 die Erstellung von neuem Python nicht mehr unterstützen. Wenn Sie Python verwenden möchten UDFs, erstellen Sie das UDFs vor diesem Datum liegende. Bestehendes Python UDFs wird weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie im Blogbeitrag.

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.

AWS Glue Data Catalog Ansichten

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

Durch das Erstellen von Ansichten im Datenkatalog können Sie ein einziges gemeinsames Ansichtsschema und ein Metadatenobjekt erstellen, das für 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. Wird verwendet AWS Lake Formation , um Zugriff über Ressourcenzuweisungen, Spaltenzuweisungen 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 verwenden, um eine Abfrage auszuführen, die AWS Glue Data Catalog auf solche 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 Amazon Redshift Management Guide.

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

End-to-end 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 auf RA3 bereitgestellten 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 () 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.