Concessione dell'accesso alla funzionalità di esportazione di Gremlin su Amazon S3 - Amazon Neptune

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

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.

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

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