Referenz zu den Genehmigungen von Lake Formation - 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 den Genehmigungen von Lake Formation

Zur Ausführung von AWS Lake Formation Vorgängen benötigen Principals sowohl Lake Formation Formation-Berechtigungen als auch AWS Identity and Access Management (IAM) -Berechtigungen. In der Regel gewähren Sie IAM-Berechtigungen mithilfe von groben Zugriffskontrollrichtlinien, wie unter beschrieben. Überblick über die Genehmigungen für Lake Formation Sie können Lake Formation Formation-Berechtigungen mithilfe der Konsole, der API oder der AWS Command Line Interface (AWS CLI) gewähren.

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

Anmerkung

Die Beispiele in diesem Abschnitt zeigen, wie Prinzipalen im selben AWS Konto Berechtigungen erteilt werden. Beispiele für kontenübergreifende Zuschüsse finden Sie unter. Kontoübergreifender Datenaustausch in Lake Formation

Lake Formation Formation-Berechtigungen pro Ressourcentyp

Im Folgenden sind die gültigen Lake Formation 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

Lake Formation erteilt und widerruft AWS CLI Befehle

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

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>]

Eine ausführliche Beschreibung dieser Befehle finden Sie unter grant-permissions und revoke-permissions in der Befehlsreferenz.AWS CLI Dieser Abschnitt enthält zusätzliche Informationen zu dieser Option. --principal

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, die sich über einen SAML-Anbieter wie Microsoft Active Directory Federation Service (AD FS) authentifiziert

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

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

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

Principal 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
Principal ist eine IAM-Rolle

Syntax:

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

Beispiel:

--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/workflowrole
Principal 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
Principal 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
Principal ist ein Benutzer der Amazon QuickSight Enterprise Edition

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
Principal ist eine Amazon QuickSight Enterprise Edition-Gruppe

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
Principal ist ein AWS Konto

Syntax:

--principal DataLakePrincipalIdentifier=<account-id>

Beispiel:

--principal DataLakePrincipalIdentifier=111122223333
Principal ist eine Organisation

Syntax:

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

Beispiel:

--principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl
Principal 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
Principal ist ein IAM Identity Center-Identitätsbenutzer oder eine IAM Identity Center-Identitätsgruppe

Beispiel: Benutzer

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

Beispiel: Gruppe:

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

Lake Formation legt einer Gruppe, die IAMAllowedPrincipals standardmäßig aufgerufen wird, Super Berechtigungen für alle Datenbanken und Tabellen im Datenkatalog fest. Wenn diese Gruppenberechtigung für eine Datenbank oder eine Tabelle existiert, 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 beginnen, Lake Formation Formation-Berechtigungen zu verwenden, um die Datenkatalogressourcen zu sichern, für die zuvor durch IAM-Richtlinien 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 Berechtigungen für die Ressourcen widerrufen oder die Principals und die Ressourcen für den Hybridzugriffsmodus aktivieren, damit die Lake Formation Formation-Berechtigungen funktionieren.

Beispiel:

--principal DataLakePrincipalIdentifier=IAM_Allowed_Principals
Principal ist eine IAM-Gruppe - ALLIAMPrincipals

Wenn Sie ALLIAMPrincipals Gruppenberechtigungen für eine Datenkatalogressource gewähren, erhält jeder Prinzipal im Konto mithilfe von Lake Formation Formation-Berechtigungen und IAM-Berechtigungen Zugriff auf die Datenkatalogressource.

Beispiel:

--principal DataLakePrincipalIdentifier=123456789012:IAMPrincipals

Genehmigungen für Lake Formation

Dieser Abschnitt enthält die verfügbaren Lake Formation Formation-Berechtigungen, die Sie Principals gewähren können.

ALTER

Berechtigung Für diese Ressource gewährt Der Stipendiat braucht auch
ALTER DATABASE glue:UpdateDatabase
ALTER TABLE glue:UpdateTable
ALTER LF-Tag lakeformation:UpdateLFTag

Ein Principal mit dieser Berechtigung kann Metadaten für eine Datenbank oder Tabelle im Datenkatalog ändern. Bei 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) -Standort handelt, muss der Principal über Datenstandortberechtigungen für den neuen Standort verfügen.

Im folgenden Beispiel wird dem Benutzer die ALTER Berechtigung für die Datenbank datalake_user1 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 erteilt einem Benutzer Zugriff datalake_user1 auf ALTER die Tabelle in der Datenbank. inventory 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 Für diese Ressource gewährt Der Stipendiat braucht auch
CREATE_DATABASE Data Catalog glue:CreateDatabase

