

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

# Autentikasi Kerberos dengan Babelfish
<a name="babelfish-active-directory"></a>

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?](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) dalam *Panduan AWS Directory Service Administrasi*.

## Mengatur autentikasi Kerberos
<a name="babelfish-active-directory-setup"></a>

 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](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-kerberos-setting-up.html). Setelah menyelesaikan penyiapan, pastikan Anda dapat terhubung dengan klien PostgreSQL menggunakan Kerberos. Untuk informasi selengkapnya, lihat [Mengatur autentikasi Kerberos](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-kerberos-connecting.html). 

## Login dan penyediaan pengguna di Babelfish
<a name="babelfish-active-directory-login"></a>

 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 otentikasi harus disediakan dari port TDS sebelum digunakan oleh T-SQL pengguna dan aplikasi untuk terhubung ke database 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
<a name="babelfish-active-directory-login-netbios"></a>

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.

**Example**  

```
EXEC babelfish_add_domain_mapping_entry 'netbios_domain_name', 'fully_qualified_domain_name'
```

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

**Example**  

```
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.

**Example**  

```
EXEC babelfish_remove_domain_mapping_entry 'netbios_domain_name'
```

Contoh berikut menunjukkan cara menghapus pemetaan untuk nama NetBIOS CORP.

**Example**  

```
EXEC babelfish_remove_domain_mapping_entry 'corp'
```

Untuk menghapus entri pemetaan yang ada, gunakan prosedur tersimpan sistem babelfish\_truncate\_domain\_mapping\_table:

**Example**  

```
EXEC babelfish_truncate_domain_mapping_table
```

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

**Example**  

```
SELECT netbios_domain_name, fq_domain_name FROM babelfish_domain_mapping;
```

### Mengatur Login
<a name="babelfish-active-directory-login-managing"></a>

**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]
```

**Example**  
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 NetBIOS domain CORP dan nama domain DNS. CORP.EXAMPLE.COM Jika tidak ada pemetaan, maka 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
<a name="babelfish-active-directory-kerberos"></a>

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
<a name="babelfish-active-directory-kerberos-pgport"></a>

 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](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-kerberos-setting-up.html#postgresql-kerberos-setting-up.create-logins.set-case-insentive). 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
<a name="babelfish-active-directory-errors"></a>

Anda dapat mengonfigurasi hubungan kepercayaan forest antara Microsoft Active Directory on-premise dan AWS Managed Microsoft AD. Untuk informasi selengkapnya, lihat [Membuat hubungan kepercayaan](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-kerberos-setting-up.html#postgresql-kerberos-setting-up.create-trust). 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](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-kerberos-connecting.html). 