Referenz zu Lake-Formation-Berechtigungen - 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.

Referenz zu Lake-Formation-Berechtigungen

Um - AWS Lake Formation Operationen auszuführen, benötigen Prinzipale sowohl Lake-Formation- AWS Identity and Access Management Berechtigungen als auch (IAM)-Berechtigungen. In der Regel erteilen Sie IAM-Berechtigungen mithilfe grober Zugriffskontrollrichtlinien, wie unter beschriebenÜberblick über die Genehmigungen für Lake Formation . Sie können Lake-Formation-Berechtigungen mithilfe der Konsole, der API oder der AWS Command Line Interface (AWS CLI) erteilen.

Informationen zum Erteilen oder Widerrufen von Lake-Formation-Berechtigungen finden Sie unter Erteilen und Widerrufen von Berechtigungen für Datenkatalogressourcen und Erteilung von Berechtigungen zum Speicherort von Daten.

Anmerkung

Die Beispiele in diesem Abschnitt zeigen, wie Sie Prinzipalen im selben AWS Konto Berechtigungen erteilen. Beispiele für kontoübergreifende Erteilungen finden Sie unter Kontoübergreifende Datenfreigabe in Lake Formation.

Lake-Formation-Berechtigungen pro Ressourcentyp

Im Folgenden sind die gültigen Lake-Formation-Berechtigungen aufgeführt, die für jeden Ressourcentyp verfügbar sind:

Ressource Berechtigung
Database ALL (Super)
ALTER
CREATE_TABLE
DESCRIBE
DROP
Table ALL (Super)
ALTER
DELETE
DESCRIBE
DROP
INSERT
SELECT
View ALL (Super)
SELECT
DESCRIBE
DROP
Data Catalog CREATE_DATABASE
Amazon S3 location DATA_LOCATION_ACCESS
LF-Tags DROP
ALTER
LF-Tag values ASSOCIATE
DESCRIBE
GrantWithLFTagExpression
LF-Tag policy - Database ALL (Super)
ALTER
CREATE_TABLE
DESCRIBE
DROP
LF-Tag policy - Table ALL (Super)
ALTER
DESCRIBE
DELETE
DROP
INSERT
SELECT
Resource link - Database or Table DESCRIBE
DROP
Table with data filters DESCRIBE
DROP
SELECT
Table with column filter SELECT

AWS CLI Befehle zum Erteilen und Widerrufen von Lake Formation

Jede Berechtigungsbeschreibung in diesem Abschnitt enthält Beispiele für die Erteilung der Berechtigung mithilfe eines - AWS CLI Befehls. Im Folgenden finden Sie die Synopsen der revoke-permissions AWS CLI Befehle grant-permissions und von Lake Formation.

grant-permissions [--catalog-id <value>] --principal <value> --resource <value> --permissions <value> [--permissions-with-grant-option <value>] [--cli-input-json <value>] [--generate-cli-skeleton <value>]
revoke-permissions [--catalog-id <value>] --principal <value> --resource <value> --permissions <value> [--permissions-with-grant-option <value>] [--cli-input-json <value>] [--generate-cli-skeleton <value>]

Detaillierte Beschreibungen dieser Befehle finden Sie unter Grant-Berechtigungen und revoke-permissions in der AWS CLI -Befehlsreferenz. Dieser Abschnitt enthält zusätzliche Informationen zur --principal Option .

Der Wert der --principal Option ist einer der folgenden:

  • Amazon-Ressourcenname (ARN) für einen AWS Identity and Access Management (IAM)-Benutzer oder eine Rolle

  • ARN für einen Benutzer oder eine Gruppe, der/die sich über einen SAML-Anbieter authentifiziert, z. B. Microsoft Active Directory Federation Service (AD FS)

  • ARN für einen Amazon- QuickSight Benutzer oder eine Amazon-Gruppe

  • Für kontoübergreifende Berechtigungen, eine AWS Konto-ID, eine Organisations-ID oder eine Organisationseinheiten-ID

Im Folgenden finden Sie Syntax und Beispiele für alle --principal Typen.

Prinzipal ist ein IAM-Benutzer

Syntax:

--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/<user-name>

Beispiel:

--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1
Prinzipal ist eine IAM-Rolle

Syntax:

--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:role/<role-name>

Beispiel:

--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/workflowrole
Prinzipal ist ein Benutzer, der sich über einen SAML-Anbieter authentifiziert

