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 angeben
default
.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 angeben
default
.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 GlueWenn 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_TABLE
in 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_DATABASE ist ausreichend. |
Die Standorteigenschaft ist angegeben, und der Standort wird nicht von Lake Formation verwaltet (ist nicht registriert). | CREATE_DATABASE ist ausreichend. |
Die Standorteigenschaft ist angegeben, und der Standort wird von Lake Formation verwaltet (ist registriert). | CREATE_DATABASE ist 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_TABLE ist 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_TABLE ist 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_TABLE ist 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_ACCESS
ist 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 |
|
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,
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 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
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
,DROP
DELETE
, oderINSERT
-Berechtigung für diese Tabelle nicht erteilt werden. Ebenso kann einem Prinzipal mit derINSERT
BerechtigungALTER
DROP
DELETE
,, oder für eine Tabelle dieSELECT
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.
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 Super
SELECT
, 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
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
zuIAMAllowedPrincipals
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 |
|
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":["*"]}}'