Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Kerberos otentikasi untuk Amazon RDS for MySQL
Anda kini dapat menggunakan autentikasi Kerberos untuk mengautentikasi pengguna saat dia menghubungi instans basis data MySQL. Instans DB bekerja dengan AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) untuk mengaktifkan otentikasi Kerberos. Saat pengguna mengautentikasi ke instans basis data MySQL yang bergabung dengan domain yang memercayai, permintaan autentikasi diteruskan. Permintaan yang diteruskan masuk ke direktori domain yang Anda buat dengan. AWS Directory Service
Menyimpan semua kredensial Anda di direktori yang sama dapat menghemat waktu dan tenaga Anda. Dengan pendekatan ini, Anda memiliki tempat terpusat guna menyimpan dan mengelola kredensial untuk beberapa instans basis data. Menggunakan direktori juga dapat meningkatkan profil keamanan keseluruhan Anda.
Wilayah dan ketersediaan versi
Ketersediaan dan dukungan fitur bervariasi di seluruh versi spesifik dari setiap mesin basis data, dan di seluruh Wilayah AWS. Lihat informasi yang lebih lengkap tentang versi dan ketersediaan Wilayah Amazon RDS dengan autentikasi Kerberos di Wilayah dan mesin DB yang Didukung untuk otentikasi Kerberos di Amazon RDS.
Ikhtisar Menyiapkan autentikasi Kerberos untuk instans basis data MySQL
Untuk menyiapkan autentikasi Kerberos bagi instans basis data MySQL, selesaikan langkah-langkah umum berikut, yang nanti akan dijelaskan lebih terperinci:
-
Gunakan AWS Managed Microsoft AD untuk membuat AWS Managed Microsoft AD direktori. Anda dapat menggunakan AWS Management Console, yang AWS CLI, atau AWS Directory Service untuk membuat direktori. Untuk detail tentang melakukannya, lihat Membuat AWS Managed Microsoft AD direktori Anda di Panduan AWS Directory Service Administrasi.
-
Buat peran AWS Identity and Access Management (IAM) yang menggunakan kebijakan IAM terkelola.
AmazonRDSDirectoryServiceAccess
Peran ini memungkinkan Amazon RDS melakukan panggilan ke direktori Anda.Agar peran mengizinkan akses, titik akhir AWS Security Token Service (AWS STS) harus diaktifkan di Wilayah AWS untuk AWS akun Anda. AWS STS endpoint aktif secara default di semua Wilayah AWS, dan Anda dapat menggunakannya tanpa tindakan lebih lanjut. Untuk informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan AWS STS dalam Panduan Pengguna Wilayah AWS IAM.
-
Buat dan konfigurasikan pengguna di AWS Managed Microsoft AD direktori menggunakan alat Microsoft Active Directory. Untuk informasi selengkapnya tentang membuat pengguna di Active Directory, lihat Mengelola pengguna dan grup di Microsoft AD AWS terkelola di Panduan AWS Directory Service Administrasi.
-
Buat atau ubah instans basis data MySQL. Jika Anda menggunakan CLI atau API RDS dalam permintaan buat, tentukan pengidentifikasi domain dengan parameter
Domain
. Gunakan pengidentifikasid-*
yang dihasilkan saat Anda membuat direktori Anda dan nama peran yang Anda buat.Jika Anda mengubah instans basis data MySQL yang ada untuk menggunakan autentikasi Kerberos, atur parameter-parameter domain dan peran IAM untuk instans basis data. Temukan lokasi instans basis data dalam VPC yang sama dengan direktori domain.
-
Gunakan kredensial pengguna master Amazon RDS untuk menghubungi instans basis data MySQL. Buat pengguna di MySQL dengan menggunakan klausul
CREATE USER
IDENTIFIED WITH 'auth_pam'
. Pengguna yang Anda buat dengan cara ini dapat masuk ke instans basis data MySQL dengan menggunakan autentikasi Kerberos.
Menyiapkan autentikasi Kerberos untuk instans basis data MySQL
Anda gunakan AWS Managed Microsoft AD untuk mengatur otentikasi Kerberos untuk instance MySQL DB. Untuk menyiapkan autentikasi Kerberos, lakukan langkah-langkah berikut.
Langkah 1: Buat direktori menggunakan AWS Managed Microsoft AD
AWS Directory Service membuat Direktori Aktif yang dikelola sepenuhnya di AWS Cloud. Saat Anda membuat AWS Managed Microsoft AD direktori, AWS Directory Service buat dua pengontrol domain dan server Domain Name System (DNS) atas nama Anda. Server-server direktori dibuat di subnet yang berbeda di VPC. Redundansi ini membantu memastikan bahwa direktori Anda tetap dapat diakses meskipun terjadi kegagalan.
Saat Anda membuat AWS Managed Microsoft AD direktori, AWS Directory Service lakukan tugas-tugas berikut atas nama Anda:
-
Menyiapkan Active Directory di dalam VPC.
-
Membuat akun administrator direktori dengan nama pengguna Admin dan kata sandi yang ditentukan. Anda menggunakan akun ini untuk mengelola direktori Anda.
catatan
Pastikan untuk menyimpan kata sandi ini. AWS Directory Service tidak menyimpannya. Anda dapat mengaturnya ulang, tetapi tidak dapat mengambilnya.
-
Membuat grup keamanan untuk pengontrol direktori.
Saat Anda meluncurkan AWS Managed Microsoft AD, AWS buat Unit Organisasi (OU) yang berisi semua objek direktori Anda. OU ini memiliki nama NetBIOS yang Anda masukkan saat membuat direktori, terletak di domain akar. Root domain dimiliki dan dikelola oleh AWS.
Akun Admin yang dibuat dengan AWS Managed Microsoft AD direktori Anda memiliki izin untuk kegiatan administratif yang paling umum untuk OU Anda:
-
Membuat, memperbarui, atau menghapus pengguna
-
Menambahkan sumber daya ke domain Anda seperti server file atau cetak, lalu menetapkan izin untuk sumber daya tersebut kepada pengguna di OU Anda
-
Buat tambahan OUs dan wadah
-
Melimpahkan kewenangan
-
Memulihkan objek-objek yang dihapus dari Keranjang Sampah Active Directory
-
Jalankan PowerShell modul AD dan DNS Windows pada Layanan Web Direktori Aktif
Akun Admin juga memiliki hak melakukan aktivitas-aktivitas selingkup domain berikut:
-
Mengelola konfigurasi DNS (menambahkan, menghapus, atau memperbarui catatan, zona, dan penerus)
-
Melihat log peristiwa DNS
-
Melihat log peristiwa keamanan
Untuk membuat direktori dengan AWS Managed Microsoft AD
-
Masuk ke AWS Management Console dan buka AWS Directory Service konsol di https://console.aws.amazon.com/directoryservicev2/
. -
Di panel navigasi, pilih Direktori, lalu pilih Siapkan direktori.
-
Pilih AWS Managed Microsoft AD. AWS Managed Microsoft AD adalah satu-satunya pilihan yang saat ini dapat Anda gunakan dengan Amazon RDS.
-
Masukkan informasi berikut:
- Nama DNS Direktori
-
Nama berkualifikasi penuh untuk direktori, seperti
corp.example.com
. - Nama NetBIOS direktori
-
Nama singkat untuk direktori, seperti
CORP
. - Deskripsi direktori
-
(Opsional) Deskripsi untuk direktori.
- Kata sandi admin
-
Kata sandi untuk administrator direktori. Proses pembuatan direktori menciptakan akun administrator dengan nama pengguna Admin dan kata sandi ini.
Kata sandi administrator direktori dan tidak boleh menyertakan kata "admin." Kata sandi bersifat peka kapital dan harus terdiri atas 8–64 karakter. Kata sandi juga harus berisi setidaknya satu karakter dari tiga di antara empat kategori berikut:
-
Huruf kecil (a-z)
-
Huruf besar (A-Z)
-
Angka (0–9)
-
Karakter non-alfanumerik (~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/)
-
- Ulangi kata sandi
-
Kata sandi administrator diketik ulang.
-
Pilih Berikutnya.
-
Masukkan informasi berikut di bagian Jaringan, lalu pilih Berikutnya:
- VPC
-
VPC untuk direktori. Buat instans basis data MySQL dalam VPC yang sama ini.
- Subnet
-
Subnet untuk server direktori. Kedua subnet harus berada di Zona Ketersediaan yang berbeda.
-
Tinjau informasi direktori dan buat perubahan yang diperlukan. Jika informasi sudah benar, pilih Buat direktori.
Dibutuhkan beberapa menit sampai direktori terbuat. Setelah direktori berhasil dibuat, nilai Status berubah menjadi Aktif.
Untuk melihat informasi tentang direktori Anda, pilih nama direktori di daftar direktori. Catat nilai ID Direktori karena Anda memerlukan nilai ini saat membuat atau mengubah instans basis data MySQL Anda.

