Autentikasi basis data IAM - Amazon Aurora

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

Autentikasi basis data IAM

Anda dapat mengautentikasi ke cluster DB Anda menggunakan otentikasi database AWS Identity and Access Management (IAM). Autentikasi basis data IAM berfungsi dengan Aurora MySQL, dan Aurora PostgreSQL. Dengan metode autentikasi ini, Anda tidak perlu menggunakan kata sandi saat menghubungkan dengan klaster basis data. Sebagai gantinya, gunakan token autentikasi.

Token autentikasi adalah string karakter unik yang dihasilkan Amazon Aurora sesuai permintaan. Token otentikasi dihasilkan menggunakan AWS Signature Version 4. Setiap token memiliki masa pakai 15 menit. Anda tidak perlu menyimpan kredensial pengguna di basis data karena autentikasi dikelola secara eksternal menggunakan IAM. Anda juga masih dapat menggunakan autentikasi basis data standar. Token hanya digunakan untuk autentikasi dan tidak memengaruhi sesi setelah dibuat.

Autentikasi basis data IAM memberikan manfaat berikut:

  • Lalu lintas jaringan ke dan dari basis data dienkripsi menggunakan Lapisan Soket Aman (SSL) atau Keamanan Lapisan Pengangkutan (TLS). Untuk informasi selengkapnya tentang cara menggunakan SSL/TLS dengan Amazon Aurora, lihat MenggunakanSSL/TLSuntuk mengenkripsi koneksi ke .

  • Anda dapat menggunakan IAM untuk mengelola akses ke sumber daya basis data Anda secara terpusat, bukan mengelola akses satu per satu pada setiap klaster DB.

  • Untuk aplikasi yang berjalan di Amazon EC2, Anda dapat menggunakan kredensial profil khusus untuk instans EC2 untuk mengakses basis data, bukan menggunakan kata sandi, untuk keamanan yang lebih baik.

Secara umum, pertimbangkan untuk menggunakan autentikasi basis data IAM ketika aplikasi Anda membuat kurang dari 200 koneksi per detik, dan Anda tidak ingin mengelola nama pengguna dan kata sandi secara langsung dalam kode aplikasi Anda.

Driver Amazon Web Services (AWS) JDBC mendukung autentikasi database IAM. Untuk informasi selengkapnya, lihat Plugin Autentikasi AWS IAM di repositori Driver Amazon Web Services (AWS) JDBC. GitHub

Driver Python Amazon Web Services (AWS) mendukung otentikasi database IAM. Untuk informasi selengkapnya, lihat Plugin Autentikasi AWS IAM di repositori Amazon Web Services ()AWS Python Driver. GitHub

Wilayah dan ketersediaan versi

Ketersediaan fitur dan dukungan bervariasi di seluruh versi spesifik dari setiap mesin basis data Aurora, dan di seluruh Wilayah AWS. Untuk informasi selengkapnya tentang ketersediaan versi dan Wilayah dengan autentikasi basis data IAM dan Aurora, lihat Daerah yang Didukung dan mesin Aurora DB untuk IAM otentikasi database.

Untuk Aurora MySQL, semua kelas instans DB yang didukung mendukung autentikasi basis data IAM, kecuali untuk db.t2.small dan db.t3.small. Untuk informasi tentang kelas instans DB yang didukung, lihat Mesin DB yang didukung untuk kelas instans DB.

Dukungan CLI dan SDK

Autentikasi database IAM tersedia untuk AWS CLIdan untuk SDK khusus bahasa AWS berikut:

Batasan untuk autentikasi basis data IAM

