Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memiliki alat baris perintah untuk mengirimkan kueri ke cluster DB Neptunus Anda sangat berguna, seperti yang diilustrasikan dalam banyak contoh dalam dokumentasi ini. Alat curl
Namun, untuk menjaga keamanan data Anda, yang terbaik adalah mengaktifkan otentikasi IAM.
Ketika autentikasi IAM diaktifkan, setiap permintaan harus ditandatangani menggunakan Signature Version 4 (Sig4). Alat baris perintah awscurlcurl
penandatanganan Sig4. Menggunakan awscurlBagian di bawah ini menjelaskan cara menggunakan awscurl
secara aman dengan kredensil sementara.
Menyiapkan alat baris perintah untuk menggunakan HTTPS
Neptunus mengharuskan semua koneksi menggunakan HTTPS. Alat baris perintah apa pun seperti curl
atau awscurl
memerlukan akses ke sertifikat yang sesuai untuk menggunakan HTTPS. Selama curl
atau awscurl
dapat menemukan sertifikat yang sesuai, mereka menangani koneksi HTTPS seperti koneksi HTTP, tanpa memerlukan parameter tambahan. Contoh dalam dokumentasi ini didasarkan pada skenario tersebut.
Untuk mempelajari cara mendapatkan sertifikat tersebut dan cara memformatnya dengan benar ke dalam penyimpanan sertifikat otoritas sertifikat (CA) yang curl
dapat digunakan, lihat Verifikasi Sertifikat SSLcurl
dokumentasi.
Anda kemudian dapat menentukan lokasi penyimpanan sertifikat CA ini menggunakan variabel lingkungan CURL_CA_BUNDLE
. Pada Windows, curl
secara otomatis mencarinya dalam sebuah file bernama curl-ca-bundle.crt
. Ia pertama mencari dalam direktori yang sama dengan curl.exe
dan kemudian di tempat lain di jalurnya. Untuk informasi lebih lanjut, lihat Verifikasi Sertifikat SSL
Menggunakan awscurl
dengan kredensi sementara untuk terhubung dengan aman ke cluster DB dengan otentikasi IAM diaktifkan
Alat awscurlcurl
, tetapi membutuhkan informasi tambahan juga:
-
--access_key
— Kunci akses yang valid. Jika tidak disediakan menggunakan parameter ini, itu harus disediakan dalam variabelAWS_ACCESS_KEY_ID
lingkungan, atau dalam file konfigurasi. -
--secret_key
— Kunci rahasia yang valid sesuai dengan kunci akses. Jika tidak disediakan menggunakan parameter ini, itu harus disediakan dalam variabelAWS_SECRET_ACCESS_KEY
lingkungan, atau dalam file konfigurasi. -
--security_token
— Token sesi yang valid. Jika tidak disediakan menggunakan parameter ini, itu harus disediakan dalam variabelAWS_SECURITY_TOKEN
lingkungan, atau dalam file konfigurasi.
Di masa lalu, itu adalah praktik umum untuk menggunakan kredensyal persisten denganawscurl
, seperti kredensyal pengguna IAM atau bahkan kredensyal root, tetapi ini tidak disarankan. Sebagai gantinya, buat kredensyal sementara menggunakan salah satu AWS
Security Token Service (STS) APIs, atau salah satu pembungkusnya AWS CLI .
Yang terbaik adalah menempatkanAccessKeyId
,SecretAccessKey
, dan SessionToken
nilai yang dikembalikan oleh panggilan STS ke variabel lingkungan yang sesuai di sesi shell Anda daripada ke dalam file konfigurasi. Kemudian, ketika shell berakhir, kredensyal secara otomatis dibuang, yang tidak terjadi dengan file konfigurasi. Demikian pula, jangan meminta durasi yang lebih lama untuk kredensil sementara daripada yang mungkin Anda butuhkan.
Contoh berikut menunjukkan langkah-langkah yang mungkin Anda ambil dalam shell Linux untuk mendapatkan kredensyal sementara yang baik selama setengah jam menggunakan sts assume-role, dan kemudian menempatkannya dalam variabel lingkungan di mana dapat menemukannya: awscurl
aws sts assume-role \ --duration-seconds 1800 \ --role-arn "arn:aws:iam::
(account-id)
:role/(rolename)
" \ --role-session-name AWSCLI-Session > $output AccessKeyId=$(cat $output | jq '.Credentials''.AccessKeyId') SecretAccessKey=$(cat $output | jq '.Credentials''.SecretAccessKey') SessionToken=$(cat $output | jq '.Credentials''.SessionToken') export AWS_ACCESS_KEY_ID=$AccessKeyId export AWS_SECRET_ACCESS_KEY=$SecretAccessKey export AWS_SESSION_TOKEN=$SessionToken
Anda kemudian dapat menggunakan awscurl
untuk membuat permintaan yang ditandatangani ke cluster DB Anda seperti ini:
awscurl
(your cluster endpoint)
:8182/status \ --region us-east-1 \ --service neptune-db