Ein Principal mit dieser Berechtigung kann eine Metadatendatenbank oder einen Ressourcenlink im Datenkatalog erstellen. Der Principal kann auch Tabellen in der Datenbank erstellen.

Das folgende Beispiel gewährt dem Benutzer CREATE_DATABASE das AWS Konto datalake_user1 1111-2222-3333.

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

Wenn ein Principal eine Datenbank im Datenkatalog erstellt, werden keine Berechtigungen für die zugrunde liegenden Daten gewährt. Die folgenden zusätzlichen Metadatenberechtigungen werden gewährt (zusammen mit der Möglichkeit, diese Berechtigungen anderen zu gewähren):

  • CREATE_TABLEin der Datenbank

  • ALTER-Datenbank

  • DROP-Datenbank

Beim Erstellen einer Datenbank kann der Principal optional einen Amazon S3 S3-Standort angeben. Je nachdem, ob der Prinzipal über Datenspeicherberechtigungen verfügt, reicht die CREATE_DATABASE Berechtigung möglicherweise nicht in allen Fällen aus, um Datenbanken zu erstellen. Es ist wichtig, die folgenden drei Fälle zu berücksichtigen.

Erstellen Sie einen Datenbank-Anwendungsfall Berechtigungen erforderlich
Die Standorteigenschaft ist nicht spezifiziert. CREATE_DATABASEist ausreichend.
Die Standorteigenschaft ist angegeben, und der Standort wird nicht von Lake Formation verwaltet (ist nicht registriert). CREATE_DATABASEist ausreichend.
Die Standorteigenschaft ist angegeben, und der Standort wird von Lake Formation verwaltet (ist registriert). CREATE_DATABASEist erforderlich, zuzüglich der Berechtigungen für den Datenspeicherort für den angegebenen Standort.

CREATE_TABLE

Berechtigung Für diese Ressource gewährt Der Stipendiat braucht auch
CREATE_TABLE DATABASE glue:CreateTable

Ein Principal mit dieser Berechtigung kann eine Metadatentabelle oder einen Ressourcenlink im Datenkatalog innerhalb der angegebenen Datenbank erstellen.

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

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

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

Kontoübergreifende Zuschüsse

Wenn ein Datenbankeigentümerkonto einem Empfängerkonto Zuschüsse gewährt CREATE_TABLE und ein Benutzer des Empfängerkontos erfolgreich eine Tabelle in der Datenbank des Besitzerkontos erstellt, gelten die folgenden Regeln:

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

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

Berechtigungen zum Speicherort von Daten

Wenn Sie versuchen, eine Tabelle zu erstellen, die auf einen Amazon S3 S3-Standort verweist, reicht die CREATE_TABLE Berechtigung möglicherweise nicht aus, um eine Tabelle zu erstellen, je nachdem, ob Sie über Datenstandortberechtigungen verfügen. Es ist wichtig, die folgenden drei Fälle zu berücksichtigen.

Erstellen Sie einen Anwendungsfall für Tabellen Berechtigungen erforderlich
Der angegebene Standort wird nicht von Lake Formation verwaltet (ist nicht registriert). CREATE_TABLEist ausreichend.
Der angegebene Standort wird von Lake Formation verwaltet (ist registriert), und die enthaltende Datenbank hat keine Standorteigenschaft oder eine Standorteigenschaft, die kein Amazon S3 S3-Präfix des Tabellenstandorts ist. CREATE_TABLEist erforderlich plus Datenspeicherberechtigungen für den angegebenen Standort.
Der angegebene Standort wird von Lake Formation verwaltet (ist registriert), und die enthaltende Datenbank hat eine Standorteigenschaft, die auf einen registrierten Standort verweist und ein Amazon S3 S3-Präfix des Tabellenstandorts ist. CREATE_TABLEist ausreichend.

DATA_LOCATION_ACCESS

Berechtigung Auf dieser Ressource gewährt Der Stipendiat braucht auch
DATA_LOCATION_ACCESS Amazon-S3-Speicherort (Amazon S3 S3-Berechtigungen für den Standort, die durch die Rolle angegeben werden müssen, die für die Registrierung des Standorts verwendet wurde.)