Saat menggunakan autentikasi basis data IAM, batasan berikut berlaku:

  • Autentikasi database IAM membatasi koneksi dalam skenario berikut:

    • Anda melebihi 20 koneksi per detik menggunakan token otentikasi yang masing-masing ditandatangani oleh identitas IAM yang berbeda.

    • Anda melebihi 200 koneksi per detik menggunakan token otentikasi yang berbeda.

    Koneksi yang menggunakan token otentikasi yang sama tidak dibatasi. Kami menyarankan Anda menggunakan kembali token otentikasi jika memungkinkan.

  • Saat ini, autentikasi basis data IAM tidak mendukung kunci konteks kondisi global.

    Untuk informasi selengkapnya tentang kunci konteks kondisi global, lihat Kunci konteks kondisi global AWS dalam Panduan Pengguna IAM.

  • Untuk PostgreSQL, jika peran IAM (rds_iam) ditambahkan ke pengguna (termasuk pengguna master RDS), autentikasi IAM akan lebih diprioritaskan daripada autentikasi kata sandi, sehingga pengguna harus login sebagai pengguna IAM.

  • Untuk Aurora PostgreSQL, Anda tidak dapat menggunakan autentikasi IAM untuk membuat koneksi replikasi.

  • Anda tidak dapat menggunakan data DNS RouteĀ 53 kustom sebagai pengganti titik akhir klaster DB untuk menghasilkan token autentikasi.

  • CloudWatch dan CloudTrail jangan mencatat otentikasi IAM. Layanan ini tidak melacak panggilan generate-db-auth-token API yang mengotorisasi peran IAM untuk mengaktifkan koneksi database.

Rekomendasi untuk autentikasi basis data IAM

Kami merekomendasikan hal berikut saat menggunakan autentikasi basis data IAM:

  • Gunakan autentikasi basis data IAM ketika aplikasi Anda membutuhkan tidak lebih dari 200 koneksi autentikasi basis data IAM per detik.

    Mesin basis data yang berfungsi dengan Amazon Aurora tidak memberlakukan batasan apa pun untuk percobaan autentikasi per detik. Namun, ketika Anda menggunakan autentikasi basis data IAM, aplikasi Anda harus membuat token autentikasi. Aplikasi Anda kemudian menggunakan token tersebut untuk terhubung ke klaster DB. Jika Anda melebihi batas maksimum untuk koneksi baru per detik, maka overhead tambahan dari autentikasi basis data IAM dapat menyebabkan throttling koneksi.

    Pertimbangkan untuk menggunakan pooling koneksi di aplikasi Anda untuk mengurangi pembuatan koneksi yang konstan. Cara ini dapat mengurangi overhead dari autentikasi DB IAM dan memungkinkan aplikasi Anda menggunakan kembali koneksi yang ada. Alternatifnya, pertimbangkan untuk menggunakan Proksi RDS untuk kasus penggunaan ini. Proksi RDS memiliki biaya tambahan. Lihat Harga Proksi RDS.

  • Ukuran token autentikasi basis data IAM tergantung pada banyak hal termasuk jumlah tag IAM, kebijakan layanan IAM, panjang ARN, serta properti IAM dan basis data lainnya. Ukuran minimum token ini umumnya sekitar 1 KB tetapi bisa lebih besar. Karena token ini digunakan sebagai kata sandi dalam string koneksi ke basis data yang menggunakan autentikasi IAM, Anda harus memastikan bahwa driver basis data Anda (misalnya, ODBC) dan/atau alat apa pun tidak membatasi atau memotong token ini dikarenakan ukurannya. Token yang terpotong akan menyebabkan kegagalan validasi autentikasi oleh basis data dan IAM.

  • Jika Anda menggunakan kredensial sementara saat membuat token autentikasi basis data IAM, kredensial sementara masih harus valid saat menggunakan token autentikasi basis data IAM untuk membuat permintaan koneksi.

Kunci konteks kondisi AWS global yang tidak didukung

Autentikasi database IAM tidak mendukung subset kunci konteks kondisi AWS global berikut.

  • aws:Referer

  • aws:SourceIp

  • aws:SourceVpc

  • aws:SourceVpce

  • aws:UserAgent

  • aws:VpcSourceIp

Untuk informasi selengkapnya, lihat Kunci konteks kondisi global AWS dalam Panduan Pengguna IAM.