Syntax:

--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:saml-provider/<SAMLproviderName>:user/<user-name>

Beispiele:

--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/idp1:user/datalake_user1
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/AthenaLakeFormationOkta:user/athena-user@example.com
Prinzipal ist eine Gruppe, die sich über einen SAML-Anbieter authentifiziert

Syntax:

--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:saml-provider/<SAMLproviderName>:group/<group-name>

Beispiele:

--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/idp1:group/data-scientists
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/AthenaLakeFormationOkta:group/my-group
Prinzipal ist ein Amazon QuickSight Enterprise Edition-Benutzer

Syntax:

--principal DataLakePrincipalIdentifier=arn:aws:quicksight:<region>:<account-id>:user/<namespace>/<user-name>
Anmerkung

Für <namespace> müssen Sie angebendefault.

Beispiel:

--principal DataLakePrincipalIdentifier=arn:aws:quicksight:us-east-1:111122223333:user/default/bi_user1
Prinzipal ist eine Gruppe von Amazon QuickSight Enterprise Edition

Syntax:

--principal DataLakePrincipalIdentifier=arn:aws:quicksight:<region>:<account-id>:group/<namespace>/<group-name>
Anmerkung

Für <namespace> müssen Sie angebendefault.

Beispiel:

--principal DataLakePrincipalIdentifier=arn:aws:quicksight:us-east-1:111122223333:group/default/data_scientists
Prinzipal ist ein - AWS Konto

Syntax:

--principal DataLakePrincipalIdentifier=<account-id>

Beispiel:

--principal DataLakePrincipalIdentifier=111122223333
Prinzipal ist eine Organisation

Syntax:

--principal DataLakePrincipalIdentifier=arn:aws:organizations::<account-id>:organization/<organization-id>

Beispiel:

--principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl
Prinzipal ist eine Organisationseinheit

Syntax:

--principal DataLakePrincipalIdentifier=arn:aws:organizations::<account-id>:ou/<organization-id>/<organizational-unit-id>

Beispiel:

--principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:ou/o-abcdefghijkl/ou-ab00-cdefghij
Prinzipal ist ein IAM-Identity-Center-Identitätsbenutzer oder eine IAM-Identity-Center-Gruppe

Beispiel:Benutzer

--principal DataLakePrincipalIdentifier=arn:aws:identitystore:::user/<UserID>

Beispiel:Gruppe:

--principal DataLakePrincipalIdentifier=arn:aws:identitystore:::group/<GroupID>
Prinzipal ist eine IAM-Gruppe – IAMAllowedPrincipals

Lake Formation legt die Super Berechtigung für alle Datenbanken und Tabellen im Data Catalog IAMAllowedPrincipals standardmäßig auf eine Gruppe namens fest. Wenn diese Gruppenberechtigung für eine Datenbank oder eine Tabelle vorhanden ist, haben alle Prinzipale in Ihrem Konto über die IAM-Prinzipalrichtlinien für Zugriff auf die Ressource AWS Glue. Es bietet Abwärtskompatibilität, wenn Sie Lake-Formation-Berechtigungen zum Schutz der Data-Catalog-Ressourcen verwenden, die zuvor durch IAM-Richtlinien für geschützt waren AWS Glue.

Wenn Sie Lake Formation verwenden, um Berechtigungen für Ihre Data-Catalog-Ressourcen zu verwalten, müssen Sie zuerst die IAMAllowedPrincipals Berechtigung für die Ressourcen widerrufen oder die Prinzipale und Ressourcen für den Hybrid-Zugriffsmodus aktivieren, damit Lake-Formation-Berechtigungen funktionieren.

Beispiel:

--principal DataLakePrincipalIdentifier=IAM_Allowed_Principals
Prinzipal ist eine IAM-Gruppe – ALLIAMPrincipals

Wenn Sie Berechtigungen für die ALLIAMPrincipals Gruppierung einer Data-Catalog-Ressource erteilen, erhält jeder Prinzipal im Konto mithilfe von Lake-Formation-Berechtigungen und IAM-Berechtigungen Zugriff auf die Data-Catalog-Ressource.

Beispiel:

--principal DataLakePrincipalIdentifier=123456789012:IAMPrincipals

Lake-Formation-Berechtigungen

Dieser Abschnitt enthält die verfügbaren Lake-Formation-Berechtigungen, die Sie Prinzipalen erteilen können.

