Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dari baris perintah: AWS CLI dan klien mysql - Layanan Basis Data Relasional Amazon

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

Menghubungkan ke instans DB Anda menggunakan otentikasi IAM dari baris perintah: AWS CLI dan klien mysql

Anda dapat terhubung dari baris perintah ke cluster dengan AWS CLI alat baris perintah mysql dan seperti yang dijelaskan berikut.

Prasyarat

Berikut adalah prasyarat untuk menghubungkan ke instans DB menggunakan autentikasi IAM:

catatan

Untuk informasi tentang cara menghubungkan ke basis data menggunakan SQL Workbench/J dengan autentikasi IAM, lihat postingan blog Menggunakan autentikasi IAM untuk terhubung dengan SQL Workbench/J ke Aurora MySQL atau Amazon RDS for MySQL.

Membuat token autentikasi IAM

Contoh berikut menunjukkan cara mendapatkan token autentikasi yang ditandatangani menggunakan AWS CLI.

aws rds generate-db-auth-token \ --hostname rdsmysql.123456789012.us-west-2.rds.amazonaws.com \ --port 3306 \ --region us-west-2 \ --username jane_doe

Dalam contoh, parameternya adalah sebagai berikut:

  • --hostname – Nama host instans DB yang ingin Anda akses

  • --port – Nomor port yang digunakan untuk menghubungkan ke instans DB Anda

  • --region— AWS Wilayah tempat instans DB berjalan

  • --username – Akun basis data yang ingin Anda akses

Beberapa karakter pertama dari token terlihat seperti berikut.

rdsmysql.123456789012.us-west-2.rds.amazonaws.com:3306/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900...
catatan

Anda tidak dapat menggunakan catatan DNS Route 53 kustom sebagai pengganti titik akhir instans DB untuk menghasilkan token autentikasi.

Menghubungkan ke instans DB

Format umum untuk terhubung ditampilkan sebagai berikut.

mysql --host=hostName --port=portNumber --ssl-ca=full_path_to_ssl_certificate --enable-cleartext-plugin --user=userName --password=authToken

Parameternya adalah sebagai berikut:

  • --host – Nama host instans DB yang ingin Anda akses

  • --port – Nomor port yang digunakan untuk menghubungkan ke instans DB Anda

  • --ssl-ca – Jalur lengkap ke file sertifikat SSL yang berisi kunci publik

    Untuk informasi selengkapnya tentang dukungan SSL/TLS untuk MariaDB, lihat SSL/TLSdukungan untuk instance MariaDB DB di Amazon RDS.

    Untuk informasi selengkapnya tentang dukungan SSL/TLS untuk MySQL, lihat SSL/TLSdukungan untuk instans SQL DB Saya di Amazon RDS.

    Untuk mengunduh sertifikat SSL, lihat .

  • --enable-cleartext-plugin – Nilai yang menentukan bahwa AWSAuthenticationPlugin harus digunakan untuk koneksi ini

    Jika Anda menggunakan klien MariaDB, opsi --enable-cleartext-plugin tidak diperlukan.

  • --user – Akun basis data yang ingin Anda akses

  • --password – Token autentikasi IAM yang ditandatangani

Token autentikasi terdiri atas beberapa ratus karakter. Hal ini dapat sulit ditangani di baris perintah. Salah satu cara untuk mengatasinya adalah dengan menyimpan token ke variabel lingkungan, lalu menggunakan variabel tersebut saat Anda terhubung. Contoh berikut menunjukkan satu cara untuk melakukan solusi ini. Dalam contoh ini, /sample_dir/ adalah jalur lengkap ke file sertifikat SSL yang berisi kunci publik.

RDSHOST="mysqldb.123456789012.us-east-1.rds.amazonaws.com" TOKEN="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 3306 --region us-west-2 --username jane_doe )" mysql --host=$RDSHOST --port=3306 --ssl-ca=/sample_dir/global-bundle.pem --enable-cleartext-plugin --user=jane_doe --password=$TOKEN

Saat Anda terhubung menggunakan AWSAuthenticationPlugin, koneksi diamankan menggunakan SSL. Untuk memverifikasi hal ini, ketik berikut ini di prompt perintah mysql>.

show status like 'Ssl%';

Baris berikut dalam output menampilkan lebih banyak detail.

+---------------+-------------+ | Variable_name | Value | +---------------+-------------+ | ... | ... | Ssl_cipher | AES256-SHA | | ... | ... | Ssl_version | TLSv1.1 | | ... | ... +-----------------------------+

Jika Anda ingin terhubung ke instans DB melalui proksi, lihat Terhubung ke sebuah proksi menggunakan autentikasi IAM.