Dies ist die einzige Berechtigung zum Speicherort von Daten. Ein Principal mit dieser Berechtigung kann eine Metadaten-Datenbank oder -Tabelle erstellen, die auf den angegebenen Amazon S3 S3-Speicherort verweist. Der Standort muss registriert sein. Ein Principal, der über Datenspeicherberechtigungen für einen Standort 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 zum Speicherort von Daten 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_ACCESSist nicht erforderlich, um die zugrunde liegenden Daten abzufragen oder zu aktualisieren. Diese Berechtigung gilt nur für das Erstellen von Datenkatalogressourcen.

Weitere Informationen zu Berechtigungen zum Speicherort von Daten finden Sie unterUnderlying data access control.

DELETE

Berechtigung Für diese Ressource gewährt Der Stipendiat braucht auch
DELETE TABLE (Wenn der Standort registriert ist, sind keine zusätzlichen IAM-Berechtigungen erforderlich.)

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

Im folgenden Beispiel wird dem Benutzer die DELETE Berechtigung für die Tabelle inventory in datalake_user1 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 Für diese Ressource gewährt Der Stipendiat braucht auch
DESCRIBE

Link zur Tabellenressource

Link zur Datenbankressource

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 Principal mit dieser Berechtigung kann die angegebene Datenbank, Tabelle oder den angegebenen Ressourcenlink anzeigen. Es werden keine anderen Datenkatalogberechtigungen implizit gewährt, und es werden keine Datenzugriffsberechtigungen implizit gewährt. Datenbanken und Tabellen werden in den Abfrage-Editoren integrierter Services angezeigt, aber es können keine Abfragen an sie gestellt werden, sofern nicht andere Lake Formation Formation-Berechtigungen (z. B.SELECT) erteilt wurden.

Beispielsweise kann ein Benutzer, der DESCRIBE über eine Datenbank verfügt, die Datenbank und alle Datenbankmetadaten (Beschreibung, Speicherort usw.) sehen. Der Benutzer kann jedoch nicht herausfinden, welche Tabellen die Datenbank enthält, und er kann keine Tabellen in der Datenbank löschen, ändern oder erstellen. Ebenso kann ein Benutzer, der DESCRIBE über eine Tabelle verfügt, die Tabelle und die 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ürDESCRIBE:

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

  • Wenn ein Benutzer nur SELECT über eine Teilmenge von Spalten für eine Tabelle verfügt (teilweiseSELECT), kann der Benutzer nur diese Spalten sehen.

  • Einem BenutzerDESCRIBE, der in einer Tabelle nur teilweise eine Auswahl getroffen hat, können Sie keine Zugriffsrechte gewähren. Umgekehrt können Sie für Tabellen, für die eine Erteilung gewährt wurde, keine Liste mit Aufnahme- oder Ausschlusslisten für Spalten angeben. DESCRIBE

Im folgenden Beispiel wird dem Benutzer datalake_user1 die DESCRIBE Berechtigung für den Link zur Tabellenressource 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 Für diese Ressource erteilt Der Stipendiat braucht auch
DROP DATABASE glue:DeleteDatabase
DROP TABLE glue:DeleteTable
DROP LF-Tag lakeformation:DeleteLFTag
DROP

Link zur Datenbankressource

Link zur Tabellenressource

glue:DeleteDatabase

glue:DeleteTable

Ein Principal mit dieser Berechtigung kann einen Datenbank-, Tabellen- oder Ressourcenlink im Datenkatalog löschen. Sie können DROP für eine Datenbank nicht einem externen Konto oder einer externen Organisation gewähren.

Warnung

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

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

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

Das folgende Beispiel erteilt dem Benutzer DROP Zugriff datalake_user1 auf die Tabelle in der Datenbank. inventory retail

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

Im folgenden Beispiel wird DROP dem Benutzer für datalake_user1 die Tabelle ein Ressourcenlink inventory-link in der Datenbank gewährtretail.

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

INSERT

Berechtigung Für diese Ressource gewährt Der Stipendiat braucht auch
INSERT TABLE (Wenn der Standort registriert ist, sind keine zusätzlichen IAM-Berechtigungen erforderlich.)

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

Im folgenden Beispiel wird dem Benutzer die INSERT Berechtigung für die Tabelle inventory in datalake_user1 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 Für diese Ressource gewährt Der Stipendiat braucht auch
SELECT
  • TABLE

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

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

Anmerkung

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

