

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

# Prerequisiti: ruolo IAM e accesso ad Amazon S3
<a name="bulk-load-tutorial-IAM"></a>

Il caricamento di dati da un bucket Amazon Simple Storage Service (Amazon S3) richiede AWS Identity and Access Management un ruolo (IAM) che abbia accesso al bucket. Tale ruolo viene assunto da Amazon Neptune per caricare i dati.

**Nota**  
È possibile caricare i dati crittografati da Amazon S3 se sono stati crittografati utilizzando la modalità `SSE-S3` di Amazon S3. In questo caso, Neptune è in grado di impersonare le credenziali dell'utente e di effettuare chiamate a `s3:getObject` per conto dell'utente.  
È possibile anche caricare i dati crittografati da Amazon S3 che sono stati crittografati utilizzando la modalità `SSE-KMS`, purché il ruolo IAM includa le autorizzazioni necessarie per accedere a AWS KMS. Senza AWS KMS le autorizzazioni appropriate, l'operazione di caricamento in blocco non riesce e restituisce una risposta. `LOAD_FAILED`  
Neptune non supporta attualmente il caricamento di dati Amazon S3 crittografati utilizzando la modalità `SSE-C`.

Le seguenti sezioni mostrano come utilizzare una policy IAM gestita per creare un ruolo IAM per l'accesso alle risorse Amazon S3 e quindi collegare il ruolo al cluster Neptune.

**Topics**
+ [Creazione di un ruolo IAM per consentire ad Amazon Neptune di accedere alle risorse di Amazon S3](bulk-load-tutorial-IAM-CreateRole.md)
+ [Aggiunta del ruolo IAM a un cluster Amazon Neptune](bulk-load-tutorial-IAM-add-role-cluster.md)
+ [Creazione dell'endpoint VPC Amazon S3](bulk-load-tutorial-vpc.md)
+ [Concatenazione di ruoli IAM in Amazon Neptune](bulk-load-tutorial-chain-roles.md)

**Nota**  
Per seguire le istruzioni devi disporre dell'accesso alla console IAM e delle autorizzazioni per gestire ruoli e policy IAM. Per ulteriori informazioni, consulta [Autorizzazioni per lavorare nella console di AWS gestione nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions-required.html#Credentials-Permissions-overview-console) per l'utente *IAM*.  
La console di Amazon Neptune richiede che l'utente disponga delle seguenti autorizzazioni IAM per collegare il ruolo al cluster Neptune.  

```
iam:GetAccountSummary on resource: *
iam:ListAccountAliases on resource: *
iam:PassRole on resource: * with iam:PassedToService restricted to rds.amazonaws.com
```

# Creazione di un ruolo IAM per consentire ad Amazon Neptune di accedere alle risorse di Amazon S3
<a name="bulk-load-tutorial-IAM-CreateRole"></a>

Utilizzare la policy IAM gestita `AmazonS3ReadOnlyAccess` per creare un nuovo ruolo IAM che consenta ad Amazon Neptune di accedere alle risorse di Amazon S3.

**Per creare un nuovo ruolo IAM che consenta a Neptune di accedere ad Amazon S3**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, seleziona **Roles** (Ruoli).

1. Selezionare **Create role (Crea ruolo)**.

1. In **Servizio AWS **, scegli **S3**.

1. Scegli **Successivo: autorizzazioni**.

1. **Utilizza la casella del filtro per filtrare in base al termine **S3** e seleziona la casella accanto ad AmazonS3. ReadOnlyAccess**
**Nota**  
Questa policy concede le autorizzazioni `s3:Get*` e `s3:List*` per tutti i bucket. Le fasi successive limitano l'accesso al ruolo utilizzando la policy di attendibilità.  
Lo strumento di caricamento richiede solo le autorizzazioni `s3:Get*` e `s3:List*` per il bucket da cui si esegue il caricamento, quindi è possibile limitare queste autorizzazioni anche in base alla risorsa Amazon S3.  
Se il bucket S3 è crittografato, occorre aggiungere autorizzazioni `kms:Decrypt`

1. Scegli **Prossimo: Rivedi**.

1. Impostare **Nome ruolo** su un nome per il ruolo IAM, ad esempio `NeptuneLoadFromS3`. È anche possibile aggiungere un valore opzionale in **Descrizione ruolo**, ad esempio "Consente a Neptune di accedere alle risorse di Amazon S3 per conto tuo".

1. Selezionare **Crea ruolo**.

1. Nel riquadro di navigazione, seleziona **Ruoli**.

1. Nel campo **Search (Cerca)** digita il nome del ruolo creato e selezionalo quando viene visualizzato nell'elenco.

1. Nella scheda **Trust relationships (Relazioni di trust)** scegli **Edit trust relationship (Modifica relazione di trust)**.

1. Nel campo di testo incollare la seguente policy di attendibilità.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "rds.amazonaws.com"
           ]
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. Scegliere **Update trust Policy** (Aggiorna policy di attendibilità).

