

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

# Abilitazione delle autorizzazioni per un motore di query di terze parti per chiamare le operazioni dell'API di integrazione delle applicazioni
<a name="permitting-third-party-call"></a>

Segui questi passaggi per consentire a un motore di query di terze parti di richiamare le operazioni dell'API di integrazione delle applicazioni tramite la AWS Lake Formation console, l' AWS CLI API/SDK.

------
#### [ Console ]

**Per registrare il tuo account per il filtraggio dei dati esterni:**

1. Accedi a Console di gestione AWS, e apri la console Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Nella barra di navigazione a sinistra, espandi **Amministrazione**, quindi scegli Impostazioni di **integrazione delle applicazioni**.

1. Nella pagina delle **impostazioni di integrazione delle applicazioni**, scegli l'opzione **Consenti ai motori esterni di filtrare i dati nelle località Amazon S3 registrate** con. Lake Formation

1. Inserisci i tag di sessione che hai creato per il motore di terze parti. Per informazioni sui tag di sessione, consultate [Passare i tag di sessione in AWS STS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) nella *Guida AWS Identity and Access Management per l'utente*.

1. Inserisci l'account IDs per gli utenti che possono utilizzare il motore di terze parti per accedere a informazioni sui metadati non filtrate e alle credenziali di accesso ai dati delle risorse dell'account corrente.

   Puoi anche utilizzare il campo ID AWS account per configurare l'accesso tra account.  
![\[La schermata mostra la pagina delle impostazioni di integrazione dell'applicazione per. Lake Formation È selezionata l'opzione Consenti ai motori esterni di filtrare i dati nelle località Amazon S3 registrate con Lake Formation. Per i valori dei tag di sessione, la casella di testo è vuota, ma ci sono sei tag visualizzati sotto il campo, con i valori «engine1, «engine2", «engine3", «session1", «session2" e «session3". Account AWS IDs L'ultimo campo mostra il campo. Il campo di testo è vuoto, ma ci sono tre tag visualizzati sotto questo campo con l'account IDs. I valori dell'ID dell'account vengono oscurati.\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/cred-vending-external-data-filtering.png)

------
#### [ CLI ]

Utilizzate il comando `put-data-lake-settings` CLI per impostare i seguenti parametri.

Ci sono tre campi da configurare quando si utilizza questo AWS CLI comando:
+ `allow-external-data-filtering `— (booleano) Indica che un motore di terze parti può accedere a informazioni sui metadati non filtrate e alle credenziali di accesso ai dati delle risorse dell'account corrente. 
+ `external-data-filtering-allow-list`— (array) Un elenco di account IDs che possono accedere alle informazioni sui metadati non filtrate e alle credenziali di accesso ai dati delle risorse dell'account corrente quando si utilizza un motore di terze parti. Quando AllowExternalDataFiltering è impostata su true, la ExternalDataFilteringAllowList proprietà deve includere almeno un ID di account. Non è consentito un elenco vuoto.
+ `authorized-sessions-tag-value-list`— (array) Un elenco di valori (stringhe) dei tag di sessione autorizzati. Se una credenziale di ruolo IAM è stata associata a una coppia chiave-valore autorizzata, se il tag di sessione è incluso nell'elenco, alla sessione viene concesso l'accesso alle informazioni sui metadati non filtrate e alle credenziali di accesso ai dati sulle risorse dell'account configurato. La chiave del tag di sessione autorizzata è definita come. `*LakeFormationAuthorizedCaller*`
+ `AllowFullTableExternalDataAccess`- (boolean) Indica se consentire a un motore di query di terze parti di ottenere le credenziali di accesso ai dati senza tag di sessione quando un chiamante dispone delle autorizzazioni complete di accesso ai dati. 

Esempio:

```
aws lakeformation put-data-lake-settings --cli-input-json file://datalakesettings.json

{
  "DataLakeSettings": {
    "DataLakeAdmins": [
      {
        "DataLakePrincipalIdentifier": "arn:aws:iam::111111111111:user/lakeAdmin"
      }
    ],
    "CreateDatabaseDefaultPermissions": [],
    "CreateTableDefaultPermissions": [],
    "TrustedResourceOwners": [],
    "AllowExternalDataFiltering": true,
    "ExternalDataFilteringAllowList": [
        {"DataLakePrincipalIdentifier": "111111111111"}
        ],
    "AuthorizedSessionTagValueList": ["engine1"],
    "AllowFullTableExternalDataAccess": false
    }
    

}
```

------
#### [ API/SDK ]

Utilizzate l'operazione `PutDataLakeSetting` API per impostare i seguenti parametri. 

Esistono tre campi da configurare quando si utilizza questa operazione API:
+ `AllowExternalDataFiltering`— (Boolean) Indica se un motore di terze parti può accedere a informazioni sui metadati non filtrate e alle credenziali di accesso ai dati delle risorse dell'account corrente. 
+ `ExternalDataFilteringAllowList`— (array) Un elenco di account IDs che possono accedere alle informazioni sui metadati non filtrate e alle credenziali di accesso ai dati delle risorse dell'account corrente utilizzando un motore di terze parti. 
+ `AuthorizedSectionsTagValueList`— (array) Un elenco di valori di tag autorizzati (stringhe). Se una credenziale di ruolo IAM è stata associata a un tag autorizzato, alla sessione viene concesso l'accesso alle informazioni sui metadati non filtrate e alle credenziali di accesso ai dati sulle risorse dell'account configurato. La chiave del tag di sessione autorizzata è definita come. `*LakeFormationAuthorizedCaller*` 
+  `AllowFullTableExternalDataAccess`- (boolean) Indica se consentire a un motore di query di terze parti di ottenere le credenziali di accesso ai dati senza tag di sessione quando un chiamante dispone delle autorizzazioni complete di accesso ai dati. 

Esempio:

```
//Enable session tag on existing data lake settings
public void sessionTagSetUpForExternalFiltering(AWSLakeFormationClient lakeformation) {
    GetDataLakeSettingsResult getDataLakeSettingsResult = lfClient.getDataLakeSettings(new GetDataLakeSettingsRequest());
    DataLakeSettings dataLakeSettings = getDataLakeSettingsResult.getDataLakeSettings();
    
    //set account level flag to allow external filtering
    dataLakeSettings.setAllowExternalDataFiltering(true);
    
    //set account that are allowed to call credential vending or Glue GetFilteredMetadata API
    List<DataLakePrincipal> allowlist = new ArrayList<>();
    allowlist.add(new DataLakePrincipal().withDataLakePrincipalIdentifier("111111111111"));
    dataLakeSettings.setWhitelistedForExternalDataFiltering(allowlist);
    
    //set registered session tag values
    List<String> registeredTagValues = new ArrayList<>();
    registeredTagValues.add("engine1");
    dataLakeSettings.setAuthorizedSessionTagValueList(registeredTagValues);

    lakeformation.putDataLakeSettings(new PutDataLakeSettingsRequest().withDataLakeSettings(dataLakeSettings));
}
```

------