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 |
|---|---|
Catalog |
ALL(Super), Superuser |
ALTER |
|
CREATE_DATABASE |
|
DESCRIBE |
|
DROP |
|
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 Amazon Quick Suite-Benutzer oder eine Gruppe
-
Für kontoübergreifende Berechtigungen eine AWS Konto-ID, eine Organisations-ID oder eine Organisationseinheits-ID
-
Für IAM Identity Center-Benutzer oder -Gruppe, ARN für IAM Identity Center-Benutzer oder -Gruppe.
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 Quick Suite Enterprise Edition
-
Syntax:
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:<region>:<account-id>:user/<namespace>/<user-name>Anmerkung
Für
<namespace>müssen Siedefaultangeben.Beispiel:
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:us-east-1:111122223333:user/default/bi_user1 - Principal ist eine Amazon Quick Suite Enterprise Edition-Gruppe
-
Syntax:
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:<region>:<account-id>:group/<namespace>/<group-name>Anmerkung
Für
<namespace>müssen Siedefaultangeben.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 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
IAMAllowedPrincipalsstandardmäßig aufgerufen wird,SuperBerechtigungen 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 GlueWenn Sie Lake Formation verwenden, um Berechtigungen für Ihre Data Catalog-Ressourcen zu verwalten, müssen Sie zuerst die
IAMAllowedPrincipalsBerechtigungen 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
ALLIAMPrincipalsGruppenberechtigungen 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 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 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 |
|
DESCRIBE |
DATABASE |
glue:GetDatabase |
DESCRIBE |
TABLE |
glue:GetTable |
DESCRIBE |
LF-Tag |
|
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,
DESCRIBEwird 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 Benutzer
DESCRIBE, 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 |
|
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 |
|
(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
SELECTkö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
SELECTBerechtigung für eine Teilmenge von Spalten in einer Tabelle kann dieALTER,DROPDELETE, oderINSERT-Berechtigung für diese Tabelle nicht erteilt werden. Ebenso kann einem Prinzipal mit derINSERTBerechtigungALTERDROPDELETE,, oder für eine Tabelle dieSELECTBerechtigung 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.
Super
| Berechtigung | Für diese Ressource gewährt | Der Stipendiat braucht 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.
-
Um allen neuen Datenbanken Zugriff
SuperIAMAllowedPrincipalszu gewähren, wählen Sie Nur IAM-Zugriffskontrolle für neue Datenbanken verwenden aus. -
Um allen neuen Tabellen in neuen Datenbanken Zugriff
SuperzuIAMAllowedPrincipalsgewä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
Superan aktiviertIAMAllowedPrincipals.
Diese Optionen auf der Einstellungsseite sind standardmäßig aktiviert. Weitere Informationen finden Sie hier:
SUPER_USER
| Berechtigung | Für diese Ressource gewährt | Der Stipendiat braucht auch |
|---|---|---|
Super user |
Catalog |
glue:GetCatalog
|
Sie können die Super user Berechtigung nur bestimmten Hauptbenutzern für Kataloge innerhalb des Standarddatenkatalogs gewähren. Sie können keine Super user Berechtigungen für den Standardkatalog oder für andere Ressourcentypen wie Datenbanken und Tabellen oder für Prinzipale in externen Konten gewähren. Die Super user Berechtigungsberechtigung ermöglicht es einem Prinzipal, jeden unterstützten Lake Formation Formation-Vorgang für die Datenbanken und Tabellen innerhalb des erteilten Katalogs auszuführen.
Mit der Super user Berechtigung kann der Hauptbenutzer (Empfänger) die folgenden Aktionen mit den Ressourcen (Kataloge, Datenbanken und Tabellen) innerhalb des Katalogs ausführen:
-
CREATE_DATABASE,DESCRIBEBerechtigungen für den Katalog. -
DROP,ALTERCREATE_TABLE,DESCRIBE(effektivSUPER) Berechtigungen für alle Datenbanken im Katalog. -
DROP,ALTER,DESCRIBE,SELECTINSERT,DELETE(effektivSUPER) Berechtigungen für alle Tabellen in allen Datenbanken innerhalb des Katalogs. -
All(effektiv SUPER-) Berechtigungen für Kataloge innerhalb des Katalogs. -
Erteilbare Berechtigungen (die Möglichkeit, diese Berechtigungen anderen Hauptbenutzern zu gewähren) für alle Kataloge, Datenbanken und Tabellen innerhalb des Katalogs.
Mit der Super user Berechtigung für eine Katalogressource darf der Empfänger keine Aktionen im Katalog ausführen oder ALTER delegierenDROP.
ASSOCIATE
| Berechtigung | Für diese Ressource gewährt | Der Stipendiat braucht auch |
|---|---|---|
ASSOCIATE |
LF-Tag |
|
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":["*"]}}'