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.
Im Folgenden ist der Arbeitsablauf für API-Operationen zur Anwendungsintegration dargestellt:
-
Ein Benutzer sendet eine Abfrage oder Datenanforderung mithilfe einer integrierten Abfrage-Engine eines Drittanbieters. Die Abfrage-Engine nimmt eine IAM-Rolle an, die den Benutzer oder eine Benutzergruppe repräsentiert, und ruft vertrauenswürdige Anmeldeinformationen ab, die beim Aufrufen der API-Operationen für die Anwendungsintegration verwendet werden.
-
Die Abfrage-Engine ruft auf
GetUnfilteredTableMetadata
, und wenn es sich um eine partitionierte Tabelle handelt, ruft die Abfrage-Engine auf,GetUnfilteredPartitionsMetadata
um Metadaten und Richtlinieninformationen aus dem Datenkatalog abzurufen. -
Lake Formation führt die Autorisierung für die Anfrage durch. Wenn der Benutzer nicht über die entsprechenden Berechtigungen für die Tabelle verfügt, AccessDeniedExceptionwird ausgelöst.
-
Als Teil der Anfrage sendet die Abfrage-Engine die Filterung, die sie unterstützt. Es gibt zwei Flags, die innerhalb eines Arrays gesendet werden können: COLUMN_PERMISSIONS und CELL_FILTER_PERMISSION. Wenn die Abfrage-Engine keine dieser Funktionen unterstützt und in der Tabelle für die Funktion eine Richtlinie vorhanden ist, wird a PermissionTypeMismatchExceptionausgelöst und die Abfrage schlägt fehl. Dies dient dazu, Datenlecks zu vermeiden.
-
Die zurückgegebene Antwort enthält Folgendes:
-
Das gesamte Schema für die Tabelle, sodass Abfrage-Engines es verwenden können, um die Daten aus dem Speicher zu analysieren.
-
Eine Liste der autorisierten Spalten, auf die der Benutzer Zugriff hat. Wenn die Liste der autorisierten Spalten leer ist, bedeutet dies, dass der Benutzer zwar über
DESCRIBE
Berechtigungen, aber nicht überSELECT
Berechtigungen verfügt, und die Abfrage schlägt fehl. -
Eine Flagge
IsRegisteredWithLakeFormation
, die angibt, ob Lake Formation Anmeldeinformationen für diese Ressourcendaten weitergeben kann. Wenn dies den Wert False zurückgibt, sollten die Anmeldeinformationen des Kunden für den Zugriff auf Amazon S3 verwendet werden. -
Eine Liste,
CellFilters
falls vorhanden, die auf Datenzeilen angewendet werden sollen. Diese Liste enthält Spalten und einen Ausdruck zur Auswertung jeder Zeile. Dies sollte nur aufgefüllt werden, wenn CELL_FILTER_PERMISSION als Teil der Anfrage gesendet wird und ein Datenfilter für die Tabelle für den aufrufenden Benutzer vorhanden ist.
-
-
Nachdem die Metadaten abgerufen wurden, ruft die Abfrage-Engine
GetTemporaryGlueTableCredentials
oderGetTemporaryGluePartitionCredentials
auf, um AWS Anmeldeinformationen zum Abrufen von Daten vom Amazon S3 S3-Standort abzurufen. -
Die Abfrage-Engine liest relevante Objekte aus Amazon S3, filtert die Daten auf der Grundlage der Richtlinien, die sie in Schritt 2 erhalten hat, und gibt die Ergebnisse an den Benutzer zurück.
Die API-Operationen zur Anwendungsintegration für Lake Formation enthalten zusätzliche Inhalte für die Konfiguration der Integration mit Abfrage-Engines von Drittanbietern. Die Einzelheiten zu den Vorgängen finden Sie im Abschnitt „Credential Vending API Operations“.