

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à.

# Configurare l'accesso a database e tabelle in AWS Glue Data Catalog
<a name="fine-grained-access-to-glue-resources"></a>

Se utilizzi Amazon Athena, puoi definire politiche a livello di risorsa per gli oggetti Data Catalog di database e tabelle utilizzati in Athena. AWS Glue Data Catalog 

**Nota**  
In questo argomento viene illustrata la sicurezza a livello di database e tabella. Per informazioni sulla sicurezza a livello di colonna, riga e cella, consulta [Data filtering and cell-level security in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/data-filtering.html) (Filtraggio dei dati e sicurezza a livello di cella in Lake Formation). 

Puoi definire autorizzazioni a livello di risorse nelle policy IAM basate sulle identità.

**Importante**  
Questa sezione illustra le autorizzazioni a livello di risorsa nelle policy IAM basate su identità. Queste sono diverse dalle policy basate sulle risorse. Per ulteriori informazioni sulle differenze, consulta [Policy basate sulle identità e policy basate su risorse](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) nella *Guida per l'utente di IAM*.

Consulta i seguenti argomenti per queste operazioni: 


| Per eseguire questa operazione | Consulta l'argomento seguente | 
| --- | --- | 
| Creare una policy IAM che definisca l’accesso granulare alle risorse | [Creazione di policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) nella Guida per l'utente di IAM. | 
| Scopri le politiche basate sull'identità IAM utilizzate in AWS Glue | [ Policy basate sulle identità (policy IAM)](https://docs.aws.amazon.com/glue/latest/dg/using-identity-based-policies.html) nella Guida per lo sviluppatore di AWS Glue .  | 

 **In questa sezione** 
