

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

# Integrazione di Amazon S3 Tables con e AWS Glue Data Catalog AWS Lake Formation
<a name="create-s3-tables-catalog"></a>

[Le tabelle Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables.html) forniscono uno storage S3 specificamente ottimizzato per i carichi di lavoro di analisi, migliorando le prestazioni delle query e riducendo i costi. I dati in Tabelle S3 sono archiviati in un nuovo tipo di bucket: un *bucket di tabelle*, che archivia le tabelle come sottorisorse. Le tabelle S3 hanno il supporto integrato per lo standard Apache Iceberg, che consente di interrogare facilmente i dati tabulari nei bucket di tabelle Amazon S3 utilizzando i motori di query più diffusi come Apache Spark.

Puoi integrare Amazon S3 Tables AWS Glue Data Catalog utilizzando i controlli di accesso IAM o con sovvenzioni IAM e Lake Formation:
+ **Controllo degli accessi IAM**: utilizza le policy IAM per controllare l'accesso a S3 Tables e Data Catalog. In questo approccio di controllo degli accessi, sono necessarie le autorizzazioni IAM sia sulle risorse S3 Tables che sugli oggetti Data Catalog per accedere alle risorse.
+ **Controllo degli accessi a Lake Formation**: utilizza le AWS Lake Formation concessioni oltre alle autorizzazioni AWS Glue IAM per controllare l'accesso a S3 Tables tramite il Data Catalog. In questa modalità, i principali richiedono le autorizzazioni IAM per interagire con il Data Catalog e le sovvenzioni Lake Formation determinano a quali risorse del catalogo (database, tabelle, colonne, righe) il principale può accedere. Questa modalità supporta sia il controllo degli accessi a grana grossolana (concessioni a livello di database e tabella) sia il controllo degli accessi a grana fine (sicurezza a livello di colonna e di riga). Quando viene configurato un ruolo registrato e la vendita di credenziali è abilitata, le autorizzazioni IAM di S3 Tables non sono richieste per il principale, poiché Lake Formation fornisce le credenziali per conto del principale utilizzando il ruolo registrato. Il controllo degli accessi di Lake Formation supporta anche la vendita di credenziali per motori di analisi di terze parti.

