Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan alat baris perintah untuk mengirimkan kueri ke cluster DB Neptunus Anda
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 IAM otentikasi.
Ketika IAM otentikasi 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 kredensi sementara.
Menyiapkan alat baris perintah untuk digunakan HTTPS
Neptunus mengharuskan semua koneksi digunakan. HTTPS Alat baris perintah apa pun seperti curl
atau awscurl
membutuhkan akses ke sertifikat yang sesuai untuk digunakanHTTPS. Selama curl
atau awscurl
dapat menemukan sertifikat yang sesuai, mereka menangani HTTPS koneksi seperti HTTP koneksi, 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 SSL Sertifikatcurl
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 selengkapnya, lihat Verifikasi SSL Sertifikat
Menggunakan awscurl
dengan kredensyal sementara untuk terhubung dengan aman ke cluster DB dengan otentikasi diaktifkan IAM
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 IAM pengguna atau bahkan kredensyal root, tetapi ini tidak disarankan. Sebagai gantinya, buat kredensi sementara menggunakan salah satu AWS
Security Token Service (STS) APIs, atau salah satunya AWS CLI pembungkus.
Yang terbaik adalah menempatkanAccessKeyId
,SecretAccessKey
, dan SessionToken
nilai yang dikembalikan oleh STS panggilan 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 kredensyal 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