+  [Limitazioni](#access-to-glue-resources-limitations) 
+  [Configura AWS Glue l'accesso al catalogo e al database per Regione AWS](#full-access-to-default-db-per-region) 
+  [Informazioni sul controllo degli accessi per le partizioni e le versioni delle tabelle in AWS Glue](#access-to-glue-resources-table-partitions-and-versions) 
+  [Esempi di autorizzazioni a livello di database e tabella](#examples-fine-grained-table-database-policies) 

## Limitazioni
<a name="access-to-glue-resources-limitations"></a>

Considerate le seguenti limitazioni quando utilizzate il controllo degli accessi a livello di database e tabella per AWS Glue Data Catalog Athena:
+ I gruppi di lavoro Athena abilitati per Centro identità IAM richiedono che Lake Formation sia configurato per l'utilizzo delle identità di Centro identità IAM. Per ulteriori informazioni, consulta la pagina [Integrating IAM Identity Center](https://docs.aws.amazon.com/lake-formation/latest/dg/identity-center-integration.html) nella *Guida per gli sviluppatori di AWS Lake Formation *. 
+ È possibile limitare l'accesso solo a database e tabelle. Questi controlli si applicano a livello di tabella. Non puoi limitare l'accesso a singole partizioni all'interno di una tabella. Per ulteriori informazioni, consulta [Informazioni sul controllo degli accessi per le partizioni e le versioni delle tabelle in AWS Glue](#access-to-glue-resources-table-partitions-and-versions).
+  AWS Glue Data Catalog Contiene le seguenti risorse:`CATALOG`,`DATABASE`, `TABLE` e. `FUNCTION` 
**Nota**  
In questo elenco, le risorse comuni tra Athena e il AWS Glue Data Catalog sono `TABLE``DATABASE`, e `CATALOG` per ogni account. `Function`è specifico per. AWS Glue Per operazioni di eliminazione in Athena, è necessario includere le autorizzazioni per le operazioni AWS Glue . Per informazioni, consulta [Esempi di autorizzazioni a livello di database e tabella](#examples-fine-grained-table-database-policies).

  La gerarchia è la seguente: `CATALOG` è un predecessore di tutti i `DATABASES` in ogni account e ogni `DATABASE` è un predecessore per tutte le relative `TABLES` e `FUNCTIONS`. Ad esempio, per una tabella denominata `table_test` che appartiene a un database `db` nel catalogo nell'account, i suoi predecessori sono `db` e il catalogo nell'account. Per il database `db`, il predecessore è il catalogo nell'account e i relativi discendenti sono le tabelle e le funzioni. Per ulteriori informazioni sulla struttura gerarchica delle risorse, consulta [List of ARNs in Data Catalog nella AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/glue-specifying-resource-arns.html#data-catalog-resource-arns) *Developer* Guide. 
+ Per operazioni Athena di non eliminazione su una risorsa, come `CREATE DATABASE`, `CREATE TABLE`, `SHOW DATABASE`, `SHOW TABLE` o `ALTER TABLE`, hai bisogno delle autorizzazioni per chiamare tali operazioni sulla risorsa (tabella o database) e su tutti i predecessori della risorsa nel Catalogo dati. Ad esempio, per una tabella, i suoi predecessori sono i database di appartenenza e il catalogo dell'account. Per un database, il predecessore è il catalogo per questo account. Per informazioni, consulta [Esempi di autorizzazioni a livello di database e tabella](#examples-fine-grained-table-database-policies). 
+ Per un'operazione di eliminazione in Athena, ad esempio `DROP DATABASE` o `DROP TABLE`, è necessaria anche l'autorizzazione a richiamare l'operazione di eliminazione su tutti i predecessori e discendenti della risorsa nel catalogo dati. Ad esempio, per eliminare un database è necessario disporre di autorizzazioni per il database, il catalogo, che è il suo predecessore e tutte le tabelle e le funzioni definite dall'utente, che sono i discendenti. Una tabella non ha discendenti. Per eseguire `DROP TABLE`, è necessario disporre dell'autorizzazione per questa operazione sulla tabella, il database di appartenenza e il catalogo. Per informazioni, consulta [Esempi di autorizzazioni a livello di database e tabella](#examples-fine-grained-table-database-policies).

## Configura AWS Glue l'accesso al catalogo e al database per Regione AWS
<a name="full-access-to-default-db-per-region"></a>

Affinché Athena funzioni con AWS Glue, è necessaria una politica che garantisca l'accesso al tuo database e AWS Glue Data Catalog al tuo account per Regione AWS . Per creare database, è richiesta anche l'autorizzazione `CreateDatabase`. Nel seguente esempio di policy, sostituisci l' Regione AWS Account AWS ID e il nome del database con quelli tuoi.

```
{
   "Sid": "DatabasePermissions",
   "Effect": "Allow",
   "Action": [
      "glue:GetDatabase", 
      "glue:GetDatabases",
      "glue:CreateDatabase"
   ],
   "Resource": [
     "arn:aws:glue:us-east-1:123456789012:catalog",
     "arn:aws:glue:us-east-1:123456789012:database/default"
   ]
}
```

## Informazioni sul controllo degli accessi per le partizioni e le versioni delle tabelle in AWS Glue
<a name="access-to-glue-resources-table-partitions-and-versions"></a>

In AWS Glue, le tabelle possono avere partizioni e versioni. Le versioni e le partizioni delle tabelle non sono considerate risorse indipendenti in. AWS Glue L'accesso alle versioni e alle partizioni delle tabelle è determinato dalla concessione dell'accesso nella tabella e nelle risorse predecessore per la tabella. 

Ai fini del controllo granulare degli accessi vengono applicate le seguenti autorizzazioni di accesso:
+ I controlli si applicano a livello di tabella. È possibile limitare l'accesso solo a database e tabelle. Ad esempio, se consenti l'accesso a una tabella partizionata, tale accesso si applica a tutte le partizioni della tabella. Non puoi limitare l'accesso a singole partizioni all'interno di una tabella. 
**Importante**  
Per eseguire azioni AWS Glue sulle partizioni, sono necessarie le autorizzazioni per le azioni di partizione a livello di catalogo, database e tabella. L'accesso alle partizioni all'interno di una tabella non è sufficiente. Ad esempio, per l’esecuzione di `GetPartitions` su una tabella `myTable` nel database `myDB`, è necessario concedere le autorizzazioni a `glue:GetPartitions` per il catalogo, il database `myDB` e le risorse `myTable`. 
+ I controlli degli accessi granulari non si applicano alle versioni delle tabelle. Come per le partizioni, l'accesso alle versioni precedenti di una tabella viene concesso tramite l'accesso alla versione della tabella contenuta APIs nella AWS Glue tabella e ai predecessori della tabella.

*Per informazioni sulle AWS Glue autorizzazioni sulle azioni, consulta [Autorizzazioni AWS Glue API: riferimento alle azioni e alle risorse](https://docs.aws.amazon.com/glue/latest/dg/api-permissions-reference.html) nella Guida per gli sviluppatori.AWS Glue * 

## Esempi di autorizzazioni a livello di database e tabella
<a name="examples-fine-grained-table-database-policies"></a>

La tabella seguente elenca esempi di policy IAM basate sulle identità che consentono l’accesso granulare ai database e alle tabelle in Athena. Consigliamo di iniziare con questi esempi e, in base alle esigenze, regolarli per consentire o negare operazioni specifiche a particolari database e tabelle.

Questi esempi includono l'accesso a database e cataloghi in modo che Athena AWS Glue e io possiamo lavorare insieme. Per più AWS regioni, includi politiche simili per ciascuno dei tuoi database e cataloghi, una riga per ogni regione. 

In questi esempi, sostituisci il database `example_db` e la tabella `test` con i nomi dei tuoi database e tabelle.


| Istruzione DDL | Esempio di policy di accesso IAM che concede l'accesso alla risorsa | 
| --- | --- | 
| ALTER DATABASE | Consente di modificare le proprietà del database example\$1db.<pre>{<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase", <br />      "glue:UpdateDatabase"<br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db"<br />   ]<br />}</pre> | 
| CREATE DATABASE | Consente di creare il database denominato example\$1db.<pre>{<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase", <br />      "glue:CreateDatabase"<br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db"<br />   ]<br />}<br /></pre> | 
| CREATE TABLE | Consente di creare una tabella denominata test nel database example\$1db.<pre>{<br />   "Sid": "DatabasePermissions",<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase", <br />      "glue:GetDatabases"<br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db"<br />   ]<br />},<br />{<br />   "Sid": "TablePermissions",<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetTables",<br />      "glue:GetTable",<br />      "glue:GetPartitions",<br />      "glue:CreateTable"<br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db",<br />     "arn:aws:glue:us-east-1:123456789012:table/example_db/test"<br />   ]<br />}</pre> | 
| DROP DATABASE | Consente di eliminare il database example\$1db, comprese tutte le tabelle in esso contenute.<pre>{<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase",<br />      "glue:DeleteDatabase",<br />      "glue:GetTables", <br />      "glue:GetTable", <br />      "glue:DeleteTable" <br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db", <br />     "arn:aws:glue:us-east-1:123456789012:table/example_db/*", <br />     "arn:aws:glue:us-east-1:123456789012:userDefinedFunction/example_db/*"<br />   ]<br /> }</pre> | 
| DROP TABLE | Consente di eliminare una tabella partizionata denominata test nel database example\$1db. Se la tabella non ha partizioni, non occorre includere operazioni di partizione.<pre>{<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase",<br />      "glue:GetTable",<br />      "glue:DeleteTable", <br />      "glue:GetPartitions",<br />      "glue:GetPartition",<br />      "glue:DeletePartition" <br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db", <br />     "arn:aws:glue:us-east-1:123456789012:table/example_db/test"<br />   ]<br /> }</pre> | 
| MSCK REPAIR TABLE | Consente di aggiornare i metadati del catalogo dopo aver aggiunto le partizioni compatibili con Hive alla tabella denominata test nel database example\$1db.<pre>{<br />    "Effect": "Allow",<br />    "Action": [<br />        "glue:GetDatabase",<br />        "glue:CreateDatabase",<br />        "glue:GetTable",<br />        "glue:GetPartitions",<br />        "glue:GetPartition",<br />        "glue:BatchCreatePartition"<br />    ],<br />    "Resource": [<br />      "arn:aws:glue:us-east-1:123456789012:catalog",<br />      "arn:aws:glue:us-east-1:123456789012:database/example_db", <br />      "arn:aws:glue:us-east-1:123456789012:table/example_db/test"<br />    ]<br />}</pre> | 
| SHOW DATABASES | Consente di elencare tutti i database nel AWS Glue Data Catalog.<pre>{<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase",<br />      "glue:GetDatabases" <br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/*"<br />   ]<br /> }</pre> | 
| SHOW TABLES | Consente di elencare tutte le tabelle nel database example\$1db.<pre>{<br />   "Effect": "Allow",<br />   "Action": [<br />      "glue:GetDatabase",<br />      "glue:GetTables"    <br />   ],<br />   "Resource": [<br />     "arn:aws:glue:us-east-1:123456789012:catalog",<br />     "arn:aws:glue:us-east-1:123456789012:database/example_db",  <br />     "arn:aws:glue:us-east-1:123456789012:table/example_db/*"<br />   ]<br />}</pre> | 