Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan driver klien Cassandra Node.js untuk mengakses Amazon Keyspaces secara terprogram
Bagian ini menunjukkan cara menghubungkan ke Amazon Keyspaces dengan menggunakan driver klien Node.js. Untuk memberikan kredensi kepada pengguna dan aplikasi untuk akses terprogram ke sumber daya Amazon Keyspaces, Anda dapat melakukan salah satu hal berikut:
-
Buat kredenal khusus layanan yang terkait dengan pengguna () tertentu AWS Identity and Access Management . IAM
-
Untuk meningkatkan keamanan, kami sarankan untuk membuat kunci IAM akses untuk IAM pengguna atau peran yang digunakan di semua AWS layanan. Plugin otentikasi Amazon Keyspaces SigV4 untuk driver klien Cassandra memungkinkan Anda untuk mengautentikasi panggilan ke Amazon Keyspaces menggunakan kunci akses alih-alih nama pengguna dan kata sandi. IAM Untuk informasi selengkapnya, lihat Buat dan konfigurasikan AWS kredensi untuk Amazon Keyspaces.
Topik
Sebelum kamu memulai
Anda harus menyelesaikan tugas berikut sebelum Anda dapat memulai.
Amazon Keyspaces memerlukan penggunaan Transport Layer Security (TLS) untuk membantu mengamankan koneksi dengan klien. Untuk terhubung ke Amazon Keyspaces menggunakanTLS, Anda perlu mengunduh sertifikat digital Amazon dan mengonfigurasi driver Python untuk digunakan. TLS
Unduh sertifikat digital Starfield menggunakan perintah berikut dan simpan sf-class2-root.crt
secara lokal atau di direktori home Anda.
curl https://certs.secureserver.net/repository/sf-class2-root.crt -O
catatan
Anda juga dapat menggunakan sertifikat digital Amazon untuk terhubung ke Amazon Keyspaces dan dapat terus melakukannya jika klien Anda berhasil terhubung ke Amazon Keyspaces. Sertifikat Starfield memberikan kompatibilitas mundur tambahan untuk klien yang menggunakan otoritas sertifikat yang lebih lama.
curl https://certs.secureserver.net/repository/sf-class2-root.crt -O
Connect ke Amazon Keyspaces menggunakan DataStax driver Node.js untuk Apache Cassandra dan kredensi khusus layanan
Konfigurasikan driver Anda untuk menggunakan sertifikat digital Starfield TLS dan mengautentikasi menggunakan kredensil khusus layanan. Sebagai contoh:
const cassandra = require('cassandra-driver'); const fs = require('fs'); const auth = new cassandra.auth.PlainTextAuthProvider('
ServiceUserName
', 'ServicePassword
'); const sslOptions1 = { ca: [ fs.readFileSync('path_to_file
/sf-class2-root.crt', 'utf-8')], host: 'cassandra.us-west-2.amazonaws.com
', rejectUnauthorized: true }; const client = new cassandra.Client({ contactPoints: ['cassandra.us-west-2.amazonaws.com
'], localDataCenter: 'us-west-2
', authProvider: auth, sslOptions: sslOptions1, protocolOptions: { port: 9142 } }); const query = 'SELECT * FROM system_schema.keyspaces'; client.execute(query) .then( result => console.log('Row from Keyspaces %s', result.rows[0])) .catch( e=> console.log(`${e}`));
Catatan penggunaan:
Ganti
"
dengan jalur ke sertifikat yang disimpan di langkah pertama.path_to_file
/sf-class2-root.crt"Memastikan bahwa
ServiceUserName
andServicePassword
cocokkan nama pengguna dan kata sandi yang Anda peroleh saat Anda membuat kredensil khusus layanan dengan mengikuti langkah-langkahnya. Buat kredensil khusus layanan untuk akses terprogram ke Amazon KeyspacesUntuk daftar titik akhir yang tersedia, lihatTitik akhir layanan untuk Amazon Keyspaces.
Connect ke Amazon Keyspaces menggunakan driver DataStax Node.js untuk Apache Cassandra dan plugin otentikasi SiGv4
Bagian berikut menunjukkan cara menggunakan plugin otentikasi SiGv4 untuk driver DataStax Node.js open-source untuk Apache Cassandra untuk mengakses Amazon Keyspaces (untuk Apache Cassandra).
Jika Anda belum melakukannya, buat kredensi untuk IAM pengguna atau peran Anda mengikuti langkah-langkah di. Buat dan konfigurasikan AWS kredensi untuk Amazon Keyspaces
Tambahkan plugin otentikasi SiGv4 Node.js ke aplikasi Anda dari repositori. GitHub AWSCredentialsProvider
untuk mendapatkan kredensil.
$ npm install aws-sigv4-auth-cassandra-plugin --save
Contoh kode ini menunjukkan cara mengatur instance khusus Wilayah SigV4AuthProvider
sebagai penyedia otentikasi.
const cassandra = require('cassandra-driver'); const fs = require('fs'); const sigV4 = require('aws-sigv4-auth-cassandra-plugin'); const auth = new sigV4.SigV4AuthProvider({ region: '
us-west-2
', accessKeyId:'AKIAIOSFODNN7EXAMPLE
', secretAccessKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
'}); const sslOptions1 = { ca: [ fs.readFileSync('path_to_file
cassandra/sf-class2-root.crt', 'utf-8')], host: 'cassandra.us-west-2.amazonaws.com
', rejectUnauthorized: true }; const client = new cassandra.Client({ contactPoints: ['cassandra.us-west-2.amazonaws.com
'], localDataCenter: 'us-west-2
', authProvider: auth, sslOptions: sslOptions1, protocolOptions: { port: 9142 } }); const query = 'SELECT * FROM system_schema.keyspaces'; client.execute(query).then( result => console.log('Row from Keyspaces %s', result.rows[0])) .catch( e=> console.log(`${e}`));
Catatan penggunaan:
Ganti
"
dengan jalur ke sertifikat yang disimpan di langkah pertama.path_to_file
/sf-class2-root.crt"Memastikan bahwa
accessKeyId
andsecretAccessKey
cocok dengan Kunci Akses dan Kunci Akses Rahasia yang Anda peroleh menggunakanAWSCredentialsProvider
. Untuk informasi selengkapnya, lihat Menyetel Kredensial di Node.js di AWS SDKfor JavaScript di Node.js.Untuk menyimpan kunci akses di luar kode, lihat praktik terbaik diSimpan kunci akses untuk IAM pengguna.
Untuk daftar titik akhir yang tersedia, lihatTitik akhir layanan untuk Amazon Keyspaces.