Menghubungkan ke database Amazon Neptunus 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 Neptunus menggunakan otentikasi IAM dengan konsol Gremlin

Ada dua prasyarat untuk menghubungkan Amazon Neptunus menggunakan Konsol Gremlin dengan otentikasi Signature Version 4:

  • Anda harus memiliki kredensyal IAM yang diperlukan untuk menandatangani permintaan. Lihat Menggunakan rantai penyedia kredensi default di Panduan AWS SDK for Java Pengembang.

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

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

Untuk bantuan menghubungkan menggunakan SSL/TLS, lihat. Konfigurasi SSL/TLS

:remotePerintah ini digunakan untuk membuat koneksi dari Konsol Gremlin ke Neptunus. Anda akan menggunakan requestInterceptor() untuk memasang tanda tangan Sigv4 ke koneksi itu untuk mengautentikasi melalui IAM.

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.

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

    $ bin/gremlin.sh
  2. Pada gremlin> prompt, instal amazon-neptune-sigv4-signer perpustakaan (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 masuk kerequestInterceptor():

    :import com.amazonaws.auth.DefaultAWSCredentialsProviderChain :import com.amazonaws.neptune.auth.NeptuneNettyHttpSigV4Signer
  4. Jika Anda menggunakan kredensi sementara, Anda juga perlu menyediakan Token Sesi Anda sebagai berikut:

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

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

    catatan

    Contoh berikut telah diperbarui untuk menyertakan penggunaan requestInterceptor (). Ini ditambahkan di TinkerPop 3.6.6. Sebelum TinkerPop versi 3.6.6, contoh kode menggunakan HandshakeInterceptor (), yang tidak digunakan lagi dengan rilis itu.

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

    Untuk bantuan menemukan nama host dari instans DB Neptunus, lihat. Menghubungkan 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