Langkah 2: Buat peran IAM untuk penggunaan oleh Amazon RDS
Agar Amazon RDS memanggil AWS Directory Service Anda, peran IAM yang menggunakan kebijakan AmazonRDSDirectoryServiceAccess
IAM terkelola diperlukan. Peran ini memungkinkan Amazon RDS melakukan panggilan ke AWS Directory Service.
Ketika instans DB dibuat menggunakan AWS Management Console dan pengguna konsol memiliki iam:CreateRole
izin, konsol membuat peran ini secara otomatis. Dalam hal ini, nama perannya adalah rds-directoryservice-kerberos-access-role
. Jika tidak, Anda harus membuat peran IAM secara manual. Saat Anda membuat peran IAM ini, pilihDirectory Service
, dan lampirkan kebijakan AWS terkelola AmazonRDSDirectoryServiceAccess
padanya.
Untuk informasi selengkapnya tentang membuat peran IAM untuk layanan, lihat Membuat peran untuk mendelegasikan izin ke AWS layanan di Panduan Pengguna IAM.
catatan
Peran IAM yang digunakan untuk Windows Authentication untuk RDS for SQL Server tidak dapat digunakan untuk RDS for MySQL.
Anda memiliki opsi untuk membuat kebijakan dengan izin yang diperlukan alih-alih menggunakan kebijakan IAM terkelola AmazonRDSDirectoryServiceAccess
. Dalam hal ini, peran IAM harus memiliki kebijakan kepercayaan IAM berikut.
Peran ini juga harus memiliki kebijakan peran IAM berikut.
Langkah 3: Buat dan konfigurasikan pengguna
Anda dapat membuat pengguna dengan alat Active Directory Users and Computers. Alat ini bagian dari alat-alat Active Directory Domain Services dan Active Directory Lightweight Directory Services. Pengguna mewakili orang atau entitas individual yang memiliki akses ke direktori Anda.
Untuk membuat pengguna di AWS Directory Service direktori, Anda harus terhubung ke EC2 instans Amazon berdasarkan Microsoft Windows. Instance ini harus menjadi anggota AWS Directory Service direktori dan masuk sebagai pengguna yang memiliki hak istimewa untuk membuat pengguna. Lihat informasi yang lebih lengkap di Kelola pengguna dan grup di AWS Managed Microsoft AD dalam Panduan Administrasi Layanan Direktori AWS .
Langkah 4: Buat atau ubah instans basis data MySQL
Buat atau ubah instans basis data MySQL untuk penggunaan dengan direktori Anda. Anda dapat menggunakan konsol, CLI, atau API RDS untuk mengaitkan instans basis data dengan direktori. Anda dapat menyesuaikan waktu ini dengan cara berikut:
-
Buat instance MySQL DB baru menggunakan konsol, perintah create-db-instanceCLI, atau operasi Create RDS API. DBInstance
Untuk petunjuk, lihat Membuat instans DB Amazon RDS.
-
Ubah instance MySQL DB yang ada menggunakan konsol, perintah modify-db-instanceCLI, atau operasi Modify RDS API. DBInstance
Untuk petunjuk, lihat Memodifikasi instans Amazon RDS DB.
-
Kembalikan instance MySQL DB dari snapshot DB menggunakan konsol, perintah CLI restore-db-instance-from-db-snapshot, atau operasi Restore From RDS API. DBInstance DBSnapshot
Untuk petunjuk, lihat Memulihkan ke instans DB.
-
Kembalikan instance MySQL DB ke point-in-time menggunakan konsol, perintah restore-db-instance-to- point-in-time CLI, atau operasi Restore RDS API. DBInstance ToPointInTime
Untuk petunjuk, lihat Memulihkan instans DB ke waktu yang ditentukan untuk Amazon RDS.
Autentikasi Kerberos hanya didukung untuk instans basis data MySQL dalam VPC. Instans basis data dapat berada dalam VPC yang sama dengan direktori, atau dalam VPC yang berbeda. Instans basis data harus menggunakan grup keamanan yang memungkinkan data keluar dari VPC direktori sehingga instans basis data dapat berkomunikasi dengan direktori.
Saat Anda menggunakan konsol untuk membuat, memodifikasi, atau memulihkan instans DB, pilih Autentikasi kata sandi dan Kerberos di bagian Autentikasi basis data. Pilih Jelajah Direktori, lalu pilih direktori, atau pilih Buat direktori baru.

