

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memberikan akses untuk fitur ekspor Amazon S3 Gremlin
<a name="granting-access-gremlin"></a>

 **Kebijakan IAM yang diperlukan** 

1.  **Akses baca kueri Neptunus** 

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

    **Mengapa diperlukan: Izin** ini memungkinkan membaca data dari database Neptunus, yang diperlukan untuk mengeksekusi kueri Gremlin yang akan diekspor. Contoh sebelumnya memungkinkan kueri baca. Untuk read/write kueri, write/delete izin diperlukan. 

1.  **Izin ekspor Amazon S3** 

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

    **Mengapa setiap izin diperlukan:** 
   +  `s3:ListBucket`: Diperlukan untuk memverifikasi keberadaan bucket dan daftar konten. 
   +  `s3:PutObject`: Diperlukan untuk menulis data yang diekspor ke Amazon S3. 
   +  `s3:AbortMultipartUpload`: Diperlukan untuk membersihkan unggahan multipart yang tidak lengkap jika ekspor gagal. 
   +  `s3:GetBucketPublicAccessBlock`: Diperlukan sebagai langkah pengamanan untuk memverifikasi bahwa bucket tidak bersifat publik sebelum mengekspor data. 

1.  **AWS KMSpermissios - opsional**. Hanya diperlukan jika menggunakan AWS KMS enkripsi khusus. 

   ```
   {
     "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"
         ]
       }
     }
   }
   ```

    **Mengapa setiap izin diperlukan:** 
   +  `kms:Decrypt`: Diperlukan untuk mendekripsi AWS KMS kunci untuk enkripsi data. 
   +  `kms:GenerateDataKey`: Diperlukan untuk menghasilkan kunci data untuk mengenkripsi data yang diekspor. 
   +  `kms:DescribeKey`: Diperlukan untuk memverifikasi dan mengambil informasi tentang AWS KMS kunci. 
   +  `kms:ViaService`: Meningkatkan keamanan dengan menegakkan bahwa kunci tidak dapat digunakan oleh peran ini untuk AWS layanan lain. 

**Prasyarat penting**
+  **Autentikasi IAM:** Harus diaktifkan pada cluster Neptunus untuk menegakkan izin ini. 
+  **Titik akhir VPC:** 
  +  Titik akhir VPC tipe Gateway untuk Amazon S3 diperlukan untuk memungkinkan Neptunus berkomunikasi dengan Amazon S3. 
  +  Untuk menggunakan AWS KMS enkripsi kustom dalam kueri, titik akhir VPC tipe antarmuka untuk diperlukan agar AWS KMS Neptunus dapat berkomunikasi dengannya. AWS KMS 
+  **Konfigurasi bucket Amazon S3:** 
  +  Tidak harus publik. 
  +  Harus memiliki aturan siklus hidup untuk membersihkan unggahan multibagian yang tidak lengkap. 
  +  Akan secara otomatis mengenkripsi objek baru. 

 Izin dan prasyarat ini memastikan ekspor hasil kueri Gremlin yang aman dan andal sambil mempertahankan kontrol akses dan tindakan perlindungan data yang tepat. 