View a markdown version of this page

Menghubungkan ke database Amazon Neptune menggunakan otentikasi IAM dengan konsol Gremlin - Amazon Neptune

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

Menghubungkan ke database Amazon Neptune menggunakan otentikasi IAM dengan konsol Gremlin

Untuk terhubung ke Amazon Neptune menggunakan konsol Gremlin dengan otentikasi Signature Version 4, Anda gunakan requestInterceptor() untuk mencolokkan penandatangan SIGv4 ke koneksi yang dibuat oleh perintah. :remote Ini mengharuskan Anda untuk mengkonfigurasi Cluster objek secara manual dan kemudian meneruskannya ke :remote perintah.

Perhatikan bahwa ini sangat berbeda dari situasi khas di mana :remote perintah mengambil file konfigurasi untuk membentuk koneksi. Pendekatan file konfigurasi tidak akan berfungsi karena requestInterceptor() harus diatur secara terprogram, dan tidak dapat memuat konfigurasinya dari file.

catatan

Contoh penggunaan berikutrequestInterceptor(), yang diperkenalkan di TinkerPop 3.6.6. Jika Anda menggunakan TinkerPop versi yang lebih awal dari 3.6.6 (tetapi 3.5.5 atau lebih tinggi), gunakan al handshakeInterceptor() ih-alih requestInterceptor() dalam contoh kode di bawah ini.

Prasyarat berikut diperlukan:

  • Anda harus memiliki kredenSIAL IAM yang diperlukan untuk menandatangani permintaan. Lihat Menggunakan rantai penyedia kredensia default di Panduan Peng AWS SDK untuk Java embang.

  • Anda harus menginstal versi konsol Gremlin yang kompatibel dengan versi mesin Neptune yang digunakan oleh cluster DB Anda.

Jika Anda menggunakan kredenSIAL sementara, kredenSIAL akan kedaluwarsa setelah interval tertentu, seperti halnya token sesi, jadi Anda harus memperbarui token sesi Anda saat meminta kredenSIAL baru. Lihat Menggunakan kredenSIAL keamanan sementara untuk meminta akses ke AWS sumber daya di Panduan Pengguna IAM.

Untuk bantuan menghubungkan menggunakan SSL/TLS, lihatSSL/TLS konfigurasi.

Hubungkan konsol Gremlin dengan penandatanganan Sig4
  1. Mulai konsol Gremlin:

    $ bin/gremlin.sh
  2. Pada gremlin> prompt, instal per amazon-neptune-sigv4-signer pustakaan (ini hanya perlu dilakukan sekali untuk konsol):

    :install com.amazonaws amazon-neptune-sigv4-signer 2.4.0

    Jika Anda mengalami masalah dengan langkah ini, mungkin membantu untuk berkonsultasi dengan TinkerPop dokumentasi tentang konfigurasi Grape.

    catatan

    Jika Anda menggunakan proxy HTTP, Anda mungkin mengalami kesalahan dengan langkah ini di mana :install perintah tidak selesai. Untuk mengatasi masalah ini, jalankan perintah berikut untuk memberi tahu konsol tentang proxy:

    System.setProperty("https.proxyHost", "(the proxy IP address)") System.setProperty("https.proxyPort", "(the proxy port)")
  3. Impor kelas yang diperlukan untuk menangani penandatanganan kerequestInterceptor():

    :import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider :import com.amazonaws.neptune.auth.NeptuneNettyHttpSigV4Signer
  4. Jika Anda menggunakan kredenSIAL sementara, Anda juga perlu memberikan Token Sesi Anda sebagai berikut:

    System.setProperty("aws.sessionToken","(your session token)")
  5. Jika Anda belum menetapkan kredenSIAL akun Anda, Anda dapat menetapkannya sebagai berikut:

    System.setProperty("aws.accessKeyId","(your access key)") System.setProperty("aws.secretKey","(your secret key)")
  6. Secara manual membangun Cluster objek untuk terhubung ke Neptunus:

    cluster = Cluster.build("(host name)") \ .enableSsl(true) \ .requestInterceptor { r -> \ def sigV4Signer = new NeptuneNettyHttpSigV4Signer("(Amazon region)", \ DefaultCredentialsProvider.create()); \ sigV4Signer.signRequest(r); \ return r; } \ .create()

    Untuk bantuan menemukan nama host instans Neptune DB, lihatMenghubungkan ke Titik Akhir Amazon Neptune..

  7. Buat :remote koneksi menggunakan nama variabel Cluster objek pada langkah sebelumnya:

    :remote connect tinkerpop.server cluster
  8. Masukkan perintah berikut untuk beralih ke mode jarak jauh. Ini mengirimkan semua kueri Gremlin ke koneksi jarak jauh:

    :remote console