ALTER

Berechtigung Gewährt für diese Ressource Empfänger benötigt auch
ALTER DATABASE glue:UpdateDatabase
ALTER TABLE glue:UpdateTable
ALTER LF-Tag lakeformation:UpdateLFTag

Ein Prinzipal mit dieser Berechtigung kann Metadaten für eine Datenbank oder Tabelle im Data Catalog ändern. Für Tabellen können Sie das Spaltenschema ändern und Spaltenparameter hinzufügen. Sie können keine Spalten in den zugrunde liegenden Daten ändern, auf die eine Metadatentabelle verweist.

Wenn es sich bei der Eigenschaft, die geändert wird, um einen registrierten Amazon Simple Storage Service (Amazon S3)-Speicherort handelt, muss der Prinzipal über Datenspeicherortberechtigungen am neuen Speicherort verfügen.

Im folgenden Beispiel wird die -ALTERBerechtigung dem Benutzer datalake_user1 in der Datenbank retail im AWS Konto 1111-2222-3333 erteilt.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ALTER" --resource '{ "Database": {"Name":"retail"}}'

Das folgende Beispiel gewährt ALTER dem Benutzer datalake_user1 in der Tabelle inventory in der Datenbank retail.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ALTER" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

CREATE_DATABASE

Berechtigung Gewährt für diese Ressource Empfänger benötigt auch
CREATE_DATABASE Data Catalog glue:CreateDatabase

Ein Prinzipal mit dieser Berechtigung kann eine Metadatendatenbank oder einen Ressourcenlink im Data Catalog erstellen. Der Prinzipal kann auch Tabellen in der Datenbank erstellen.

Im folgenden Beispiel CREATE_DATABASE wird dem Benutzer datalake_user1 im AWS Konto 1111-2222-3333 gewährt.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_DATABASE" --resource '{ "Catalog": {}}'

Wenn ein Prinzipal eine Datenbank im Data Catalog erstellt, werden keine Berechtigungen für zugrunde liegende Daten erteilt. Die folgenden zusätzlichen Metadatenberechtigungen werden gewährt (zusammen mit der Möglichkeit, diese Berechtigungen anderen zu erteilen):

  • CREATE_TABLE in der Datenbank

  • ALTER-Datenbank

  • DROP-Datenbank

Beim Erstellen einer Datenbank kann der Prinzipal optional einen Amazon S3-Speicherort angeben. Je nachdem, ob der Prinzipal über Berechtigungen zum Datenspeicherort verfügt, reicht die CREATE_DATABASE Berechtigung möglicherweise nicht aus, um Datenbanken in allen Fällen zu erstellen. Beachten Sie unbedingt die folgenden drei Fälle.

Erstellen eines Datenbank-Anwendungsfalls Berechtigungen erforderlich
Die Standorteigenschaft ist nicht angegeben. CREATE_DATABASE ist ausreichend.
Die -Standorteigenschaft wird angegeben und der Standort wird nicht von Lake Formation verwaltet (ist nicht registriert). CREATE_DATABASE ist ausreichend.
Die -Standorteigenschaft wird angegeben und der Standort wird von Lake Formation verwaltet (ist registriert). CREATE_DATABASE ist erforderlich sowie Berechtigungen für den Datenspeicherort am angegebenen Speicherort.

CREATE_TABLE

Berechtigung Gewährt für diese Ressource Empfänger benötigt auch
CREATE_TABLE DATABASE glue:CreateTable

Ein Prinzipal mit dieser Berechtigung kann eine Metadatentabelle oder einen Ressourcenlink im Data Catalog innerhalb der angegebenen Datenbank erstellen.

Im folgenden Beispiel wird dem Benutzer die datalake_user1 Berechtigung zum Erstellen von Tabellen in der retail Datenbank im AWS Konto 1111-2222-3333 erteilt.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'

Wenn ein Prinzipal eine Tabelle im Data Catalog erstellt, werden dem Prinzipal alle Lake-Formation-Berechtigungen für die Tabelle gewährt, mit der Möglichkeit, diese Berechtigungen anderen zu erteilen.

Kontoübergreifende Erteilungen

