Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Riferimento alle autorizzazioni di Lake Formation
Per eseguire AWS Lake Formation le operazioni, i mandanti necessitano sia delle autorizzazioni di Lake Formation che delle autorizzazioni AWS Identity and Access Management (IAM). In genere concedi le autorizzazioni IAM utilizzando politiche di controllo degli accessi granulari, come descritto in. Panoramica delle autorizzazioni di Lake Formation Puoi concedere le autorizzazioni di Lake Formation utilizzando la console, l'API o AWS Command Line Interface (AWS CLI).
Per informazioni su come concedere o revocare le autorizzazioni di Lake Formation, vedere e. Concessione delle autorizzazioni per le risorse del Data Catalog Concessione delle autorizzazioni per la localizzazione dei dati
Nota
Gli esempi in questa sezione mostrano come concedere le autorizzazioni ai responsabili dello stesso account. AWS Per esempi di sovvenzioni su più account, vedere. Condivisione dei dati tra account in Lake Formation
Autorizzazioni Lake Formation per tipo di risorsa
Di seguito sono riportate le autorizzazioni valide di Lake Formation disponibili per ogni tipo di risorsa:
Risorsa | Autorizzazione |
---|---|
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 |
Comandi di concessione e AWS CLI revoca di Lake Formation
Ogni descrizione dell'autorizzazione in questa sezione include esempi di concessione dell'autorizzazione tramite un comando. AWS CLI Di seguito sono riportate le sinossi grant-permissions e revoke-permissions AWS CLI i comandi del 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>]
Per una descrizione dettagliata di questi comandi, vedete grant-permissions e revoke-permissions nel Command Reference.AWS CLI Questa sezione fornisce informazioni aggiuntive sull'opzione. --principal
Il valore dell'--principal
opzione è uno dei seguenti:
-
Amazon Resource Name (ARN) per un utente o un AWS Identity and Access Management ruolo (IAM)
-
ARN per un utente o un gruppo che esegue l'autenticazione tramite un provider SAML, come Microsoft Active Directory Federation Service (ADFS)
-
ARN per un QuickSight utente o un gruppo Amazon
-
Per le autorizzazioni su più account, un ID AWS account, un ID dell'organizzazione o un ID di unità organizzativa
Di seguito sono riportati la sintassi e gli esempi per tutti i tipi. --principal
- Principal è un utente IAM
-
Sintassi:
--principal DataLakePrincipalIdentifier=arn:aws:iam::
<account-id>
:user/<user-name>
Esempio:
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1
- Principal è un ruolo IAM
-
Sintassi:
--principal DataLakePrincipalIdentifier=arn:aws:iam::
<account-id>
:role/<role-name>
Esempio:
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/workflowrole
- Principal è un utente che si autentica tramite un provider SAML
-
Sintassi:
--principal DataLakePrincipalIdentifier=arn:aws:iam::
<account-id>
:saml-provider/<SAMLproviderName>
:user/<user-name>
Esempi:
--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 è un gruppo che si autentica tramite un provider SAML
-
Sintassi:
--principal DataLakePrincipalIdentifier=arn:aws:iam::
<account-id>
:saml-provider/<SAMLproviderName>
:group/<group-name>
Esempi:
--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 è un utente di Amazon QuickSight Enterprise Edition
-
Sintassi:
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:
<region>
:<account-id>
:user/<namespace>
/<user-name>
Nota
Perché
<namespace>, devi specificare
default
.Esempio:
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:us-east-1:111122223333:user/default/bi_user1
- Principal è un gruppo Amazon QuickSight Enterprise Edition
-
Sintassi:
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:
<region>
:<account-id>
:group/<namespace>
/<group-name>
Nota
Perché
<namespace>, devi specificare
default
.Esempio:
--principal DataLakePrincipalIdentifier=arn:aws:quicksight:us-east-1:111122223333:group/default/data_scientists
- Il principale è un AWS account
-
Sintassi:
--principal DataLakePrincipalIdentifier=
<account-id>
Esempio:
--principal DataLakePrincipalIdentifier=111122223333
- Il preside è un'organizzazione
-
Sintassi:
--principal DataLakePrincipalIdentifier=arn:aws:organizations::
<account-id>
:organization/<organization-id>
Esempio:
--principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl
- Il preside è un'unità organizzativa
-
Sintassi:
--principal DataLakePrincipalIdentifier=arn:aws:organizations::
<account-id>
:ou/<organization-id>
/<organizational-unit-id>
Esempio:
--principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:ou/o-abcdefghijkl/ou-ab00-cdefghij
- Il preside è un utente o un gruppo di identità di IAM Identity Center
-
Esempio: utente
--principal DataLakePrincipalIdentifier=arn:aws:identitystore:::user/
<UserID>
Esempio: Gruppo:
--principal DataLakePrincipalIdentifier=arn:aws:identitystore:::group/
<GroupID>
- Principal è un gruppo IAM -
IAMAllowedPrincipals
-
Lake Formation imposta le
Super
autorizzazioni su tutti i database e le tabelle del Data Catalog a un gruppo chiamato perIAMAllowedPrincipals
impostazione predefinita. Se questa autorizzazione di gruppo esiste su un database o una tabella, tutti i principali del tuo account avranno accesso alla risorsa tramite le politiche principali IAM per AWS Glue. Fornisce la compatibilità con le versioni precedenti quando inizi a utilizzare le autorizzazioni di Lake Formation per proteggere le risorse del Data Catalog per cui in precedenza erano protette dalle politiche IAM. AWS GlueQuando utilizzi Lake Formation per gestire le autorizzazioni per le tue risorse Data Catalog, devi prima revocare l'
IAMAllowedPrincipals
autorizzazione sulle risorse o attivare i principali e le risorse per la modalità di accesso ibrido affinché le autorizzazioni di Lake Formation funzionino.Esempio:
--principal DataLakePrincipalIdentifier=IAM_Allowed_Principals
- Principal è un gruppo IAM -
ALLIAMPrincipals
-
Quando concedi le autorizzazioni per il
ALLIAMPrincipals
gruppo su una risorsa Data Catalog, ogni principale dell'account ottiene l'accesso alla risorsa Data Catalog utilizzando le autorizzazioni Lake Formation e le autorizzazioni IAM.Esempio:
--principal DataLakePrincipalIdentifier=
123456789012
:IAMPrincipals
Autorizzazioni Lake Formation
Questa sezione contiene i permessi disponibili di Lake Formation che puoi concedere ai presidi.
ALTER
Autorizzazione | Concesso su questa risorsa | Inoltre, il beneficiario ha bisogno |
---|---|---|
ALTER |
DATABASE |
glue:UpdateDatabase
|
ALTER |
TABLE |
glue:UpdateTable |
ALTER |
LF-Tag |
lakeformation:UpdateLFTag |
Un principale con questa autorizzazione può modificare i metadati di un database o di una tabella nel Catalogo dati. Per le tabelle, è possibile modificare lo schema delle colonne e aggiungere parametri di colonna. Non è possibile modificare le colonne nei dati sottostanti a cui fa riferimento una tabella di metadati.
Se la proprietà da modificare è una posizione registrata di Amazon Simple Storage Service (Amazon S3), il principale deve disporre delle autorizzazioni per la localizzazione dei dati nella nuova posizione.
L'esempio seguente concede l'ALTER
autorizzazione all'utente datalake_user1
sul database retail
nell'account 1111-2222-3333. AWS
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ALTER" --resource '{ "Database": {"Name":"retail"}}'
L'esempio seguente concede ALTER
a un utente l'datalake_user1
accesso alla tabella del database. 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
Autorizzazione | Concesso su questa risorsa | Inoltre, il beneficiario ha bisogno |
---|---|---|
CREATE_DATABASE |
Catalogo dati | glue:CreateDatabase |
Un responsabile con questa autorizzazione può creare un database di metadati o un collegamento a una risorsa nel Catalogo dati. Il principale può anche creare tabelle nel database.
L'esempio seguente concede CREATE_DATABASE
a un utente datalake_user1
nell' AWS account 1111-2222-3333.
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_DATABASE" --resource '{ "Catalog": {}}'
Quando un principale crea un database nel Data Catalog, non viene concessa alcuna autorizzazione per i dati sottostanti. Vengono concesse le seguenti autorizzazioni aggiuntive per i metadati (oltre alla possibilità di concedere tali autorizzazioni ad altri):
-
CREATE_TABLE
nel database -
Database
ALTER
-
Database
DROP
Quando crea un database, il principale può facoltativamente specificare una posizione Amazon S3. A seconda che il principale disponga delle autorizzazioni per la localizzazione dei dati, l'CREATE_DATABASE
autorizzazione potrebbe non essere sufficiente per creare database in tutti i casi. È importante tenere a mente i tre casi seguenti.
Crea un caso d'uso del database | Autorizzazioni necessarie |
---|---|
La proprietà location non è specificata. | CREATE_DATABASE è sufficiente. |
La proprietà location è specificata e la posizione non è gestita da Lake Formation (non è registrata). | CREATE_DATABASE è sufficiente. |
La proprietà location è specificata e la posizione è gestita da Lake Formation (è registrata). | CREATE_DATABASE è obbligatorio più le autorizzazioni di localizzazione dei dati nella posizione specificata. |
CREATE_TABLE
Autorizzazione | Concesso su questa risorsa | Inoltre, il beneficiario ha bisogno |
---|---|---|
CREATE_TABLE |
DATABASE |
glue:CreateTable
|
Un principale con questa autorizzazione può creare una tabella di metadati o un collegamento a una risorsa nel Catalogo dati all'interno del database specificato.
L'esempio seguente concede all'utente l'datalake_user1
autorizzazione a creare tabelle nel retail
database nell' AWS account 1111-2222-3333.
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'
Quando un principale crea una tabella nel Data Catalog, tutti i permessi di Lake Formation sulla tabella vengono concessi al principale, con la possibilità di concedere tali autorizzazioni ad altri.
Sovvenzioni tra account
Se un account del proprietario del database concede CREATE_TABLE
a un account destinatario e un utente dell'account destinatario crea correttamente una tabella nel database dell'account proprietario, si applicano le seguenti regole:
-
Gli amministratori dell'utente e del data lake nell'account del destinatario dispongono di tutte le autorizzazioni di Lake Formation sulla tabella. Possono concedere le autorizzazioni sulla tabella ad altri responsabili del loro account. Non possono concedere autorizzazioni ai responsabili dell'account proprietario o di qualsiasi altro account.
-
Gli amministratori di Data Lake dell'account proprietario possono concedere le autorizzazioni relative alla tabella ad altri responsabili del proprio account.
Autorizzazioni per la localizzazione dei dati
Quando tenti di creare una tabella che punti a una posizione Amazon S3, a seconda che tu disponga delle autorizzazioni per la localizzazione dei dati, l'CREATE_TABLE
autorizzazione potrebbe non essere sufficiente per creare una tabella. È importante tenere a mente i seguenti tre casi.
Crea un caso d'uso della tabella | Autorizzazioni necessarie |
---|---|
La località specificata non è gestita da Lake Formation (non è registrata). | CREATE_TABLE è sufficiente. |
La posizione specificata è gestita da Lake Formation (è registrata) e il database che lo contiene non ha alcuna proprietà di location o ha una proprietà di location che non sia un prefisso Amazon S3 della posizione della tabella. | CREATE_TABLE è richiesta più le autorizzazioni di localizzazione dei dati nella posizione specificata. |
La posizione specificata è gestita da Lake Formation (è registrata) e il database contenente ha una proprietà location che punta a una posizione registrata ed è un prefisso Amazon S3 della posizione della tabella. | CREATE_TABLE è sufficiente. |
DATA_LOCATION_ACCESS
Autorizzazione | Concesso su questa risorsa | Inoltre, il beneficiario ha bisogno |
---|---|---|
DATA_LOCATION_ACCESS |
Posizione di Amazon S3. | (Autorizzazioni Amazon S3 sulla posizione, che devono essere specificate dal ruolo utilizzato per registrare la posizione.) |
Questa è l'unica autorizzazione per la localizzazione dei dati. Un principale con questa autorizzazione può creare un database o una tabella di metadati che punti alla posizione Amazon S3 specificata. La sede deve essere registrata. Un preside che dispone delle autorizzazioni di localizzazione dei dati su una sede dispone anche delle autorizzazioni di localizzazione sulle sedi dei figli.
L'esempio seguente concede le autorizzazioni di localizzazione dei dati s3://products/retail
all'utente datalake_user1
nell'account 1111-2222-3333. AWS
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
non è necessario per interrogare o aggiornare i dati sottostanti. Questa autorizzazione si applica solo alla creazione di risorse del catalogo dati.
Per ulteriori informazioni sulle autorizzazioni per la localizzazione dei dati, vedereUnderlying data access control.
DELETE
Autorizzazione | Concesso su questa risorsa | Inoltre, il beneficiario ha bisogno |
---|---|---|
DELETE |
TABLE |
(Non sono necessarie autorizzazioni IAM aggiuntive se la posizione è registrata.) |
Un principale con questa autorizzazione può eliminare i dati sottostanti nella posizione Amazon S3 specificata nella tabella. Il responsabile può anche visualizzare la tabella sulla console Lake Formation e recuperare informazioni sulla tabella con l'AWS GlueAPI.
L'esempio seguente concede l'DELETE
autorizzazione all'utente datalake_user1
sulla tabella del database inventory
retail
nell' AWS account 1111-2222-3333.
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DELETE" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
Questa autorizzazione si applica solo ai dati in Amazon S3 e non ai dati in altri archivi dati come Amazon Relational Database Service (Amazon RDS).
DESCRIBE
Autorizzazione | Concesso su questa risorsa | Inoltre, il beneficiario ha bisogno |
---|---|---|
DESCRIBE |
Link alle risorse della tabella Collegamento alle risorse del database |
|
DESCRIBE |
DATABASE |
glue:GetDatabase |
DESCRIBE |
TABLE |
glue:GetTable |
DESCRIBE |
LF-Tag |
|
Un principale con questa autorizzazione può visualizzare il database, la tabella o il link alla risorsa specificato. Non vengono concesse implicitamente altre autorizzazioni di Data Catalog e non vengono concesse implicitamente autorizzazioni di accesso ai dati. I database e le tabelle vengono visualizzati negli editor di query dei servizi integrati, ma non è possibile eseguire alcuna query su di essi a meno che non vengano concesse altre autorizzazioni di Lake Formation (ad esempioSELECT
).
Ad esempio, un utente che ha un database può visualizzare il database e tutti i metadati del database (descrizione, posizione e così DESCRIBE
via). Tuttavia, l'utente non può scoprire quali tabelle contiene il database e non può eliminare, modificare o creare tabelle nel database. Analogamente, un utente che DESCRIBE
utilizza una tabella può visualizzare la tabella e i relativi metadati (descrizione, schema, posizione e così via), ma non può eliminare, modificare o eseguire query sulla tabella.
Di seguito sono riportate alcune regole aggiuntive per: DESCRIBE
-
Se un utente dispone di altre autorizzazioni Lake Formation su un database, una tabella o un collegamento a una risorsa,
DESCRIBE
viene concessa implicitamente. -
Se un utente ha
SELECT
solo un sottoinsieme di colonne per una tabella (parzialeSELECT
), l'utente è limitato a visualizzare solo quelle colonne. -
Non puoi concedere
DESCRIBE
a un utente che dispone di una selezione parziale su una tabella. Al contrario, non è possibile specificare elenchi di inclusione o esclusione di colonne per le tabelleDESCRIBE
consentite.
L'esempio seguente concede all'utente datalake_user1
l'DESCRIBE
autorizzazione per il collegamento alle risorse della tabella nel database inventory-link
retail
nell' AWS account 1111-2222-3333.
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DESCRIBE" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory-link"}}'
DROP
Autorizzazione | Concesso su questa risorsa | Inoltre, il beneficiario ha bisogno |
---|---|---|
DROP |
DATABASE |
glue:DeleteDatabase |
DROP |
TABLE |
glue:DeleteTable
|
DROP |
LF-Tag |
lakeformation:DeleteLFTag
|
DROP |
Collegamento alla risorsa del database Collegamento alle risorse della tabella |
|
Un principale con questa autorizzazione può eliminare un collegamento a un database, una tabella o una risorsa nel Catalogo dati. Non puoi concedere DROP su un database a un account o un'organizzazione esterni.
avvertimento
L'eliminazione di un database comporta l'eliminazione di tutte le tabelle del database.
L'esempio seguente concede l'DROP
autorizzazione all'utente del database retail
nell' AWS account datalake_user1
1111-2222-3333.
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Database": {"Name":"retail"}}'
L'esempio seguente concede DROP
all'utente l'accesso alla tabella del databasedatalake_user1
. inventory
retail
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
L'esempio che segue concede DROP
all'utente datalake_user1
della tabella un link di risorse inventory-link
nel database. retail
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory-link"}}'
INSERT
Autorizzazione | Concesso su questa risorsa | Inoltre, il beneficiario ha bisogno |
---|---|---|
INSERT |
TABLE |
(Non sono necessarie autorizzazioni IAM aggiuntive se la posizione è registrata.) |
Un principale con questa autorizzazione può inserire, aggiornare e leggere i dati sottostanti nella posizione Amazon S3 specificata dalla tabella. Il responsabile può anche visualizzare la tabella nella console Lake Formation e recuperare informazioni sulla tabella con l'AWS GlueAPI.
L'esempio seguente concede l'INSERT
autorizzazione all'utente datalake_user1
sulla tabella del database inventory
retail
nell' AWS account 1111-2222-3333.
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "INSERT" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
Questa autorizzazione si applica solo ai dati in Amazon S3 e non ai dati in altri archivi di dati come Amazon RDS.
SELECT
Autorizzazione | Concesso su questa risorsa | Inoltre, il beneficiario ha bisogno |
---|---|---|
SELECT |
|
(Non sono necessarie autorizzazioni IAM aggiuntive se la posizione è registrata.) |
Un principale con questa autorizzazione può visualizzare una tabella nel catalogo dati e interrogare i dati sottostanti in Amazon S3 nella posizione specificata dalla tabella. Il responsabile può visualizzare la tabella nella console di Lake Formation e recuperare informazioni sulla tabella con l'AWS GlueAPI. Se il filtraggio delle colonne è stato applicato quando è stata concessa questa autorizzazione, il principale può visualizzare i metadati solo per le colonne incluse e può interrogare i dati solo dalle colonne incluse.
Nota
È responsabilità del servizio di analisi integrato applicare il filtro delle colonne durante l'elaborazione di una query.
L'esempio seguente concede l'SELECT
autorizzazione all'utente datalake_user1
sulla tabella del database inventory
retail
nell' AWS account 1111-2222-3333.
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
Questa autorizzazione si applica solo ai dati in Amazon S3 e non ai dati in altri archivi di dati come Amazon RDS.
Puoi filtrare (limitare l'accesso a) colonne specifiche con un elenco di inclusione o un elenco di esclusione facoltativo. Un elenco di inclusione specifica le colonne a cui è possibile accedere. Un elenco di esclusione specifica le colonne a cui non è possibile accedere. In assenza di un elenco di inclusione o esclusione, tutte le colonne della tabella sono accessibili.
I risultati glue:GetTable
restituiscono solo le colonne che il chiamante è autorizzato a visualizzare. I servizi integrati come Amazon Athena e Amazon Redshift rispettano gli elenchi di inclusione ed esclusione delle colonne.
L'esempio seguente concede SELECT
all'utente presente nella tabella l'inventory
utilizzo di datalake_user1
un elenco di inclusione.
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"]}}'
L'esempio successivo prevede l'utilizzo di SELECT
un elenco di esclusione inventory
nella tabella.
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"]}}}'
Le seguenti restrizioni si applicano all'SELECT
autorizzazione:
-
Quando si concede
SELECT
, non è possibile includere l'opzione di concessione se viene applicato il filtro delle colonne. -
Non è possibile limitare il controllo dell'accesso alle colonne che sono chiavi di partizione.
-
A un principale con l'
SELECT
autorizzazione su un sottoinsieme di colonne di una tabella non può essere concessa l'INSERT
autorizzazioneALTER
,DROP
,DELETE
, o per quella tabella. Analogamente, a un principale con l'INSERT
autorizzazioneALTER
DROP
,DELETE
, o su una tabella non può essere concessa l'SELECT
autorizzazione con il filtro delle colonne.
L'SELECT
autorizzazione appare sempre nella pagina Autorizzazioni dati della console Lake Formation come una riga separata. L'immagine seguente mostra che SELECT
è concesso agli utenti datalake_user2
e datalake_user3
su tutte le colonne della inventory
tabella.
![La pagina Autorizzazioni dati mostra due righe per l'utente datalake_user1 e l'inventario delle tabelle. La prima riga elenca le autorizzazioni di eliminazione e inserimento con la tabella del tipo di risorsa, mentre la seconda riga elenca l'autorizzazione Seleziona con il tipo di risorsa Column e con la risorsa visualizzata come retail.inventory.*.](images/data-permissions-dialog-select-cross.png)
Super
Autorizzazione | Concesso su questa risorsa | Anche il beneficiario ha bisogno |
---|---|---|
Super |
DATABASE |
glue:*Database*
|
Super |
TABLE |
glue:*Table*, glue:*Partition* |
Questa autorizzazione consente a un principale di eseguire tutte le operazioni di Lake Formation supportate sul database o sulla tabella. Non puoi concedere Super
un database a un account esterno.
Questa autorizzazione può coesistere con le altre autorizzazioni di Lake Formation. Ad esempio, puoi concedere le INSERT
autorizzazioni Super
SELECT
, e su una tabella di metadati. Il principale può quindi eseguire tutte le operazioni supportate sulla tabella. Quando si revocaSuper
, i INSERT
permessi SELECT
and rimangono e il principale può eseguire solo operazioni di selezione e inserimento.
Invece di concedere Super
a un singolo committente, puoi concederlo al gruppo. IAMAllowedPrincipals
Il IAMAllowedPrincipals
gruppo viene creato automaticamente e include tutti gli utenti e i ruoli IAM a cui è consentito l'accesso alle risorse del Data Catalog dalle politiche IAM. Quando Super
viene concesso a IAMAllowedPrincipals
una risorsa Data Catalog, l'accesso alla risorsa è effettivamente controllato esclusivamente dalle politiche IAM.
Puoi avere l'Super
autorizzazione da concedere automaticamente IAMAllowedPrincipals
per nuove risorse del catalogo sfruttando le opzioni nella pagina Impostazioni della console Lake Formation.
![La finestra di dialogo delle impostazioni del catalogo dati ha il sottotitolo «Autorizzazioni predefinite per database e tabelle appena creati» e ha due caselle di controllo, descritte nel testo.](images/settings-page.png)
-
Per concedere
Super
aIAMAllowedPrincipals
tutti i nuovi database, seleziona Usa solo il controllo di accesso IAM per i nuovi database. -
Per concedere
Super
aIAMAllowedPrincipals
tutte le nuove tabelle nei nuovi database, seleziona Usa solo il controllo di accesso IAM per le nuove tabelle nei nuovi database.Nota
Questa opzione fa sì che la casella di controllo Usa solo il controllo di accesso IAM per le nuove tabelle in questo database nella finestra di dialogo Crea database sia selezionata per impostazione predefinita. Non fa altro che questo. È la casella di controllo nella finestra di dialogo Crea database che abilita la concessione di
Super
aIAMAllowedPrincipals
.
Queste opzioni della pagina Impostazioni sono abilitate per impostazione predefinita. Per ulteriori informazioni, consulta gli argomenti seguenti:
ASSOCIATE
Autorizzazione | Concesso su questa risorsa | Inoltre, il beneficiario ha bisogno |
---|---|---|
ASSOCIATE |
LF-Tag |
|
Un principale con questa autorizzazione su un tag LF può assegnare il tag LF a una risorsa del catalogo dati. ASSOCIATE
DESCRIBE
Concedere concessioni implicite.
Questo esempio concede all'utente l'ASSOCIATE
autorizzazione per datalake_user1
il tag LF con la chiave. module
Concede le autorizzazioni per visualizzare e assegnare tutti i valori per quella chiave, come indicato dall'asterisco (*).
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'