Autentikasi Kerberos dengan Babelfish - Amazon Aurora:

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 untuk Aurora Postgre SQL 15.2 versi mendukung otentikasi ke cluster 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 AWS Directory Service? di AWS Directory Service Panduan Administrasi.

Mengatur autentikasi Kerberos

Babelfish untuk Aurora Postgre SQL DB cluster dapat terhubung menggunakan dua port yang berbeda, tetapi pengaturan otentikasi 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 pengaturan, pastikan Anda dapat terhubung dengan SQL klien Postgre menggunakan Kerberos. Untuk informasi selengkapnya, lihat Mengatur autentikasi Kerberos.

Login dan penyediaan pengguna di Babelfish

Login Windows yang dibuat dari port Tabular Data Stream (TDS) dapat digunakan baik dengan TDS port atau port SQL Postgre. Pertama, login yang dapat menggunakan Kerberos untuk otentikasi harus disediakan dari TDS port sebelum digunakan oleh SQL pengguna T dan aplikasi untuk terhubung ke database Babelfish. Saat membuat login Windows, administrator dapat memberikan login menggunakan nama domain atau nama DNS BIOS domain Net. Biasanya, Net BIOS Domain adalah subdomain dari nama DNS domain. Misalnya, jika nama DNS domainnyaCORP.EXAMPLE.COM, maka BIOS domain Net bisaCORP. Jika format nama BIOS domain Net disediakan untuk login, pemetaan harus ada ke nama DNS domain.

Mengelola nama BIOS domain Net ke pemetaan nama DNS domain

Untuk mengelola pemetaan antara nama BIOS domain Net dan DNS nama domain, 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 Net BIOS dan nama DNS domain, gunakan prosedur tersimpan sistem yang disediakan Babelfish. babelfish_add_domain_mapping_entry Kedua argumen harus memiliki nilai yang valid dan tidakNULL.

EXEC babelfish_add_domain_mapping_entry 'netbios_domain_name', 'fully_qualified_domain_name'

Contoh berikut menunjukkan cara membuat pemetaan antara BIOS nama Net CORP dan nama DNS CORP domain. EXAMPLE. COM.

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.

EXEC babelfish_remove_domain_mapping_entry 'netbios_domain_name'

Contoh berikut menunjukkan cara menghapus pemetaan untuk BIOS nama CORP Net.

EXEC babelfish_remove_domain_mapping_entry 'corp'

Untuk menghapus entri pemetaan yang ada, gunakan prosedur tersimpan sistem babelfish_truncate_domain_mapping_table:

EXEC babelfish_truncate_domain_mapping_table

Untuk melihat semua pemetaan antara Net BIOS dan nama DNS domain, gunakan kueri berikut.

SELECT netbios_domain_name, fq_domain_name FROM babelfish_domain_mapping;

Mengatur Login

Membuat login

Connect ke DB melalui TDS endpoint 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 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 BIOS domain Net CORP dan nama DNS domain. CORP EXAMPLE. COM. Jika tidak ada pemetaan, maka Anda harus memberikan nama DNS domain [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] }

ALTERLOGINPerintah ini 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 database default login.

catatan

Semua manajemen kata sandi dilakukan melalui AWS Directory Service, sehingga ALTER LOGIN perintah tidak mengizinkan administrator database untuk mengubah atau mengatur kata sandi untuk login Windows.

Menghubungkan ke Babelfish untuk Aurora Postgre dengan otentikasi Kerberos SQL

Biasanya, pengguna basis data yang mengautentikasi menggunakan Kerberos melakukannya dari mesin klien mereka. Mesin ini adalah anggota domain Active Directory. Mereka menggunakan Windows Authentication dari aplikasi klien mereka untuk mengakses server Babelfish untuk Aurora SQL Postgre di port. TDS

Menghubungkan ke Babelfish untuk Aurora Postgre di port Postgre dengan otentikasi SQL Kerberos SQL

Anda dapat menggunakan login yang dibuat dari TDS port dengan port atau TDS port PostgreSQL. Namun, Postgre SQL menggunakan perbandingan case-sensitive secara default untuk nama pengguna. Agar Aurora Postgre SQL menafsirkan nama pengguna Kerberos sebagai case-insensitive, Anda harus mengatur parameter seperti pada grup parameter cluster Babelfish kustom. krb_caseins_users true 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 DNS domain> dari aplikasi klien Postgre. SQL Anda tidak dapat menggunakan format < nama DNS domain\ login>.

Kesalahan yang sering terjadi

Anda dapat mengonfigurasi hubungan trust hutan antara Microsoft Active Directory lokal 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 TDS klien tidak dapat menyimpan tiket layanan untuk titik akhir URL yang disediakan. Untuk informasi selengkapnya, lihat Mengatur autentikasi Kerberos.