

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

# Concessione dell'accesso alla funzionalità di esportazione di Gremlin su Amazon S3
<a name="granting-access-gremlin"></a>

 **Politiche IAM richieste** 

1.  **Accesso alla lettura di Neptune Query** 

   ```
   {
     "Sid": "NeptuneQueryRead",
     "Effect": "Allow",
     "Action": ["neptune-db:Read*"],
     "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD12/*"
   }
   ```

    **Perché è necessaria:** questa autorizzazione consente la lettura dei dati dai database di Neptune, necessaria per eseguire le query Gremlin che verranno esportate. L'esempio precedente consente le interrogazioni di lettura. Per una read/write query, sono write/delete necessarie le autorizzazioni. 

1.  **Autorizzazioni di esportazione Amazon S3** 

   ```
   {
     "Sid": "NeptuneS3Export",
     "Effect": "Allow",
     "Action": [
       "s3:ListBucket",
       "s3:PutObject",
       "s3:AbortMultipartUpload",
       "s3:GetBucketPublicAccessBlock"
     ],
     "Resource": "arn:aws:s3:::neptune-export-bucket/*"
   }
   ```

    **Perché è necessaria ogni autorizzazione:** 
   +  `s3:ListBucket`: necessario per verificare l'esistenza del bucket e il contenuto dell'elenco. 
   +  `s3:PutObject`: necessario per scrivere i dati esportati su Amazon S3. 
   +  `s3:AbortMultipartUpload`: necessario per eliminare i caricamenti multiparte incompleti se l'esportazione non riesce. 
   +  `s3:GetBucketPublicAccessBlock`: richiesto come misura di sicurezza per verificare che il bucket non sia pubblico prima di esportare i dati. 

1.  **AWS KMSautorizzazioni: facoltative**. Richiesto solo se si utilizza la crittografia personalizzata. AWS KMS 

   ```
   {
     "Sid": "NeptuneS3ExportKMS",
     "Effect": "Allow",
     "Action": [
       "kms:Decrypt",
       "kms:GenerateDataKey",
       "kms:DescribeKey"
     ],
     "Resource": "arn:aws:kms:<REGION>:<AWS_ACCOUNT_ID>:key/mrk-48971c37"
       "Condition": {
       "StringEquals": {
         "kms:ViaService": [
           "s3.<REGION>.amazonaws.com",
           "rds.<REGION>.amazonaws.com"
         ]
       }
     }
   }
   ```

    **Perché è necessaria ogni autorizzazione:** 
   +  `kms:Decrypt`: necessario per decrittografare la AWS KMS chiave per la crittografia dei dati. 
   +  `kms:GenerateDataKey`: necessario per generare chiavi di dati per crittografare i dati esportati. 
   +  `kms:DescribeKey`: necessario per verificare e recuperare le informazioni sulla chiave. AWS KMS 
   +  `kms:ViaService`: aumenta la sicurezza imponendo che la chiave non sia utilizzabile da questo ruolo per nessun altro AWS servizio. 

**Prerequisiti importanti**
+  **Autenticazione IAM:** deve essere abilitata sul cluster Neptune per applicare queste autorizzazioni. 
+  **Endpoint VPC:** 
  +  È necessario un endpoint VPC di tipo gateway per Amazon S3 per consentire a Neptune di comunicare con Amazon S3. 
  +  Per utilizzare la AWS KMS crittografia personalizzata nella query, AWS KMS è necessario un endpoint VPC di tipo interfaccia per cui consentire a Neptune di comunicare con. AWS KMS 
+  **Configurazione del bucket Amazon S3:** 
  +  Non deve essere pubblico. 
  +  Dovrebbe avere una regola del ciclo di vita per eliminare i caricamenti incompleti in più parti. 
  +  Crittograferà automaticamente i nuovi oggetti. 

 Queste autorizzazioni e prerequisiti garantiscono l'esportazione sicura e affidabile dei risultati delle query Gremlin, mantenendo al contempo controlli di accesso e misure di protezione dei dati adeguati. 