Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Autentikasi Kerberos dengan Babelfish
Babelfish for Aurora PostgreSQL versi 15.2 mendukung autentikasi ke klaster DB Anda menggunakan Kerberos. Metode ini memungkinkan Anda menggunakan Microsoft Windows Authentication untuk mengautentikasi pengguna saat mereka terhubung ke basis data Babelfish Anda. Untuk melakukannya, Anda harus terlebih dahulu mengkonfigurasi cluster DB Anda untuk digunakan AWS Directory Service for Microsoft Active Directory untuk otentikasi Kerberos. Untuk informasi lebih lanjut, lihat Apa itu Directory Service? dalam Panduan AWS Directory Service Administrasi.
Mengatur autentikasi Kerberos
Klaster DB Babelfish for Aurora PostgreSQL dapat terhubung menggunakan dua port yang berbeda, tetapi pengaturan autentikasi Kerberos adalah proses satu kali. Oleh karena itu, Anda harus terlebih dahulu mengatur autentikasi Kerberos untuk klaster DB Anda. Untuk informasi selengkapnya, lihat Mengatur autentikasi Kerberos. Setelah menyelesaikan penyiapan, pastikan Anda dapat terhubung dengan klien PostgreSQL menggunakan Kerberos. Untuk informasi selengkapnya, lihat Mengatur autentikasi Kerberos.
Login dan penyediaan pengguna di Babelfish
Login Windows yang dibuat dari port Aliran Data Tabular (TDS) dapat digunakan baik dengan port TDS atau port PostgreSQL. Pertama, login yang dapat menggunakan Kerberos untuk autentikasi harus disediakan dari port TDS sebelum digunakan oleh pengguna T-SQL dan aplikasi untuk terhubung ke basis data Babelfish. Saat membuat login Windows, administrator dapat memberikan login menggunakan nama domain DNS atau nama domain NetBIOS. Biasanya, domain NetBIOS adalah subdomain dari nama domain DNS. Misalnya, jika nama domain DNS adalah CORP.EXAMPLE.COM, maka domain NetBIOS bisa berupa CORP. Jika format nama domain NetBIOS disediakan untuk login, pemetaan harus ada ke nama domain DNS.
Mengelola nama domain NetBIOS ke pemetaan nama domain DNS
Untuk mengelola pemetaan antara nama domain NetBIOS dan nama domain DNS, Babelfish menyediakan prosedur tersimpan sistem untuk menambah, menghapus, dan memotong pemetaan. Hanya pengguna dengan peran sysadmin yang dapat menjalankan prosedur ini.
Untuk membuat pemetaan antara nama domain NetBIOS dan DNS, gunakan prosedur penyimpanan sistem yang disediakan Babelfish babelfish_add_domain_mapping_entry. Kedua argumen harus memiliki nilai yang valid dan tidak NULL.
contoh
EXEC babelfish_add_domain_mapping_entry 'netbios_domain_name', 'fully_qualified_domain_name'
Contoh berikut menunjukkan cara membuat pemetaan antara domain NetBIOS CORP dan nama domain DNS CORP.EXAMPLE.COM.
contoh
EXEC babelfish_add_domain_mapping_entry 'corp', 'corp.example.com'
Untuk menghapus entri pemetaan yang ada, gunakan prosedur tersimpan sistem babelfish_remove_domain_mapping_entry.
contoh
EXEC babelfish_remove_domain_mapping_entry 'netbios_domain_name'
Contoh berikut menunjukkan cara menghapus pemetaan untuk nama NetBIOS CORP.
contoh
EXEC babelfish_remove_domain_mapping_entry 'corp'
Untuk menghapus entri pemetaan yang ada, gunakan prosedur tersimpan sistem babelfish_truncate_domain_mapping_table:
contoh
EXEC babelfish_truncate_domain_mapping_table
Untuk melihat semua pemetaan antara nama domain NetBIOS dan DNS, gunakan kueri berikut.
contoh
SELECT netbios_domain_name, fq_domain_name FROM babelfish_domain_mapping;
Mengatur Login
Membuat login
Hubungkan ke DB melalui titik akhir TDS menggunakan login yang memiliki izin yang benar. Jika tidak ada pengguna basis data yang dibuat untuk login, maka login dipetakan ke pengguna tamu. Jika pengguna tamu tidak diaktifkan, maka upaya login gagal.
Buat login Windows menggunakan kueri berikut. Opsi FROM WINDOWS ini memungkinkan autentikasi menggunakan Active Directory.
CREATE LOGIN login_name FROM WINDOWS [WITH DEFAULT_DATABASE=database]
contoh
Contoh berikut menunjukkan cara membuat login untuk pengguna Active Directory [corp\test1] dengan basis data default db1.
CREATE LOGIN [corp\test1] FROM WINDOWS WITH DEFAULT_DATABASE=db1
Contoh ini mengasumsikan bahwa ada pemetaan antara domain NetBIOS CORP dan nama domain DNS CORP.EXAMPLE.COM. Jika tidak ada pemetaan, Anda harus memberikan nama domain DNS [CORP.EXAMPLE.COM\test1].
catatan
Login berdasarkan pengguna Active Directory, dibatasi nama kurang dari 21 karakter.
Menjatuhkan login
Untuk menjatuhkan login, gunakan sintaks yang sama seperti untuk login lainnya, seperti yang ditunjukkan pada contoh berikut:
DROP LOGIN [DNS domain name\login]
Mengubah login
Untuk mengubah login, gunakan sintaks yang sama seperti untuk login lainnya, seperti yang ditunjukkan pada contoh berikut:
ALTER LOGIN [DNS domain name\login] { ENABLE|DISABLE|WITH DEFAULT_DATABASE=[master] }
Perintah ALTER LOGIN mendukung opsi terbatas untuk login Windows, termasuk yang berikut ini:
-
DISABLE – Untuk menonaktifkan login. Anda tidak dapat menggunakan login yang dinonaktifkan untuk autentikasi.
-
ENABLE – Untuk mengaktifkan login yang dinonaktifkan.
-
DEFAULT_DATABASE – Untuk mengubah basis data login default.
catatan
Semua manajemen kata sandi dilakukan melalui Directory Service, sehingga perintah ALTER LOGIN tidak mengizinkan administrator database untuk mengubah atau mengatur kata sandi untuk login Windows.
Menghubungkan ke Babelfish for Aurora PostgreSQL dengan autentikasi Kerberos
Biasanya, pengguna basis data yang mengautentikasi menggunakan Kerberos melakukannya dari mesin klien mereka. Mesin ini adalah anggota domain Active Directory. Mereka menggunakan Autentikasi Windows dari aplikasi klien mereka untuk mengakses server Babelfish for Aurora PostgreSQL pada port TDS.
Menghubungkan ke Babelfish for Aurora PostgreSQL pada port PostgreSQL dengan autentikasi Kerberos
Anda dapat menggunakan login yang dibuat dari port TDS dengan port TDS atau port PostgreSQL. Namun, PostgreSQL menggunakan perbandingan peka huruf besar/kecil secara default untuk nama pengguna. Agar Aurora PostgreSQL menafsirkan nama pengguna Kerberos sebagai peka huruf besar/kecil, Anda harus menetapkan parameter krb_caseins_users sebagai true dalam grup parameter klaster Babelfish kustom. Parameter ini diatur ke secara false default. Untuk informasi selengkapnya, lihat Mengonfigurasi nama pengguna yang tidak peka huruf besar/kecil. Selain itu, Anda harus menentukan nama pengguna login dalam format <login@nama domain DNS> dari aplikasi klien PostgreSQL. Anda tidak dapat menggunakan format <domain name DNS\login>.
Kesalahan yang sering terjadi
Anda dapat mengonfigurasi hubungan kepercayaan forest antara Microsoft Active Directory on-premise dan AWS Managed Microsoft AD. Untuk informasi selengkapnya, lihat Membuat hubungan kepercayaan. Kemudian, Anda harus terhubung menggunakan titik akhir khusus domain khusus alih-alih menggunakan domain Amazon rds.amazonaws.com di titik akhir host. Jika Anda tidak menggunakan titik akhir khusus domain yang benar, Anda mungkin mengalami kesalahan berikut:
Error: “Authentication method "NTLMSSP" not supported (Microsoft SQL Server, Error: 514)"
Kesalahan ini terjadi ketika klien TDS tidak dapat menyimpan tiket layanan untuk URL titik akhir yang disediakan. Untuk informasi selengkapnya, lihat Mengatur autentikasi Kerberos.