1. Completa le fasi descritte in [Aggiunta del ruolo IAM a un cluster Amazon Neptune](bulk-load-tutorial-IAM-add-role-cluster.md).

# Aggiunta del ruolo IAM a un cluster Amazon Neptune
<a name="bulk-load-tutorial-IAM-add-role-cluster"></a>

È possibile utilizzare la console per aggiungere il ruolo IAM a un cluster Amazon Neptune. In questo modo qualsiasi istanza database Neptune nel cluster può assumere il ruolo e caricare dati da Amazon S3.

**Nota**  
La console di Amazon Neptune richiede che l'utente disponga delle seguenti autorizzazioni IAM per collegare il ruolo al cluster Neptune.  

```
iam:GetAccountSummary on resource: *
iam:ListAccountAliases on resource: *
iam:PassRole on resource: * with iam:PassedToService restricted to rds.amazonaws.com
```

**Per aggiungere un ruolo IAM a un cluster Amazon Neptune**

1. [Accedi alla console di AWS gestione e apri la console Amazon Neptune da casa. https://console.aws.amazon.com/neptune/](https://console.aws.amazon.com/neptune/home)

1. Nel pannello di navigazione, seleziona **Database**.

1. Scegli l'identificatore del cluster per il cluster che desideri modificare.

1. Scegli la scheda **Connettività e sicurezza**.

1. Nella sezione IAM Roles, scegli il ruolo che hai creato nella sezione precedente.

1. Scegliere **Add role (Aggiungi ruolo)**.

1. Attendi che il ruolo IAM diventi accessibile al cluster prima di utilizzarlo.

# Creazione dell'endpoint VPC Amazon S3
<a name="bulk-load-tutorial-vpc"></a>

Lo strumento di caricamento Neptune richiede un endpoint VPC di tipo Gateway per Amazon S3.

**Per configurare l'accesso ad Amazon S3**

1. Accedi Console di gestione AWS e apri la console Amazon VPC all'indirizzo. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Nel pannello di navigazione, seleziona **Endpoints (Endpoint)**.

1. Scegliere **Create Endpoint** (Crea endpoint).

1. Scegli il **Nome servizio** `com.amazonaws.region.s3` per l'endpoint di tipo Gateway.
**Nota**  
Se la regione indicata qui non è corretta, verifica che lo sia la regione della console.

1. Scegli il VPC che contiene l'istanza database Neptune (è elencato per l'istanza database nella console Neptune).

1. Selezionare la casella di controllo accanto alle tabelle di routing associate alle sottoreti correlate al proprio cluster. Se si dispone di una sola tabella di routing, è necessario selezionare la casella corrispondente.

1. Scegliere **Create Endpoint** (Crea endpoint).

Per ulteriori informazioni sulla creazione dell'endpoint, consulta [Endpoint VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html#create-vpc-endpoint) nella *Guida per l'utente di Amazon VPC*. Per informazioni sulle limitazioni degli endpoint VPC, consulta [Endpoint VPC per Amazon S3](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html).

**Fasi successive**  
Ora che hai concesso l'accesso al bucket Amazon S3, puoi prepararti a caricare i dati. Per informazioni sui formati supportati, vedi [Formati dei dati di caricamento](bulk-load-tutorial-format.md).

# Concatenazione di ruoli IAM in Amazon Neptune
<a name="bulk-load-tutorial-chain-roles"></a>

**Importante**  
La nuova funzionalità di caricamento in blocco multi-account introdotta nel [rilascio del motore 1.2.1.0.R3](engine-releases-1.2.1.0.R3.md), che sfrutta il concatenamento dei ruoli IAM, può in alcuni casi causare un peggioramento delle prestazioni di caricamento in blocco. Di conseguenza, gli aggiornamenti ai rilasci del motore che supportano questa funzionalità sono stati temporaneamente sospesi fino alla risoluzione del problema.