Im folgenden Beispiel wird dem Benutzer die SELECT Berechtigung für die Tabelle inventory in datalake_user1 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 Aufnahme- oder Ausschlussliste filtern (den Zugriff darauf einschränken). Eine Aufnahmeliste gibt die Spalten an, auf die zugegriffen werden kann. Eine Ausschlussliste gibt die Spalten an, auf die nicht zugegriffen werden kann. In Ermangelung einer Aufnahme- oder Ausschlussliste kann auf alle Tabellenspalten zugegriffen werden.

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

Das folgende Beispiel gewährt SELECT dem Benutzer datalake_user1 in der Tabelle inventory mithilfe einer Aufnahmeliste Zuteilungen.

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 wird mithilfe einer Ausschlussliste für die inventory Tabelle gewährtSELECT.

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"]}}}'

Für die SELECT Genehmigung gelten die folgenden Einschränkungen:

  • Bei der Erteilung SELECT können Sie die Option „Gewährung“ nicht angeben, wenn die Spaltenfilterung angewendet wird.

  • Sie können die Zugriffskontrolle nicht auf Spalten einschränken, bei denen es sich um Partitionsschlüssel handelt.

  • Einem Prinzipal mit der SELECT Berechtigung für eine Teilmenge von Spalten in einer Tabelle kann dieALTER, DROPDELETE, oder INSERT -Berechtigung für diese Tabelle nicht erteilt werden. Ebenso kann einem Prinzipal mit der INSERT Berechtigung ALTER DROPDELETE,, oder für eine Tabelle die SELECT Berechtigung zur Spaltenfilterung nicht erteilt werden.

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

Auf der Seite mit den Datenberechtigungen werden zwei Zeilen für den Benutzer datalake_user1 und das Tabelleninventar angezeigt. In der ersten Zeile sind die Berechtigungen Löschen und Einfügen mit dem Ressourcentyp Tabelle aufgeführt, und in der zweiten Zeile ist die Auswahlberechtigung mit dem Ressourcentyp Spalte aufgeführt, wobei die Ressource als retail.inventory.* angezeigt wird.

Super

Berechtigung Für diese Ressource gewährt Der Stipendiat benötigt auch
Super DATABASE glue:*Database*
Super TABLE glue:*Table*, glue:*Partition*

Diese Berechtigung ermöglicht es einem Principal, jeden unterstützten Lake Formation Formation-Vorgang in der Datenbank oder Tabelle auszuführen. Sie können einem externen Konto keinen Zugriff Super auf eine Datenbank gewähren.

Diese Genehmigung kann mit den anderen Lake Formation Formation-Berechtigungen koexistieren. Sie können beispielsweise die INSERT Berechtigungen SuperSELECT, und für eine Metadatentabelle gewähren. Der Principal kann dann alle unterstützten Operationen an der Tabelle ausführen. Beim Widerrufen Super bleiben die INSERT Berechtigungen SELECT und erhalten, und der Prinzipal kann nur Auswahl- und Einfügevorgänge ausführen.

Anstatt es 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 gemäß Ihren IAM-Richtlinien Zugriff auf Ihre Datenkatalogressourcen gewährt wird. Wenn IAMAllowedPrincipals für eine Datenkatalogressource ein Zugriff gewährt Super wird, wird der Zugriff auf die Ressource effektiv ausschließlich durch IAM-Richtlinien gesteuert.

Sie können die automatische Super Genehmigung IAMAllowedPrincipals für neue Katalogressourcen erhalten, indem Sie die Optionen auf der Einstellungsseite der Lake Formation Formation-Konsole nutzen.

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

  • Um allen neuen Tabellen in neuen Datenbanken Zugriff Super zu IAMAllowedPrincipals 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. Mehr tut es nicht. Es ist das Kontrollkästchen im Dialogfeld Datenbank erstellen, das die Erteilung von Super an aktiviertIAMAllowedPrincipals.

Diese Optionen auf der Einstellungsseite sind standardmäßig aktiviert. Weitere Informationen finden Sie hier:

ASSOCIATE

Berechtigung Für diese Ressource gewährt Der Stipendiat braucht auch
ASSOCIATE LF-Tag

glue:GetDatabase

glue:GetTable

lakeformation:AddLFTagsToResource"

lakeformation:RemoveLFTagsFromResource"

lakeformation:GetResourceLFTags

lakeformation:ListLFTags

lakeformation:GetLFTag

lakeformation:SearchTablesByLFTags

lakeformation:SearchDatabasesByLFTags

Ein Principal mit dieser Berechtigung für ein LF-Tag kann das LF-Tag einer Datenkatalogressource zuweisen. Implizite Gewährung von Zuschüssen. ASSOCIATE DESCRIBE

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

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