Questa sezione fornisce indicazioni per configurare l'integrazione con AWS Lake Formation per i seguenti scenari:
+ **Scenario A**: hai integrato S3 Tables and Data Catalog utilizzando i controlli di accesso IAM e ora intendi AWS Lake Formation utilizzarli. Per ulteriori informazioni, consulta [Modifica dei controlli di accesso per l'integrazione con S3 Tables](manage-s3tables-catalog-integration.md).
+ **Scenario B**: prevedi di integrare S3 Tables e Data Catalog utilizzando AWS Lake Formation e attualmente non li hai integrati nel tuo account e nella tua regione. Inizia con la [Prerequisiti per l'integrazione del catalogo di tabelle Amazon S3 con Data Catalog e Lake Formation](s3tables-catalog-prerequisites.md) sezione e prosegui[Abilitazione dell'integrazione con Amazon S3 Tables](enable-s3-tables-catalog-integration.md).
+ **Scenario C**: hai integrato S3 Tables e Data Catalog utilizzando AWS Lake Formation e ora intendi utilizzare IAM. Per ulteriori informazioni, consulta [Modifica dei controlli di accesso per l'integrazione con S3 Tables](manage-s3tables-catalog-integration.md).

Assicurati di seguire i passaggi descritti in [Integrazione delle tabelle S3 con i servizi di AWS analisi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html) in modo da disporre delle autorizzazioni appropriate per accedere alle risorse e alle tabelle AWS Glue Data Catalog e per lavorare con i servizi di analisi. AWS 

**Topics**
+ [Come funziona l'integrazione tra Data Catalog e Lake Formation](#w2aac13c27c19)
+ [Prerequisiti per l'integrazione del catalogo di tabelle Amazon S3 con Data Catalog e Lake Formation](s3tables-catalog-prerequisites.md)
+ [Abilitazione dell'integrazione con Amazon S3 Tables](enable-s3-tables-catalog-integration.md)
+ [Creazione di database e tabelle nel catalogo di tabelle S3](create-databases-tables-s3-catalog.md)
+ [Registrazione di un bucket da tavolo Amazon S3 in un altro account AWS](register-cross-account-s3-table-bucket.md)
+ [Concessione di autorizzazioni](s3-tables-grant-permissions.md)

## Come funziona l'integrazione tra Data Catalog e Lake Formation
<a name="w2aac13c27c19"></a>

Quando integri il catalogo di tabelle S3 con Data Catalog e Lake Formation, il AWS Glue servizio crea un unico catalogo federato chiamato `s3tablescatalog` nel Data Catalog predefinito del tuo account specifico per il tuo. Regione AWS L'integrazione mappa tutte le risorse del table bucket di Amazon S3 nel tuo account e Regione AWS nel catalogo federato nel modo seguente:
+ I bucket da tavolo Amazon S3 diventano un catalogo multilivello nel Data Catalog.
+ Lo spazio dei nomi Amazon S3 associato è registrato come database nel Data Catalog.
+ Le tabelle Amazon S3 nel bucket di tabelle diventano tabelle nel Data Catalog.

![\[Mappatura di oggetti tra S3 Tables e. AWS Glue Data Catalog\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/S3Tables-glue-catalog.png)


 Dopo l'integrazione con Lake Formation, puoi creare tabelle Apache Iceberg nel catalogo di table buckets e accedervi tramite motori di AWS analisi integrati come Amazon Athena Amazon EMR e motori di analisi di terze parti. 

Quando abiliti anche Lake Formation con integrazione, abilita un controllo granulare degli accessi tramite. AWS Lake Formation Questo approccio alla sicurezza significa che, oltre alle autorizzazioni AWS Identity and Access Management (IAM), devi concedere al tuo responsabile IAM con Lake Formation le autorizzazioni sulle tue tabelle prima di poterle utilizzare.

Esistono due tipi principali di autorizzazioni in AWS Lake Formation:
+ Le autorizzazioni di accesso ai metadati controllano la possibilità di creare, leggere, aggiornare ed eliminare database e tabelle di metadati nel Catalogo dati.
+ Le autorizzazioni di accesso ai dati sottostanti controllano la capacità di leggere e scrivere dati nelle posizioni Amazon S3 sottostanti a cui fanno riferimento le risorse del Catalogo dati.

Lake Formation utilizza una combinazione del proprio modello di autorizzazioni e del modello di autorizzazioni IAM per controllare l’accesso alle risorse del Catalogo dati e ai dati sottostanti:
+ Affinché una richiesta di accesso alle risorse del Catalogo dati o ai dati sottostanti abbia esito positivo, la richiesta deve superare i controlli di autorizzazione sia di IAM sia di Lake Formation.
+ Le autorizzazioni IAM controllano l'accesso a Lake Formation AWS Glue APIs e alle risorse, mentre le autorizzazioni di Lake Formation controllano l'accesso alle risorse del Data Catalog, alle sedi Amazon S3 e ai dati sottostanti.

Le autorizzazioni Lake Formation si applicano solo nella Regione in cui sono state concesse e un principale deve essere autorizzato da un amministratore del data lake o da un altro principale con le autorizzazioni necessarie al fine di ottenere le autorizzazioni Lake Formation.

# Prerequisiti per l'integrazione del catalogo di tabelle Amazon S3 con Data Catalog e Lake Formation
<a name="s3tables-catalog-prerequisites"></a>

Di seguito sono riportati i prerequisiti per abilitare l'integrazione AWS Glue Data Catalog delle tabelle Amazon S3 con e. AWS Lake Formation

1.  Quando abiliti l'integrazione delle tabelle Amazon S3, Lake Formation registra automaticamente la posizione delle tabelle S3. Per registrare la posizione del table bucket con Lake Formation, è necessario un IAM role/user con `lakeformation:RegisterResource` e `lakeformation:CreateCatalog` autorizzazioni. `lakeformation:RegisterResourceWithPrivilegedAccess` Quando un utente non amministratore con queste autorizzazioni registra una posizione di catalogo, Lake Formation concede automaticamente l'`DATA_LOCATION_ACCESS`autorizzazione per quella posizione, concedendo al responsabile chiamante le autorizzazioni per eseguire tutte le operazioni di Lake Formation supportate sulla posizione dati registrata.

1. <a name="step3-permissions"></a> Quando abiliti l'integrazione delle tabelle S3, devi scegliere un ruolo IAM per Lake Formation per vendere le credenziali per consentire l'accesso ai dati. Crea un ruolo IAM per l'accesso ai dati di Lake Formation ai tuoi bucket di tabelle S3. Il ruolo IAM utilizzato durante la registrazione del table bucket con Lake Formation richiede le seguenti autorizzazioni: 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "LakeFormationPermissionsForS3ListTableBucket",
               "Effect": "Allow",
               "Action": [
                   "s3tables:ListTableBuckets"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Sid": "LakeFormationDataAccessPermissionsForS3TableBucket",
               "Effect": "Allow",
               "Action": [
                   "s3tables:CreateTableBucket",
                   "s3tables:GetTableBucket",
                   "s3tables:CreateNamespace",
                   "s3tables:GetNamespace",
                   "s3tables:ListNamespaces",
                   "s3tables:DeleteNamespace",
                   "s3tables:DeleteTableBucket",
                   "s3tables:CreateTable",
                   "s3tables:DeleteTable",
                   "s3tables:GetTable",
                   "s3tables:ListTables",
                   "s3tables:RenameTable",
                   "s3tables:UpdateTableMetadataLocation",
                   "s3tables:GetTableMetadataLocation",
                   "s3tables:GetTableData",
                   "s3tables:PutTableData"
               ],
               "Resource": [
                   "arn:aws:s3tables:us-east-1:123456789012:bucket/*"
               ]
           }
       ]
   }
   ```

------

   Per ulteriori informazioni, consulta [Requisiti per i ruoli utilizzati per registrare le sedi](registration-role.md).

1.  Aggiungi la seguente policy di fiducia al ruolo IAM per consentire al servizio Lake Formation di assumere il ruolo e fornire credenziali temporanee ai motori analitici integrati. 

   ```
   {
     "Effect": "Allow",
     "Principal": {
       "Service": "lakeformation.amazonaws.com"
     },
     "Action": [
       "sts:AssumeRole",
       "sts:SetSourceIdentity",
       "sts:SetContext"  # add action to trust relationship when using IAM Identity center principals with Lake Formation
     ]
   }
   ```

**Nota**  
Il processo di integrazione dei servizi di AWS analisi è stato aggiornato. Se l’integrazione è stata configurata con la versione di anteprima, è possibile continuare a utilizzare l’integrazione attuale. Tuttavia, il processo di integrazione aggiornato offre miglioramenti delle prestazioni. Per aggiornare l'integrazione:  
Innanzitutto, elimina il catalogo di tabelle S3 esistente in Lake Formation. **Per eliminare il catalogo, selezionate il `s3tablescatalog` catalogo dall'elenco dei cataloghi e scegliete **Elimina** dalle azioni.**
Quindi, annulla la registrazione della posizione dei dati per. `s3tablescatalog`  
Nella console Lake Formation, nella sezione **Amministrazioni**, scegli **Data Locations**.
Seleziona una posizione e dal menu **Azioni** scegli **Rimuovi**.
Quando viene richiesta la conferma, scegli **Rimuovi**.  
Per istruzioni dettagliate sull'annullamento della registrazione di una posizione dati, consulta la sezione. [Annullamento della registrazione di una sede Amazon S3](unregister-location.md)
Quindi, segui i passaggi di integrazione aggiornati nella [Abilitazione dell'integrazione con Amazon S3 Tables](enable-s3-tables-catalog-integration.md) sezione.

# Abilitazione dell'integrazione con Amazon S3 Tables
<a name="enable-s3-tables-catalog-integration"></a>

Puoi creare bucket di tabelle Amazon S3 utilizzando la console Amazon S3 e integrarla con i servizi di analisi. AWS Per ulteriori informazioni, consulta [Usare le tabelle Amazon S3 con i servizi di AWS analisi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html). 

 Nel AWS Lake Formation, puoi abilitare l'integrazione di Amazon S3 Tables con AWS Glue Data Catalog e AWS Lake Formation utilizzando la console Lake Formation o utilizzarla. AWS CLI

## Per integrare Amazon S3 Tables con Data Catalog e Lake Formation (console)
<a name="w2aac13c27c23b7b1"></a>

1. Apri la console Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Nel riquadro di navigazione, scegli **Catalogs** in **Data Catalog**.

1. Scegli **Abilita l'integrazione con S3 Table** nella pagina **Cataloghi**.   
![\[L'opzione Abilita l'integrazione delle tabelle S3 nella pagina dei cataloghi.\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/enable-s3-table-integration.png)

1.  Scegli un ruolo IAM con le autorizzazioni richieste a Lake Formation da assumere per vendere le credenziali ai motori di query analitici. Per le autorizzazioni richieste per il ruolo di accesso ai dati, consulta la sezione sui [step3-permissions](s3tables-catalog-prerequisites.md#step3-permissions) prerequisiti.   
![\[La schermata di abilitazione dell'integrazione di S3 con il ruolo IAM.\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/enable-s3-table-catalog.png)

1.  Seleziona **Consenti ai motori esterni di accedere ai dati nelle posizioni Amazon S3 con l'opzione di accesso completo alla tabella**. Quando abiliti l'accesso completo alla tabella per i motori di terze parti, Lake Formation restituisce le credenziali direttamente al motore di terze parti senza eseguire la convalida dei tag di sessione IAM. Ciò significa che non è possibile applicare controlli di accesso granulari di Lake Formation alle tabelle a cui si accede. 

1. Scegli **Abilita **. Il nuovo catalogo per S3 Tables viene aggiunto all'elenco dei cataloghi. Quando abiliti l'integrazione del catalogo di tabelle S3, il servizio registra la posizione dei dati del bucket di tabelle S3 con Lake Formation.

1. Scegli il catalogo per visualizzare gli oggetti del catalogo e concedere le autorizzazioni ad altri principali.   
![\[Il catalogo di tabelle S3\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/s3-table-catalog.png)

   Per creare cataloghi a più livelli, consulta la sezione [Creazione di un bucket da tabella](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html) nella Guida per l'utente di Amazon Simple Storage Service.

## Per integrare le tabelle Amazon S3 con Data Catalog e Lake Formation (CLI)
<a name="w2aac13c27c23b7b3"></a>

Seguendo la sezione dei prerequisiti, crea un ruolo di servizio IAM che consenta a Lake Formation di accedere alle risorse della tua tabella.

1. Creare un file denominato `Role-Trust-Policy.json` contenente la seguente policy di attendibilità:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
         {
           "Sid": "LakeFormationDataAccessPolicy",
           "Effect": "Allow",
           "Principal": {
             "Service": "lakeformation.amazonaws.com"
           },
           "Action": [
               "sts:AssumeRole",
               "sts:SetContext",
               "sts:SetSourceIdentity"
           ],
           "Condition": {
             "StringEquals": {
               "aws:SourceAccount": "111122223333"
             }
           }
         }
       ]
   }
   ```

1. Creare un ruolo di servizio IAM utilizzando il comando seguente:

   ```
   aws iam create-role \
     --role-name S3TablesRoleForLakeFormation \
     --assume-role-policy-document file://Role-Trust-Policy.json
   ```

1. Creare un file denominato `LF-GluePolicy.json` contenente la seguente policy:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "LakeFormationPermissionsForS3ListTableBucket",
               "Effect": "Allow",
               "Action": [
                   "s3tables:ListTableBuckets"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Sid": "LakeFormationDataAccessPermissionsForS3TableBucket",
               "Effect": "Allow",
               "Action": [
                   "s3tables:CreateTableBucket",
                   "s3tables:GetTableBucket",
                   "s3tables:CreateNamespace",
                   "s3tables:GetNamespace",
                   "s3tables:ListNamespaces",
                   "s3tables:DeleteNamespace",
                   "s3tables:DeleteTableBucket",
                   "s3tables:CreateTable",
                   "s3tables:DeleteTable",
                   "s3tables:GetTable",
                   "s3tables:ListTables",
                   "s3tables:RenameTable",
                   "s3tables:UpdateTableMetadataLocation",
                   "s3tables:GetTableMetadataLocation",
                   "s3tables:GetTableData",
                   "s3tables:PutTableData"
               ],
               "Resource": [
                   "arn:aws:s3tables:us-east-1:111122223333:bucket/*"
               ]
           }
       ]
   }
   ```

1. Collegare la policy al ruolo utilizzando il comando seguente:

   ```
   aws iam put-role-policy \
     --role-name S3TablesRoleForLakeFormation \
     --policy-name LakeFormationDataAccessPermissionsForS3TableBucket \
     --policy-document file://LF-GluePolicy.json
   ```

1. Creare un file denominato `input.json` contenente quanto segue:

   ```
   {
       "ResourceArn": "arn:aws:s3tables:us-east-1:111122223333:bucket/*",
       "WithFederation": true,
       "RoleArn": "arn:aws:iam::111122223333:role/S3TablesRoleForLakeFormation"
   }
   ```

1. Registrare i bucket di tabelle con Lake Formation utilizzando il comando seguente:

   ```
   aws lakeformation register-resource \
     --region us-east-1 \
     --with-privileged-access \
     --cli-input-json file://input.json
   ```

1. Creare un file denominato `catalog.json` contenente il catalogo seguente:

   ```
   {
      "Name": "s3tablescatalog",
      "CatalogInput": {
         "FederatedCatalog": {
             "Identifier": "arn:aws:s3tables:us-east-1:111122223333:bucket/*",
             "ConnectionName": "aws:s3tables"
          },
          "CreateDatabaseDefaultPermissions": [],
          "CreateTableDefaultPermissions": [],
          "AllowFullTableExternalDataAccess": "True"
      }
   }
   ```

1. Creare il catalogo `s3tablescatalog` utilizzando il comando seguente. La creazione di questo catalogo li popola AWS Glue Data Catalog con oggetti corrispondenti a bucket di tabelle, namespace e tabelle.

   ```
   aws glue create-catalog \
     --region us-east-1 \
     --cli-input-json file://catalog.json
   ```

1. Verificate che il `s3tablescatalog` catalogo sia stato aggiunto utilizzando il comando AWS Glue seguente:

   ```
   aws glue get-catalog --catalog-id s3tablescatalog
   ```

# Creazione di database e tabelle nel catalogo di tabelle S3
<a name="create-databases-tables-s3-catalog"></a>

 Puoi creare database per organizzare le tabelle Apache Iceberg e tabelle per definire lo schema e la posizione dei dati nel catalogo delle tabelle S3. 

## Crea un database (console)
<a name="w2aac13c27c25b5b1"></a>

1.  Apri la console Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)e accedi come amministratore di data lake o creatore di database. 

1. Nel riquadro di navigazione, scegli **Database** in **Data Catalog**.

1. Scegliere **Crea database**.

1.  Nella pagina **Crea database**, scegli l'opzione **Database** e inserisci i seguenti dettagli: 
   + **Nome**: un nome univoco per il database
   + **Catalogo dati**: scegli il catalogo delle tabelle S3. Il database risiederà in questo catalogo.
   + **Descrizione**: (Facoltativo) Aggiungi una descrizione e una posizione. 
   + **Controllo di accesso IAM per nuove tabelle**: seleziona Facoltativamente Usa solo il controllo di accesso IAM per le nuove tabelle in questo database. Per informazioni su questa opzione, consulta la sezione [Modifica delle impostazioni predefinite per il tuo data lake](https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html). 
   + Scegli **Crea database**. Puoi vedere il database creato nel catalogo delle tabelle S3.

## Crea un database usando AWS CLI
<a name="w2aac13c27c25b5b3"></a>

Il seguente comando CLI mostra come creare un database nel catalogo di tabelle S3.

```
aws glue create-database 
--region us-east-1 \
--catalog-id "123456789012:s3tablescatalog/test" \
--database-input \
 '{ "Name": "testglueclidbcreation" }'
```

## Crea una tabella ()Console di gestione AWS
<a name="w2aac13c27c25b5b5"></a>

 Puoi creare tabelle di metadati Apache Iceberg nel catalogo delle tabelle S3 utilizzando la console Lake Formation o l'API. AWS Glue `CreateTable` 

1. Apri la console Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)e accedi come amministratore del data lake o utente con `CreateTable` autorizzazione.

1. Nel riquadro di navigazione, scegli **Tabelle** in Data Catalog.

1. Scegliere Create table (Crea tabella).

1. Nella pagina **Crea tabella**, inserisci i dettagli della tabella:  
![\[Il catalogo di tabelle S3\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/s3-catalog-create-table.png)
   + **Nome**: inserisci un nome univoco per la tabella.
   + **Catalogo**: scegli il catalogo delle tabelle S3 come catalogo.
   + **Database**: scegli il database nel catalogo delle tabelle S3.
   +  **Descrizione**: inserisci una descrizione per la tabella. 
   + **Schema**: scegli Aggiungi colonne per aggiungere colonne e tipi di dati delle colonne. Si dispone della possibilità di creare una tabella vuota e di aggiornare lo schema in un secondo momento. Iceberg consente di evolvere lo schema e la partizione dopo aver creato la tabella. È possibile usare le query di Athena per aggiornare lo schema della tabella e le query Spark per aggiornare le partizioni. 

1. Seleziona **Invia**.

## Crea una tabella (AWS CLI)
<a name="w2aac13c27c25b5b7"></a>

```
aws glue create-table \ 
--database-name "testglueclidbcreation" \ 
--catalog-id "123456789012:s3tablescatalog/test" \ 
--region us-east-1 \ 
--table-input \ 
'{ "Name": "testtablegluecli", "Parameters": { "format": "ICEBERG" }, "StorageDescriptor": { "Columns": [ {"Name": "x", "Type": "int", "Parameters": {"required": "true"}} ] } }'
```

# Registrazione di un bucket da tavolo Amazon S3 in un altro account AWS
<a name="register-cross-account-s3-table-bucket"></a>

Puoi registrare singoli table bucket Amazon S3 (formato ARN:`arn:aws:s3tables:us-east-1:account-id:bucket/bucket-name`) da un account con AWS Lake Formation in un altro account. Ad esempio, puoi registrare un table bucket dall'account A in Lake Formation dell'account B.

## Prerequisiti
<a name="w2aac13c27c27b5"></a>

Prima di iniziare la registrazione del bucket tra account:
+ Crea un bucket da tavolo nell'account A.
+ Crea un ruolo IAM nell'account B con le autorizzazioni appropriate per la registrazione del bucket.

  Per ulteriori informazioni sulle autorizzazioni necessarie per registrare un table bucket con Lake Formation, vedere. [Prerequisiti per l'integrazione del catalogo di tabelle Amazon S3 con Data Catalog e Lake Formation](s3tables-catalog-prerequisites.md)
+ Registra il table bucket nell'account in cui intendi creare il catalogo di tabelle S3.
+  Per l'accesso tra account diversi, il ruolo specificato al momento della registrazione del table bucket deve essere un ruolo interno all'account con le autorizzazioni appropriate per accedere al bucket tra account. Il ruolo richiede le azioni IAM di S3 Tables necessarie per accedere alle risorse del bucket.

## Registrazione di bucket di tabelle tra account
<a name="w2aac13c27c27b7"></a>

Nelle seguenti procedure, l'account A è l'account proprietario delle risorse e l'account B è il luogo in cui verrà registrato il table bucket per la gestione delle autorizzazioni di accesso.

1. Accedi all'account A. Console di gestione AWS 

   Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1.  Creare un bucket di tabelle. Per ulteriori informazioni, consulta [Creating a table bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html) nella Amazon S3 User Guide. 

1. Registra il table bucket nell'account B.

   Usa il AWS CLI per registrare il table bucket dall'account A con Lake Formation nell'account B.

   ```
   aws lakeformation register-resource \
   --resource-arn 'arn:aws:s3tables:us-east-1:account-A-id:bucket/single-bucket-name' \
   --role-arn arn:aws:iam::account-B-id:role/role-name \
   --region us-east-1
   ```

   Sostituisci account-A-id single-bucket-name, account-B-id, e role-name con i tuoi valori specifici.

1. Quindi, crea un catalogo per il table bucket nell'account B.

   Crea un catalogo utilizzando. AWS CLI

   ```
   aws glue create-catalog --region us-east-1 \
   --cli-input-json \
   '{
      "Name": "catalog-name",
      "CatalogInput" : {
         "FederatedCatalog": {
            "Identifier": "arn:aws:s3tables:us-east-1:account A:bucket/single-bucket-name",
            "ConnectionName": "aws:s3tables"
         },
         "CreateDatabaseDefaultPermissions": [],
         "CreateTableDefaultPermissions": []      
      }
   }'
   ```

   Sostituisci catalog-name e bucket-name con i tuoi valori specifici. account-A-id

    L'esempio CLI seguente mostra come visualizzare i dettagli del catalogo. 

   ```
    aws glue get-catalog \
     --catalog-id account-id:catalog-name \
     --region us-east-1
   ```

1. Successivamente, crea database e tabelle nel catalogo appena creato nell'account B.

   Crea un database.

   ```
   aws glue create-database \
     --region us-east-1 \
     --catalog-id "account-B-id:catalog-name" \
     --database-input \
   '{
     "Name": "database-name"
   }'
   ```

   Creare una tabella.

   ```
   aws glue create-table \
     --database-name database-name \
     --catalog-id account-B-id:catalog-name\
     --region us-east-1 \
     --table-input \
     '{
           "Name": "table-name",
           "Parameters": {
               "format": "ICEBERG"
           },
           "StorageDescriptor": {
              "Columns": [
           {"Name": "x", "Type": "int", "Parameters": {"required": "true"}}
             ]
           }
   }'
   ```

   Sostituisci il nome del database account-B-id, il nome del catalogo e il nome della tabella con i tuoi valori specifici.

1. Gli esempi seguenti mostrano come visualizzare gli oggetti nel catalogo.

   Visualizza i dettagli del database.

   ```
   aws glue get-database \
     --name database-name \
     --catalog-id account-B-id:catalog-name \
     --region us-east-1
   ```

   Visualizza i dettagli della tabella.

   ```
   aws glue get-table \
     --name table-name \
     --database-name database-name \
     --catalog-id account-B-id:catalog-name \
     --region us-east-1
   ```

   Sostituisci il nome del database account-B-id, il nome del catalogo e il nome della tabella con i tuoi valori specifici.

# Concessione di autorizzazioni
<a name="s3-tables-grant-permissions"></a>

 Dopo aver integrato le tabelle S3 con AWS Lake Formation, puoi concedere le autorizzazioni sul catalogo di tabelle S3 e sugli oggetti del catalogo (table bucket, database, tabelle) ad altri ruoli e utenti IAM del tuo account. Le autorizzazioni di Lake Formation consentono di definire i controlli di accesso a livello di tabella, colonna e riga per gli utenti di motori analitici integrati come Amazon Redshift Spectrum e Athena. 

 È possibile concedere le autorizzazioni utilizzando il metodo named resource o il metodo di controllo degli accessi basato su tag Lake Formation (LF-TBAC). Prima di concedere le autorizzazioni utilizzando i tag LF e le espressioni dei tag LF, è necessario definirle e assegnarle agli oggetti del Data Catalog. 

Per ulteriori informazioni, consulta [Gestione dei tag LF per il controllo dell'accesso ai metadati](managing-tags.md).

Puoi condividere database e tabelle con AWS account esterni concedendo le autorizzazioni di Lake Formation agli account esterni. Gli utenti possono quindi eseguire query e lavori che uniscono e interrogano tabelle su più account. Quando condividi una risorsa del catalogo con un altro account, i responsabili di quell'account possono utilizzare quella risorsa come se la risorsa si trovasse nel loro catalogo dati. 

Quando condividi database e tabelle con account esterni, l'autorizzazione **Super user** non è disponibile. 

 Per istruzioni dettagliate sulla concessione delle autorizzazioni, consulta la [Gestione delle autorizzazioni di Lake Formation](managing-permissions.md) sezione. 

## AWS CLI esempio di concessione delle autorizzazioni su una tabella Amazon S3
<a name="w2aac13c27c29c15"></a>

```
aws lakeformation grant-permissions \
--cli-input-json \
'{
    "Principal": {
        "DataLakePrincipalIdentifier":"arn:aws:iam::111122223333:role/DataAnalystRole"
    },
    "Resource": {
        "Table": {
            "CatalogId":"111122223333:s3tablescatalog/amzn-s3-demo-bucket1",
            "DatabaseName":"S3 table bucket namespace <example_namespace>",
            "Name":"S3 table bucket table name <example_table>"
        }
    },
    "Permissions": [
        "SELECT"
    ]
}'
```

 Di seguito sono riportati i parametri da includere nel comando: 
+ DataLakePrincipalIdentifier — ARN di utenti, ruoli o gruppi IAM per concedere le autorizzazioni
+ CatalogId — ID dell' AWS account a 12 cifre che possiede il Data Catalog
+ DatabaseName — Nome dello spazio dei nomi del bucket di tabella Amazon S3
+ Nome: nome della tabella bucket di Amazon S3
+ Autorizzazioni: autorizzazioni da concedere. Le opzioni includono: SELECT, INSERT, DELETE, DESCRIBE, ALTER, DROP, ALLL e SUPER

# Accesso a tabelle Amazon S3 condivise
<a name="s3-tables-cross-account-sharing"></a>

 Dopo aver concesso le autorizzazioni per più account su un database o una tabella nel catalogo delle tabelle S3, per accedere alle risorse, devi creare collegamenti alle risorse ai database e alle tabelle condivisi. 

1.  Nell'account di destinazione (l'account che riceve le risorse condivise), crea un link alle risorse del database. Per istruzioni dettagliate, vedi [Creazione di un collegamento di risorsa a un database Data Catalog condiviso](create-resource-link-database.md). 

   Esempio CLI per la creazione di un collegamento a una risorsa del database

   ```
   aws glue create-database 
   --region us-east-1 
   --catalog-id "111122223333" 
   --database-input \
   '{
     "Name": "s3table_resourcelink",
     "TargetDatabase": {
       "CatalogId": "011426214932:s3tablescatalog/chmni-s3-table-bucket-011426214932",
       "DatabaseName": "s3_table_ns"
     },
     "CreateTableDefaultPermissions": []
   }'
   ```

1.  Concedi l'autorizzazione per più account sulla tabella. 

   Esempio CLI per la concessione di autorizzazioni tra account

   ```
   aws lakeformation grant-permissions \
   --region us-east-1 \
   --cli-input-json \
   '{
       "Principal": {
           "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:role/S3TablesTestExecRole"
       },
       "Resource": {
           "Table": {
               "CatalogId": "011426214932:s3tablescatalog/chmni-s3-table-bucket-011426214932",
               "DatabaseName": "s3_table_ns",
               "Name": "test_s3_iceberg_table"
           }
       },
       "Permissions": [
           "ALL"
       ]
   }'
   ```

1.  Concedi `DESCRIBE` l'autorizzazione a Lake Formation sul link alla risorsa. 

    Esempio CLI per la concessione dell'autorizzazione alla descrizione sul collegamento alla risorsa. 

   ```
   aws lakeformation grant-permissions \
       --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/S3TablesTestExecRole
       --resource Database='{CatalogId=111122223333;, Name=s3table_resourcelink}' \
       --permissions DESCRIBE
   ```