Quando si collega un ruolo al cluster, il cluster può assumere tale ruolo per accedere ai dati archiviati in Amazon S3. A partire dal [rilascio del motore 1.2.1.0.R3](engine-releases-1.2.1.0.R3.md), se quel ruolo non ha accesso a tutte le risorse necessarie, è possibile concatenare uno o più ruoli aggiuntivi che il cluster può assumere per accedere ad altre risorse. Ogni ruolo nella catena assume il ruolo successivo nella catena, fino a quando il cluster non assume il ruolo alla fine della catena.

Per concatenare i ruoli, è possibile stabilire una relazione di trust tra di essi. Ad esempio, per concatenare `RoleB` a `RoleA`, `RoleA` deve disporre di una policy di autorizzazioni che gli consenta di assumere `RoleB` e `RoleB` deve disporre di una policy di trust che gli consenta di passare le proprie autorizzazioni a `RoleA`. Per ulteriori informazioni, consulta [Utilizzo di ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html).

Il primo ruolo di una catena deve essere collegato al cluster che sta caricando i dati.

Il primo ruolo e ogni ruolo successivo che assume il ruolo seguente nella catena devono avere:
+ Una policy che include una dichiarazione specifica con l'effetto `Allow` sull'azione `sts:AssumeRole`.
+ Il nome della risorsa Amazon (ARN) del ruolo successivo in un elemento `Resource`.

**Nota**  
Il bucket Amazon S3 di destinazione deve trovarsi nella stessa AWS regione del cluster.

## Accesso multi-account tramite ruoli concatenati
<a name="bulk-load-tutorial-chain-cross-account"></a>

È possibile concedere l'accesso multi-account concatenando uno o più ruoli che appartengono a un altro account. Quando il cluster assume temporaneamente un ruolo appartenente a un altro account, può accedere alle relative risorse.

Supponiamo, ad esempio, che l'**Account A** voglia accedere ai dati in un bucket Amazon S3 che appartiene all'**Account B**:
+ L'**account A** crea un ruolo AWS di servizio `RoleA` denominato per Neptune e lo collega a un cluster.
+ L'**Account B** crea un ruolo denominato `RoleB` autorizzato ad accedere ai dati in un bucket dell'**Account B**.
+ L'**Account A** collega una policy di autorizzazioni a `RoleA` che gli consente di assumere `RoleB`.
+ L'**Account B** collega una policy di trust a `RoleB` che gli consente di passare le proprie autorizzazioni a `RoleA`.
+ Per accedere ai dati nel bucket dell'**Account B**, l'**Account A** esegue un comando dello strumento di caricamento con un parametro `iamRoleArn` che concatena `RoleA` e `RoleB`. Per la durata dell'operazione loader, `RoleA` assume temporaneamente il ruolo `RoleB` per accedere al bucket Amazon S3 nell'**Account B**.

![\[Diagramma che illustra l'accesso multi-account tramite ruoli concatenati\]](http://docs.aws.amazon.com/it_it/neptune/latest/userguide/images/cross-account-bulk-load.png)


Ad esempio, `RoleA` avrà una policy di trust che stabilisce una relazione di trust con Neptune:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
          "Service": "rds.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

`RoleA` avrà anche una policy di autorizzazione che gli consente di assumere il ruolo `RoleB`, che è di proprietà dell'**Account B**:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Stmt1487639602000",
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": "arn:aws:iam::111122223333:role/RoleB"
        }
    ]
}
```

------

Al contrario, `RoleB` avrà una policy di trust per stabilire una relazione di trust con `RoleA`:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/RoleA"
            }
        }
    ]
}
```

------

`RoleB` avrà inoltre bisogno dell'autorizzazione per accedere ai dati nel bucket Amazon S3 situato nell'**Account B**.

## Creazione di un AWS Security Token Service endpoint VPC (STS)
<a name="bulk-load-tutorial-sts-endpoint"></a>

Il loader Neptune richiede un AWS STS endpoint VPC per quando si concatenano i ruoli IAM all'accesso privato tramite indirizzi IP privati. AWS STS APIs Puoi connetterti direttamente da un Amazon VPC a AWS STS un endpoint VPC in modo sicuro e scalabile. L'utilizzo di un endpoint VPC dell'interfaccia offre un migliore assetto di sicurezza in quanto non è necessario aprire firewall per il traffico in uscita. Offre inoltre gli altri vantaggi derivanti dall'utilizzo degli endpoint Amazon VPC.