Wenn ein Datenbankbesitzerkonto einem Empfängerkonto CREATE_TABLE gewährt und ein Benutzer im Empfängerkonto erfolgreich eine Tabelle in der Datenbank des Besitzerkontos erstellt, gelten die folgenden Regeln:

  • Die Benutzer- und Data-Lake-Administratoren im Empfängerkonto verfügen über alle Lake-Formation-Berechtigungen für die Tabelle. Sie können anderen Prinzipalen in ihrem Konto Berechtigungen für die Tabelle erteilen. Sie können Prinzipalen im Besitzerkonto oder anderen Konten keine Berechtigungen erteilen.

  • Data-Lake-Administratoren im Besitzerkonto können anderen Prinzipalen in ihrem Konto Berechtigungen für die Tabelle erteilen.

Berechtigungen für den Datenspeicherort

Wenn Sie versuchen, eine Tabelle zu erstellen, die auf einen Amazon S3-Speicherort verweist, reicht die CREATE_TABLE Berechtigung möglicherweise nicht aus, um eine Tabelle zu erstellen. Beachten Sie unbedingt die folgenden drei Fälle.

Erstellen eines Anwendungsfalls für Tabellen Berechtigungen erforderlich
Der angegebene Speicherort wird nicht von Lake Formation verwaltet (wird nicht registriert). CREATE_TABLE ist ausreichend.
Der angegebene Speicherort wird von Lake Formation verwaltet (ist registriert), und die enthaltende Datenbank hat keine Standorteigenschaft oder eine Standorteigenschaft, die kein Amazon S3-Präfix des Tabellenspeicherorts ist. CREATE_TABLE ist erforderlich plus Berechtigungen für den Datenspeicherort am angegebenen Speicherort.
Der angegebene Speicherort wird von Lake Formation verwaltet (ist registriert), und die enthaltende Datenbank hat eine Standorteigenschaft, die auf einen registrierten Speicherort verweist und ein Amazon S3-Präfix des Tabellenspeicherorts ist. CREATE_TABLE ist ausreichend.

DATA_LOCATION_ACCESS

Berechtigung Gewährt für diese Ressource Empfänger benötigt auch
DATA_LOCATION_ACCESS Amazon-S3-Speicherort (Amazon S3-Berechtigungen für den Standort, die von der Rolle angegeben werden müssen, die zur Registrierung des Standorts verwendet wurde.)

Dies ist die einzige Berechtigung für den Datenspeicherort. Ein Prinzipal mit dieser Berechtigung kann eine Metadatendatenbank oder -tabelle erstellen, die auf den angegebenen Amazon S3-Speicherort verweist. Der Speicherort muss registriert sein. Ein Prinzipal, der über Datenstandortberechtigungen an einem Speicherort verfügt, verfügt auch über Standortberechtigungen für untergeordnete Standorte.

Im folgenden Beispiel werden dem Benutzer datalake_user1 im AWS Konto 1111-2222-3333 Berechtigungen s3://products/retail für den Datenspeicherort für erteilt.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3:::products/retail"}}'

DATA_LOCATION_ACCESS ist nicht erforderlich, um zugrunde liegende Daten abzufragen oder zu aktualisieren. Diese Berechtigung gilt nur für das Erstellen von Data-Catalog-Ressourcen.

Weitere Informationen zu Berechtigungen für den Datenspeicherort finden Sie unter Underlying data access control.

DELETE

Berechtigung Gewährt für diese Ressource Empfänger benötigt auch
DELETE TABLE (Wenn der Standort registriert ist, sind keine zusätzlichen IAM-Berechtigungen erforderlich.)

Ein Prinzipal mit dieser Berechtigung kann zugrunde liegende Daten an dem in der Tabelle angegebenen Amazon S3-Speicherort löschen. Der Prinzipal kann die Tabelle auch in der Lake-Formation-Konsole anzeigen und Informationen über die Tabelle mit der AWS Glue API abrufen.

Im folgenden Beispiel wird dem Benutzer die -DELETEBerechtigung für datalake_user1 die Tabelle inventory in der Datenbank retail im AWS Konto 1111-2222-3333 erteilt.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DELETE" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

Diese Berechtigung gilt nur für Daten in Amazon S3 und nicht für Daten in anderen Datenspeichern wie Amazon Relational Database Service (Amazon RDS).

DESCRIBE

Berechtigung Gewährt für diese Ressource Empfänger benötigt auch
DESCRIBE

Tabellenressourcen-Link

Link zu Datenbankressourcen

glue:GetTable

glue:GetDatabase