Saat Anda menggunakan API AWS CLI atau RDS, kaitkan instans DB dengan direktori. Parameter-parameter berikut diperlukan bagi instans basis data untuk menggunakan direktori domain yang Anda buat:
-
Untuk parameter
--domain
, gunakan pengidentifikasi domain (pengidentifikasi "d-*") yang dihasilkan saat Anda membuat direktori. -
Untuk parameter
--domain-iam-role-name
, gunakan peran yang Anda buat dengan menggunakan kebijakan IAM terkelolaAmazonRDSDirectoryServiceAccess
.
Misalnya, perintah CLI berikut mengubah instans basis data untuk menggunakan direktori.
Untuk Linux, macOS, atau Unix:
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --domain d-ID
\ --domain-iam-role-namerole-name
Untuk Windows:
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --domain d-ID
^ --domain-iam-role-namerole-name
penting
Jika Anda mengubah instans basis data untuk mengaktifkan autentikasi Kerberos, boot ulang instans basis data setelah membuat perubahan.
Langkah 5: Buat login MySQL autentikasi Kerberos
Gunakan kredensial pengguna master Amazon RDS untuk menghubungi instans basis data MySQL sebagaimana Anda lakukan dengan instans basis data lain. Instans DB bergabung ke AWS Managed Microsoft AD domain. Jadi, Anda dapat menyediakan login dan pengguna MySQL dari pengguna Active Directory di domain Anda. Izin basis data dikelola melalui izin MySQL standar yang diberikan kepada dan dicabut dari login ini.
Anda dapat mengizinkan pengguna Active Directory untuk mengautentikasi dengan MySQL. Untuk melakukannya, pertama-tama gunakan kredensial pengguna master Amazon RDS untuk menghubungi instans basis data MySQL sebagaimana dengan instans basis data lain. Setelah Anda masuk, buat pengguna yang diautentikasi secara eksternal dengan PAM (Pluggable Authentication Modules) di MySQL dengan menjalankan perintah berikut. Ganti
dengan nama pengguna.testuser
CREATE USER '
testuser
'@'%' IDENTIFIED WITH 'auth_pam';
Pengguna (baik orang maupun aplikasi) dari domain Anda kini dapat menghubungi instans basis data dari mesin klien yang digabungkan dengan domain dengan menggunakan autentikasi Kerberos.
penting
Kami sangat menyarankan agar klien menggunakan SSL/TLS koneksi saat menggunakan otentikasi PAM. Jika mereka tidak menggunakan SSL/TLS koneksi, kata sandi mungkin dikirim sebagai teks yang jelas dalam beberapa kasus. Untuk memerlukan koneksi SSL/TLS terenkripsi bagi pengguna AD Anda, jalankan perintah berikut dan ganti
dengan nama pengguna:testuser
ALTER USER '
testuser
'@'%' REQUIRE SSL;
Untuk informasi selengkapnya, lihat SSL/TLSdukungan untuk instans SQL DB Saya di Amazon RDS.
Mengelola instans basis data dalam domain
Anda dapat menggunakan CLI atau API RDS untuk mengelola instans basis data Anda dan hubungannya dengan Active Directory terkelola Anda. Misalnya, Anda dapat mengaitkan Active Directory untuk autentikasi Kerberos dan melepaskan Active Directory untuk menonaktifkan autentikasi Kerberos. Anda juga dapat memindahkan instans basis data agar diautentikasi secara eksternal oleh satu Active Directory ke yang lain.
Misalnya, dengan menggunakan API Amazon RDS, Anda dapat melakukan hal-hal berikut:
-
Untuk mencoba lagi mengaktifkan autentikasi Kerberos pada keanggotaan yang gagal, gunakan operasi API
ModifyDBInstance
dan tentukan ID direktori keanggotaan saat ini. -
Untuk memperbarui nama peran IAM bagi keanggotaan, gunakan operasi API
ModifyDBInstance
dan tentukan ID direktori keanggotaan saat ini dan peran IAM baru. -
Untuk menonaktifkan autentikasi Kerberos pada instans basis data, gunakan operasi API
ModifyDBInstance
dan tentukannone
sebagai parameter domain. -
Untuk memindahkan instans basis data dari satu domain ke domain lain, gunakan operasi API
ModifyDBInstance
dan tentukan pengidentifikasi domain baru sebagai parameter domain. -
Untuk memerinci keanggotaan bagi setiap instans basis data, gunakan operasi API
DescribeDBInstances
.
Memahami keanggotaan domain
Setelah Anda membuat atau mengubah instans basis data, instans akan menjadi anggota domain. Anda dapat melihat status keanggotaan domain untuk instans DB dengan menjalankan perintah describe-db-instancesCLI. Status instans DB dapat berupa salah satu dari daftar berikut:
-
kerberos-enabled
– Instans basis data telah mengaktifkan autentikasi Kerberos. -
enabling-kerberos
— AWS sedang dalam proses mengaktifkan otentikasi Kerberos pada instance DB ini. -
pending-enable-kerberos
– Pengaktifan autentikasi Kerberos tertunda pada instans basis data ini. -
pending-maintenance-enable-kerberos
— AWS akan mencoba mengaktifkan otentikasi Kerberos pada instans DB selama jendela pemeliharaan terjadwal berikutnya. -
pending-disable-kerberos
– Penonaktifan autentikasi Kerberos tertunda pada instans basis data ini. -
pending-maintenance-disable-kerberos
— AWS akan mencoba menonaktifkan otentikasi Kerberos pada instans DB selama jendela pemeliharaan terjadwal berikutnya. -
enable-kerberos-failed
– Sebuah masalah konfigurasi mencegah AWS dari mengaktifkan autentikasi Kerberos pada instans basis data. Periksa dan perbaiki konfigurasi Anda sebelum menerbitkan ulang perintah MODIFY instans basis data. -
disabling-kerberos
— AWS sedang dalam proses menonaktifkan otentikasi Kerberos pada instance DB ini.
Permintaan untuk mengaktifkan autentikasi Kerberos dapat gagal karena masalah konektivitas jaringan atau peran IAM yang salah. Misalnya, anggap bahwa Anda membuat instans basis data atau mengubah instans basis data yang sudah ada dan upaya mengaktifkan autentikasi Kerberos gagal. Jika ini terjadi, terbitkan ulang perintah pengubahan atau ubah instans basis data yang baru dibuat untuk bergabung dengan domain.
Membuat koneksi dengan MySQL lewat autentikasi Kerberos
Untuk menghubungi MySQL dengan autentikasi Kerberos, Anda harus masuk dengan menggunakan jenis autentikasi Kerberos.
Untuk membuat pengguna basis data yang dapat Anda hubungi dengan menggunakan autentikasi Kerberos, gunakan klausul IDENTIFIED
WITH
pada pernyataan CREATE USER
. Lihat petunjuk di Langkah 5: Buat login MySQL autentikasi Kerberos.
Untuk menghindari kesalahan, gunakan klien mysql
MariaDB. Anda dapat mengunduh perangkat lunak MariaDB di https://downloads.mariadb.org/
Pada penggugah/prompt perintah, hubungi salah satu titik akhir yang terkait dengan instans basis data MySQL Anda. Ikuti prosedur-prosedur umum dalam Menghubungkan ke instans MySQL DB Anda. Saat Anda diminta untuk memasukkan kata sandi, masukkan kata sandi Kerberos yang terkait dengan nama penggunanya.
Memulihkan instans basis data MySQL dan menambahkannya ke domain
Anda dapat memulihkan snapshot DB atau menyelesaikan point-in-time pemulihan untuk instance MySQL DB dan kemudian menambahkannya ke domain. Setelah instans basis data dipulihkan, ubah instans itu dengan menggunakan proses yang dijelaskan dalam Langkah 4: Buat atau ubah instans basis data MySQL untuk menambahkannya ke domain.
Batasan MySQL autentikasi Kerberos
Batasan berikut berlaku bagi autentikasi Kerberos untuk MySQL:
-
Hanya sebuah AWS Managed Microsoft AD yang didukung. Namun, Anda dapat menggabungkan instans basis data RDS for MySQL dengan domain Microsoft AD terkelola bersama yang dimiliki oleh beberapa akun di Wilayah AWS yang sama.
-
Anda harus mem-boot ulang instans basis data setelah mengaktifkan fitur ini.
-
Panjang nama domain tidak boleh lebih dari 61 karakter.
-
Anda tidak dapat mengaktifkan autentikasi Kerberos dan autentikasi IAM dengan serentak. Pilih satu metode autentikasi atau metode lain untuk instans basis data MySQL Anda.
-
Jangan ubah port instans basis data setelah mengaktifkan fitur ini.
-
Jangan gunakan autentikasi Kerberos dengan replika baca.
-
Jika pemutakhiran versi kecil otomatis untuk instans basis data MySQL yang menggunakan autentikasi Kerberos diaktifkan, Anda harus mematikan autentikasi Kerberos, lalu mengaktifkannya kembali setelah pemutakhiran otomatis. Lihat informasi yang lebih lengkap tentang peningkatan versi auto kecil di Upgrade versi minor otomatis RDS untuk My SQL.
-
Untuk menghapus instans basis data dengan fitur ini aktif, pertama-tama nonaktifkan fitur. Untuk melakukannya, jalankan perintah
modify-db-instance
CLI untuk instance DB dan tentukannone
parameternya.--domain
Jika Anda menggunakan CLI atau API RDS untuk menghapus instans basis data dengan fitur ini aktif, akan terjadi penundaan.
-
RDS untuk MySQL tidak mendukung otentikasi Kerberos di seluruh kepercayaan hutan antara AD di lokasi atau yang dihosting sendiri dan. AWS Managed Microsoft AD