Quando si utilizza un endpoint VPC, il traffico verso AWS STS non viene trasmesso su Internet e non esce mai dalla rete Amazon. Il tuo VPC è connesso in modo sicuro AWS STS senza rischi di disponibilità o vincoli di larghezza di banda sul traffico di rete. Per ulteriori informazioni, consulta [Utilizzo di endpoint VPC dell'interfaccia AWS STS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_sts_vpce.html).

**Per configurare l'accesso per (STS) AWS Security Token Service**

1. Accedi Console di gestione AWS e apri la console Amazon VPC all'indirizzo. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Nel pannello di navigazione, seleziona **Endpoints (Endpoint)**.

1. Scegliere **Create Endpoint** (Crea endpoint).

1. Scegli il **Nome servizio** `com.amazonaws.region.sts` per l'endpoint di tipo Interfaccia.

1. Scegli il **VPC** che contiene l'istanza database Neptune e l'istanza EC2.

1. Seleziona la casella di controllo accanto alla sottorete in cui è presente l'istanza EC2. Non è possibile selezionare più sottoreti dalla stessa zona di disponibilità.

1. Per IP address type (Tipo di indirizzo IP), seleziona una delle opzioni seguenti:
   + **IPv4**— Assegna IPv4 indirizzi alle interfacce di rete degli endpoint. Questa opzione è supportata solo se tutte le sottoreti selezionate hanno intervalli di indirizzi. IPv4 
   + **IPv6**— Assegna IPv6 indirizzi alle interfacce di rete degli endpoint. Questa opzione è supportata solo se tutte le sottoreti selezionate sono sottoreti -only. IPv6
   + **Dualstack**: assegna entrambi gli indirizzi alle interfacce di rete degli endpoint. IPv4 IPv6 Questa opzione è supportata solo se tutte le sottoreti selezionate hanno entrambi gli intervalli di indirizzi. IPv4 IPv6 

1. Per **Gruppi di sicurezza**, seleziona i gruppi di sicurezza da associare alle interfacce di rete dell'endpoint per l'endpoint VPC. È necessario selezionare tutti i gruppi di sicurezza collegati all'istanza database Neptune e all'istanza EC2.

1. Per **Policy**, seleziona **Full access** (Accesso completo) per consentire tutte le operazioni da parte di tutti i principali su tutte le risorse dell'endpoint VPC. In caso contrario, seleziona **Custom** (Personalizza) per allegare una policy dell'endpoint VPC in grado di verificare le autorizzazioni di cui dispongono i principali per eseguire operazioni sulle risorse dell'endpoint VPC. Questa opzione è disponibile solo se il servizio supporta le policy dell'endpoint VPC. Per ulteriori informazioni, consulta [Policy di endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html).

1. (*Facoltativo*) Per aggiungere un tag, scegli **Aggiungi nuovo tag** e immetti la chiave e il valore del tag desiderati.

1. Seleziona **Crea endpoint**.

Per ulteriori informazioni sulla creazione dell'endpoint, consulta [Endpoint VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) nella Guida per l'utente di Amazon VPC. Tieni presente che l'endpoint VPC di Amazon STS è un prerequisito obbligatorio per il concatenamento dei ruoli IAM.

Ora che hai concesso l'accesso all' AWS STS endpoint, puoi prepararti a caricare i dati. Per ulteriori informazioni sui formati di dati supportati, consulta [Formati dei dati di caricamento](bulk-load-tutorial-format.md).

## Concatenamento dei ruoli all'interno di un comando dello strumento di caricamento
<a name="bulk-load-tutorial-loader-chain"></a>

È possibile specificare il concatenamento dei ruoli quando si esegue un comando loader includendo un elenco di ruoli separati da virgole nel parametro. ARNs `iamRoleArn`

Sebbene nella maggior parte dei casi sia necessario avere solo due ruoli in una catena, è sicuramente possibile concatenarne tre o più. Ad esempio, questo comando dello strumento di caricamento concatena tre ruoli:

```
curl -X POST https://localhost:8182/loader \
  -H 'Content-Type: application/json' \
  -d '{
        "source" : "s3://(the target bucket name)/(the target date file name)",
        "iamRoleArn" : "arn:aws:iam::(Account A ID):role/(RoleA),arn:aws:iam::(Account B ID):role/(RoleB),arn:aws:iam::(Account C ID):role/(RoleC)",
        "format" : "csv",
        "region" : "us-east-1"
      }'
```