DESCRIBE DATABASE glue:GetDatabase
DESCRIBE TABLE glue:GetTable
DESCRIBE LF-Tag

glue:GetTable

glue:GetDatabase

lakeformation:GetResourceLFTags

lakeformation:ListLFTags

lakeformation:GetLFTag

lakeformation:SearchTablesByLFTags

lakeformation:SearchDatabasesByLFTags

Ein Prinzipal mit dieser Berechtigung kann die angegebene Datenbank, Tabelle oder den angegebenen Ressourcenlink anzeigen. Es werden keine anderen Data-Catalog-Berechtigungen implizit erteilt, und es werden keine Datenzugriffsberechtigungen implizit gewährt. Datenbanken und Tabellen werden in den Abfrage-Editoren der integrierten Services angezeigt, aber es können keine Abfragen für sie gestellt werden, es sei denn, es werden andere Lake-Formation-Berechtigungen (z. B. SELECT) erteilt.

Beispielsweise kann ein Benutzer, der DESCRIBE in einer Datenbank hat, die Datenbank und alle Datenbankmetadaten (Beschreibung, Speicherort usw.) sehen. Der Benutzer kann jedoch nicht herausfinden, welche Tabellen die Datenbank enthält, und kann keine Tabellen in der Datenbank löschen, ändern oder erstellen. Ebenso kann ein Benutzer, der DESCRIBE in einer Tabelle hat, die Tabellen- und Tabellenmetadaten (Beschreibung, Schema, Speicherort usw.) sehen, aber keine Abfragen für die Tabelle löschen, ändern oder ausführen.

Im Folgenden finden Sie einige zusätzliche Regeln für DESCRIBE:

  • Wenn ein Benutzer über andere Lake-Formation-Berechtigungen für eine Datenbank, Tabelle oder einen Ressourcenlink verfügt, DESCRIBE wird implizit gewährt.

  • Wenn ein Benutzer SELECT nur für eine Teilmenge von Spalten für eine Tabelle hat (partialSELECT), ist der Benutzer darauf beschränkt, nur diese Spalten zu sehen.

  • Sie können nicht DESCRIBE einem Benutzer gewähren, der Teilauswahl für eine Tabelle hat. Umgekehrt können Sie keine Spaltenein- oder Ausschlusslisten für Tabellen angeben, denen gewährt DESCRIBE wird.

Im folgenden Beispiel wird dem Benutzer die -DESCRIBEBerechtigung datalake_user1 auf dem Tabellenressourcenlink inventory-link in der Datenbank retail im AWS Konto 1111-2222-3333 erteilt.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DESCRIBE" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory-link"}}'

DROP

Berechtigung Gewährt für diese Ressource Empfänger benötigt auch
DROP DATABASE glue:DeleteDatabase
DROP TABLE glue:DeleteTable
DROP LF-Tag lakeformation:DeleteLFTag
DROP

Link zu Datenbankressourcen

Tabellenressourcen-Link

glue:DeleteDatabase

glue:DeleteTable

Ein Prinzipal mit dieser Berechtigung kann einen Datenbank-, Tabellen- oder Ressourcenlink im Data Catalog löschen. Sie können DROP in einer Datenbank nicht einem externen Konto oder einer externen Organisation gewähren.

Warnung

Durch das Löschen einer Datenbank werden alle Tabellen in der Datenbank gelöscht.

Im folgenden Beispiel wird dem Benutzer in datalake_user1 der Datenbank retail im AWS Konto 1111-2222-3333 die DROP Berechtigung erteilt.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Database": {"Name":"retail"}}'

Das folgende Beispiel gewährt DROP dem Benutzer datalake_user1 in der Tabelle inventory in der Datenbank retail.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

Das folgende Beispiel gewährt DROP dem Benutzer datalake_user1 auf dem Tabellenressourcenlink inventory-link in der Datenbank retail.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory-link"}}'

INSERT

Berechtigung Gewährt für diese Ressource Empfänger benötigt auch
INSERT TABLE (Wenn der Standort registriert ist, sind keine zusätzlichen IAM-Berechtigungen erforderlich.)

Ein Prinzipal mit dieser Berechtigung kann zugrunde liegende Daten an dem in der Tabelle angegebenen Amazon S3-Speicherort einfügen, aktualisieren und lesen. Der Prinzipal kann die Tabelle auch in der Lake-Formation-Konsole anzeigen und Informationen über die Tabelle mit der AWS Glue API abrufen.

Im folgenden Beispiel wird dem Benutzer die datalake_user1-INSERTBerechtigung für die Tabelle inventory in der Datenbank retail im AWS Konto 1111-2222-3333 erteilt.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "INSERT" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

Diese Berechtigung gilt nur für Daten in Amazon S3 und nicht für Daten in anderen Datenspeichern wie Amazon RDS.

SELECT

Berechtigung Gewährt für diese Ressource Empfänger benötigt auch
SELECT
  • TABLE

(Wenn der Standort registriert ist, sind keine zusätzlichen IAM-Berechtigungen erforderlich.)

Ein Prinzipal mit dieser Berechtigung kann eine Tabelle im Data Catalog anzeigen und die zugrunde liegenden Daten in Amazon S3 an dem in der Tabelle angegebenen Speicherort abfragen. Der Prinzipal kann die Tabelle in der Lake-Formation-Konsole anzeigen und Informationen über die Tabelle mit der AWS Glue API abrufen. Wenn beim Erteilen dieser Berechtigung eine Spaltenfilterung angewendet wurde, kann der Prinzipal die Metadaten nur für die eingeschlossenen Spalten anzeigen und Daten nur aus den eingeschlossenen Spalten abfragen.

Anmerkung

Es liegt in der Verantwortung des integrierten Analyseservices, die Spaltenfilterung bei der Verarbeitung einer Abfrage anzuwenden.

Im folgenden Beispiel wird dem Benutzer die datalake_user1-SELECTBerechtigung für die Tabelle inventory in der Datenbank retail im AWS Konto 1111-2222-3333 erteilt.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

Diese Berechtigung gilt nur für Daten in Amazon S3 und nicht für Daten in anderen Datenspeichern wie Amazon RDS.

Sie können bestimmte Spalten mit einer optionalen Einschlussliste oder einer Ausschlussliste filtern (den Zugriff darauf einschränken). Eine Einschlussliste gibt die Spalten an, auf die zugegriffen werden kann. Eine Ausschlussliste gibt die Spalten an, auf die nicht zugegriffen werden kann. Wenn keine Ein- oder Ausschlussliste vorhanden ist, sind alle Tabellenspalten zugänglich.

Die Ergebnisse von geben nur die Spalten glue:GetTable zurück, für deren Anzeige der Aufrufer berechtigt ist. Integrierte Services wie Amazon Athena und Amazon Redshift berücksichtigen die Ein- und Ausschlusslisten von Spalten.

Im folgenden Beispiel SELECT wird dem Benutzer in datalake_user1 der Tabelle inventory mithilfe einer Einschlussliste gewährt.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "TableWithColumns": {"DatabaseName":"retail", "Name":"inventory", "ColumnNames": ["prodcode","location","period","withdrawals"]}}'

Im nächsten Beispiel SELECT wird die inventory Tabelle mithilfe einer Ausschlussliste gewährt.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "TableWithColumns": {"DatabaseName":"retail", "Name":"inventory", "ColumnWildcard": {"ExcludedColumnNames": ["intkey", "prodcode"]}}}'

Die folgenden Einschränkungen gelten für die SELECT Berechtigung:

  • Wenn Sie gewährenSELECT, können Sie die Gewährungsoption nicht einschließen, wenn eine Spaltenfilterung angewendet wird.

  • Sie können die Zugriffskontrolle für Spalten, die Partitionsschlüssel sind, nicht einschränken.

  • Einem Prinzipal mit der -SELECTBerechtigung für eine Teilmenge von Spalten in einer Tabelle kann die -ALTER, -DELETE, DROP- oder -INSERTBerechtigung für diese Tabelle nicht erteilt werden. Ebenso kann einem Prinzipal mit der ALTER-, -DELETE, DROP- oder -INSERTBerechtigung für eine Tabelle die -SELECTBerechtigung mit Spaltenfilterung nicht erteilt werden.

Die SELECT Berechtigung wird immer auf der Seite Datenberechtigungen der Lake-Formation-Konsole als separate Zeile angezeigt. Die folgende Abbildung zeigt, dass den Benutzern datalake_user2 und datalake_user3 allen Spalten in der inventory Tabelle gewährt SELECT wird.


            Auf der Seite Datenberechtigungen werden zwei Zeilen für den Benutzer datalake_user1 und das Tabelleninventar angezeigt. Die erste Zeile listet die Berechtigungen Löschen und Einfügen mit dem Ressourcentyp Tabelle auf und die zweite Zeile listet die Berechtigung Auswählen mit dem Ressourcentyp Spalte und mit der Ressource auf, die als retail.inventory.* angezeigt wird.

Super

Berechtigung Gewährt für diese Ressource Empfänger benötigt auch
Super DATABASE glue:*Database*
Super TABLE glue:*Table*, glue:*Partition*

Diese Berechtigung ermöglicht es einem Prinzipal, jeden unterstützten Lake-Formation-Vorgang für die Datenbank oder Tabelle auszuführen. Sie können Super einem externen Konto für eine Datenbank nicht gewähren.

Diese Berechtigung kann mit den anderen Lake-Formation-Berechtigungen zusammen existieren. Sie können beispielsweise die INSERT Berechtigungen Super, SELECTund für eine Metadatentabelle erteilen. Der Prinzipal kann dann alle unterstützten Operationen für die Tabelle ausführen. Wenn Sie widerrufenSuper, bleiben die INSERT Berechtigungen SELECT und erhalten und der Prinzipal kann nur Auswahl- und Einfügevorgänge ausführen.

Anstatt einem einzelnen Prinzipal Super zu gewähren, können Sie es der Gruppe gewährenIAMAllowedPrincipals. Die IAMAllowedPrincipals Gruppe wird automatisch erstellt und umfasst alle IAM-Benutzer und -Rollen, denen der Zugriff auf Ihre Data-Catalog-Ressourcen durch Ihre IAM-Richtlinien erlaubt ist. Wenn IAMAllowedPrincipals für eine Data-Catalog-Ressource gewährt Super wird, wird der Zugriff auf die Ressource effektiv ausschließlich durch IAM-Richtlinien gesteuert.

Sie können die Super Berechtigung haben, automatisch IAMAllowedPrincipals für neue Katalogressourcen gewährt zu werden, indem Sie die Optionen auf der Seite Einstellungen der Lake-Formation-Konsole nutzen.


            Das Dialogfeld Datenkatalogeinstellungen hat den Untertitel „Standardberechtigungen für neu erstellte Datenbanken und Tabellen“ und verfügt über zwei Kontrollkästchen, die im Text beschrieben werden.
  • Um IAMAllowedPrincipals für alle neuen Datenbanken Super zu gewähren, wählen Sie Nur IAM-Zugriffskontrolle für neue Datenbanken verwenden aus.

  • Um IAMAllowedPrincipals für alle neuen Tabellen in neuen Datenbanken Super zu gewähren, wählen Sie Nur IAM-Zugriffskontrolle für neue Tabellen in neuen Datenbanken verwenden aus.

    Anmerkung

    Diese Option bewirkt, dass das Kontrollkästchen Nur IAM-Zugriffskontrolle für neue Tabellen in dieser Datenbank verwenden im Dialogfeld Datenbank erstellen standardmäßig aktiviert ist. Es macht nichts weiter. Dies ist das Kontrollkästchen im Dialogfeld Datenbank erstellen, das die Erteilung von Super für ermöglichtIAMAllowedPrincipals.

Diese Einstellungsseitenoptionen sind standardmäßig aktiviert. Weitere Informationen finden Sie hier:

ASSOCIATE

Berechtigung Gewährt für diese Ressource Empfänger benötigt auch
ASSOCIATE LF-Tag

glue:GetDatabase

glue:GetTable

lakeformation:AddLFTagsToResource"

lakeformation:RemoveLFTagsFromResource"

lakeformation:GetResourceLFTags

lakeformation:ListLFTags

lakeformation:GetLFTag

lakeformation:SearchTablesByLFTags

lakeformation:SearchDatabasesByLFTags

Ein Prinzipal mit dieser Berechtigung für ein LF-Tag kann das LF-Tag einer Data-Catalog-Ressource zuweisen. ASSOCIATE Implizite Erteilung von DESCRIBE.

In diesem Beispiel wird dem Benutzer datalake_user1 die -ASSOCIATEBerechtigung für das LF-Tag mit dem Schlüssel erteiltmodule. Es gewährt Berechtigungen zum Anzeigen und Zuweisen aller Werte für diesen Schlüssel, wie durch das Sternchen (*) angezeigt.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'