

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

# Menyiapkan autentikasi Kerberos untuk klaster DB Aurora MySQL
<a name="aurora-mysql-kerberos-setting-up"></a>

Gunakan AWS Managed Microsoft AD untuk mengatur otentikasi Kerberos untuk cluster DB MySQL Aurora. Untuk menyiapkan autentikasi Kerberos, lakukan langkah berikut.

**Topics**
+ [Langkah 1: Buat direktori menggunakan AWS Managed Microsoft AD](#aurora-mysql-kerberos-setting-up.create-directory)
+ [Langkah 2: (Opsional) Buat kepercayaan untuk Active Directory on-premise](#aurora-mysql-kerberos-setting-up.create-trust)
+ [Langkah 3: Buat peran IAM untuk digunakan oleh Amazon Aurora](#aurora-mysql-kerberos-setting-up.CreateIAMRole)
+ [Langkah 4: Buat dan konfigurasikan pengguna](#aurora-mysql-kerberos-setting-up.create-users)
+ [Langkah 5: Buat atau modifikasi klaster DB Aurora MySQL](#aurora-mysql-kerberos-setting-up.create-modify)
+ [Langkah 6: Buat pengguna MySQL Aurora yang menggunakan autentikasi Kerberos](#aurora-mysql-kerberos-setting-up.create-logins)
+ [Langkah 7: Konfigurasi klien MySQL](#aurora-mysql-kerberos-setting-up.configure-client)
+ [Langkah 8: (Opsional) Lakukan konfigurasi perbandingan nama pengguna yang tidak peka huruf besar/kecil](#aurora-mysql-kerberos-setting-up.case-insensitive)

## Langkah 1: Buat direktori menggunakan AWS Managed Microsoft AD
<a name="aurora-mysql-kerberos-setting-up.create-directory"></a>

Directory Service membuat Direktori Aktif yang dikelola sepenuhnya di AWS Cloud. Saat Anda membuat AWS Managed Microsoft AD direktori, 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, Directory Service lakukan tugas-tugas berikut atas nama Anda:
+ Menyiapkan Active Directory 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. 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 Anda. Itu terletak di root domain, yang dimiliki dan dikelola oleh AWS.

`Admin`Akun yang dibuat dengan AWS Managed Microsoft AD direktori Anda memiliki izin untuk kegiatan administratif yang paling umum untuk OU Anda, termasuk:
+ Membuat, memperbarui, atau menghapus pengguna
+ Tambahkan sumber daya ke domain Anda, seperti server file atau server cetak, kemudian tetapkan izin untuk sumber daya itu 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 untuk melakukan aktivitas di seluruh 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**

1. Masuk ke Konsol Manajemen AWS dan buka Directory Service konsol di [https://console.aws.amazon.com/directoryservicev2/](https://console.aws.amazon.com/directoryservicev2/).

1. Di panel navigasi, pilih **Direktori**, lalu pilih **Siapkan direktori**.

1. Pilih **AWS Managed Microsoft AD**. AWS Managed Microsoft AD adalah satu-satunya pilihan yang saat ini dapat Anda gunakan dengan Amazon RDS.

1. 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 (\$1\$1@\$1\$1%^&\$1\$1-\$1=`\$1\$1()\$1\$1[]:;"'<>,.?/)  
**Konfirmasikan kata sandi**  
Kata sandi administrator dimasukkan kembali.

1. Pilih **Selanjutnya**.

1.  Masukkan informasi berikut di bagian **Jaringan**, lalu pilih **Berikutnya**:  
**VPC**  
VPC untuk direktori. Buat klaster DB Aurora MySQL di VPC yang sama ini.  
**Subnet**  
Subnet untuk server direktori. Kedua subnet harus berada di Zona Ketersediaan yang berbeda.

1. Tinjau informasi direktori dan buat perubahan yang diperlukan. Jika informasi sudah benar, pilih **Buat direktori**.  
![\[Halaman detail direktori selama pembuatan\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/AuroraUserGuide/images/WinAuth2.png)

Dibutuhkan beberapa menit untuk membuat direktori. 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 memodifikasi klaster DB Aurora MySQL Anda.

![\[ID Direktori di halaman detail Direktori\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/AuroraUserGuide/images/WinAuth3.png)


## Langkah 2: (Opsional) Buat kepercayaan untuk Active Directory on-premise
<a name="aurora-mysql-kerberos-setting-up.create-trust"></a>

Jika Anda tidak berencana menggunakan Microsoft Active Directory on-premise Anda sendiri, langsung lompat ke [Langkah 3: Buat peran IAM untuk digunakan oleh Amazon Aurora](#aurora-mysql-kerberos-setting-up.CreateIAMRole).

Untuk menggunakan autentikasi Kerberos dengan Active Directory lokal, Anda perlu membuat hubungan domain yang dapat dipercaya menggunakan trust hutan antara Microsoft Active Directory lokal dan direktori (dibuat di AWS Managed Microsoft AD ). [Langkah 1: Buat direktori menggunakan AWS Managed Microsoft AD](#aurora-mysql-kerberos-setting-up.create-directory) Kepercayaan dapat bersifat satu arah, di mana direktori AWS Managed Microsoft AD mempercayai Microsoft Active Directory on-premise. Kepercayaan juga dapat bersifat dua arah, di mana kedua Active Directory saling mempercayai. Untuk informasi selengkapnya tentang menyiapkan trust menggunakan Directory Service, lihat [Kapan membuat hubungan kepercayaan](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_setup_trust.html) di *Panduan AWS Directory Service Administrasi*.

**catatan**  
Jika Anda menggunakan Microsoft Active Directory on-premise:  
Klien Windows tidak dapat terhubung menggunakan titik akhir kustom Aurora. Untuk mempelajari selengkapnya, lihat [Koneksi titik akhir Amazon Aurora](Aurora.Overview.Endpoints.md).
Untuk [basis data global](aurora-global-database.md):  
Klien Windows dapat terhubung menggunakan titik akhir instans atau klaster di Wilayah AWS utama dari basis data global saja.
Klien Windows tidak dapat terhubung menggunakan titik akhir cluster di sekunder Wilayah AWS.

Pastikan bahwa nama domain Microsoft Active Directory on-premise Anda mencakup perutean akhiran DNS yang sesuai dengan hubungan kepercayaan yang baru dibuat. Tangkapan layar berikut menunjukkan sebuah contoh.

![\[Perutean DNS sesuai dengan kepercayaan yang dibuat\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/AuroraUserGuide/images/kerberos-auth-trust.png)


## Langkah 3: Buat peran IAM untuk digunakan oleh Amazon Aurora
<a name="aurora-mysql-kerberos-setting-up.CreateIAMRole"></a>

Agar Amazon Aurora memanggil Directory Service Anda, Anda memerlukan peran AWS Identity and Access Management (IAM) yang menggunakan kebijakan IAM terkelola. `AmazonRDSDirectoryServiceAccess` Peran ini memungkinkan Aurora untuk melakukan panggilan ke Directory Service.

Saat Anda membuat cluster DB menggunakan Konsol Manajemen AWS, dan Anda memiliki `iam:CreateRole` izin, konsol akan 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, pilih`Directory 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) Pengguna *IAM*.

Anda memiliki opsi untuk membuat kebijakan dengan izin yang diperlukan alih-alih menggunakan kebijakan IAM yang dikelola `AmazonRDSDirectoryServiceAccess`. Dalam hal ini, peran IAM harus memiliki kebijakan kepercayaan IAM berikut.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "directoryservice.rds.amazonaws.com",
          "rds.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Peran ini juga harus memiliki kebijakan peran IAM berikut.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "ds:DescribeDirectories",
        "ds:AuthorizeApplication",
        "ds:UnauthorizeApplication",
        "ds:GetAuthorizedApplicationDetails"
      ],
    "Effect": "Allow",
    "Resource": "*"
    }
  ]
}
```

------

## Langkah 4: Buat dan konfigurasikan pengguna
<a name="aurora-mysql-kerberos-setting-up.create-users"></a>

Anda dapat membuat pengguna dengan alat Pengguna Active Directory dan Komputer. 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 Directory Service direktori, Anda menggunakan instans Amazon EC2 lokal atau Amazon EC2 berdasarkan Microsoft Windows yang digabungkan ke Directory Service direktori Anda. Anda harus login ke instans sebagai pengguna yang memiliki hak istimewa untuk membuat pengguna. Untuk informasi selengkapnya, lihat [Mengelola pengguna dan grup di AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/creating_ad_users_and_groups.html) di *Panduan Administrasi Layanan Direktori AWS *.

## Langkah 5: Buat atau modifikasi klaster DB Aurora MySQL
<a name="aurora-mysql-kerberos-setting-up.create-modify"></a>

Buat atau modifikasi klaster DB Aurora MySQL untuk penggunaan dengan direktori Anda. Anda dapat menggunakan konsol, AWS CLI, atau RDS API untuk mengaitkan cluster DB dengan direktori. Anda dapat melakukan tugas ini dengan salah satu cara berikut:
+ [Buat cluster Aurora MySQL DB baru menggunakan konsol, perintah CLI, atau operasi Create [ create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html)RDS API. DBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html)

  Untuk petunjuk, lihat [Membuat klaster DB Amazon Aurora](Aurora.CreateInstance.md).
+ [Ubah cluster Aurora MySQL DB yang ada menggunakan konsol, perintah CLI, atau operasi Modify [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html)RDS API. DBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html)

  Untuk petunjuk, lihat [Memodifikasi klaster DB Amazon Aurora](Aurora.Modifying.md).
+ [Kembalikan cluster DB MySQL Aurora dari snapshot DB menggunakan konsol, perintah [restore-db-cluster-fromCLI](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-from-snapshot.html) -snapshot, atau operasi Restore RDS API. DBCluster FromSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterFromSnapshot.html)

  Untuk petunjuk, lihat [Memulihkan dari snapshot klaster DB](aurora-restore-snapshot.md).
+ [Kembalikan cluster Aurora MySQL DB ke point-in-time menggunakan konsol, perintah - [ restore-db-cluster-topoint-in-timeCLI](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-to-point-in-time.html), atau operasi Restore RDS API. DBCluster ToPointInTime](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBClusterToPointInTime.html)

  Untuk petunjuk, lihat [Memulihkan klaster DB ke waktu tertentu](aurora-pitr.md).

Autentikasi Kerberos hanya didukung untuk klaster DB Aurora MySQL dalam VPC. Klaster DB boleh berada dalam VPC yang sama dengan direktori, atau dalam VPC yang berbeda. VPC klaster DB harus memiliki grup keamanan VPC yang memungkinkan komunikasi keluar ke direktori Anda. 

### Konsol
<a name="aurora-mysql-kerberos-setting-up.create-modify.CON"></a>

Saat Anda menggunakan konsol untuk membuat, memodifikasi, atau memulihkan klaster DB, pilih **Autentikasi Kerberos** di bagian **Autentikasi basis data**. Pilih **Jelajah Direktori** lalu pilih direktori, atau pilih **Buat direktori baru**.

![\[Pengaturan autentikasi Kerberos saat membuat klaster DB\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/AuroraUserGuide/images/kerberos-auth-create-cluster.png)


### AWS CLI
<a name="aurora-mysql-kerberos-setting-up.create-modify.CLI"></a>

Saat Anda menggunakan AWS CLI atau RDS API, kaitkan cluster DB dengan direktori. Parameter berikut diperlukan agar klaster DB dapat menggunakan direktori domain yang Anda buat:
+ Untuk parameter `--domain`, gunakan pengidentifikasi domain (pengidentifikasi "d-\$1") yang dihasilkan saat Anda membuat direktori.
+ Untuk parameter `--domain-iam-role-name`, gunakan peran yang Anda buat dengan menggunakan kebijakan IAM terkelola `AmazonRDSDirectoryServiceAccess`.

Misalnya, perintah CLI berikut memodifikasi klaster DB untuk menggunakan direktori.

Untuk Linux, macOS, atau Unix:

```
aws rds modify-db-cluster \
    --db-cluster-identifier mydbcluster \
    --domain d-ID \
    --domain-iam-role-name role-name
```

Untuk Windows:

```
aws rds modify-db-cluster ^
    --db-cluster-identifier mydbcluster ^
    --domain d-ID ^
    --domain-iam-role-name role-name
```

**penting**  
Jika Anda memodifikasi klaster DB untuk mengaktifkan autentikasi Kerberos, lakukan boot ulang terhadap instans DB pembaca setelah melakukan perubahan.

## Langkah 6: Buat pengguna MySQL Aurora yang menggunakan autentikasi Kerberos
<a name="aurora-mysql-kerberos-setting-up.create-logins"></a>

Cluster DB bergabung ke AWS Managed Microsoft AD domain. Jadi, Anda dapat membuat pengguna Aurora MySQL dari pengguna Active Directory di domain Anda. Izin basis data dikelola melalui izin Aurora MySQL standar yang diberikan kepada dan dicabut dari pengguna ini.

Anda dapat mengizinkan pengguna Active Directory untuk mengautentikasi dengan Aurora MySQL. Untuk melakukannya, pertama-tama gunakan kredensial pengguna primer Amazon RDS untuk terhubung ke klaster DB Aurora MySQL seperti klaster DB lainnya. Setelah Anda login, buat pengguna yang diautentikasi secara eksternal dengan autentikasi Kerberos di Aurora MySQL seperti yang ditunjukkan di sini:

```
CREATE USER user_name@'host_name' IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name';
```
+ Ganti `user_name` dengan nama pengguna. Pengguna (baik manusia maupun aplikasi) dari domain Anda sekarang dapat terhubung ke klaster DB dari mesin klien yang digabungkan ke domain menggunakan autentikasi Kerberos.
+ Ganti `host_name` dengan nama host. Anda dapat menggunakan `%` sebagai wildcard. Anda juga dapat menggunakan alamat IP tertentu untuk nama host.
+ Ganti *realm\$1name* dengan nama ranah direktori domain. Nama realm biasanya sama dengan nama domain DNS dalam huruf besar, seperti `CORP.EXAMPLE.COM`. Realm adalah sekelompok sistem yang menggunakan Pusat Distribusi Kunci Kerberos yang sama.

Contoh berikut ini menciptakan pengguna basis data dengan nama `Admin` yang mengautentikasi terhadap Active Directory dengan nama realm `MYSQL.LOCAL`.

```
CREATE USER Admin@'%' IDENTIFIED WITH 'authentication_kerberos' BY 'MYSQL.LOCAL';
```

### Memodifikasi login Aurora MySQL yang ada
<a name="aurora-mysql-kerberos.modify-login"></a>

Anda juga dapat memodifikasi login Aurora MySQL yang ada untuk menggunakan autentikasi Kerberos dengan menggunakan sintaks berikut:

```
ALTER USER user_name IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name';
```

## Langkah 7: Konfigurasi klien MySQL
<a name="aurora-mysql-kerberos-setting-up.configure-client"></a>

Untuk mengonfigurasi klien MySQL, lakukan langkah-langkah berikut:

1. Buat file `krb5.conf` (atau yang setara) untuk menunjuk ke domain.

1. Verifikasi bahwa lalu lintas dapat mengalir antara host klien dan Directory Service. Gunakan utilitas jaringan seperti Netcat, untuk tugas-tugas berikut:
   + Memeriksa lalu lintas melalui DNS untuk port 53.
   + Verifikasi lalu lintas TCP/UDP untuk port 53 dan untuk Kerberos, yang mencakup port 88 dan 464 untuk. Directory Service

1. Periksa bahwa lalu lintas dapat mengalir antara host klien dan instans basis data melalui port basis data. Misalnya, gunakan `mysql` untuk menghubungkan dan mengakses basis data.

Berikut ini adalah contoh `krb5.conf` konten untuk AWS Managed Microsoft AD.

```
[libdefaults]
 default_realm = EXAMPLE.COM
[realms]
 EXAMPLE.COM = {
  kdc = example.com
  admin_server = example.com
 }
[domain_realm]
 .example.com = EXAMPLE.COM
 example.com = EXAMPLE.COM
```

Berikut ini adalah contoh konten `krb5.conf` untuk Microsoft Active Directory on-premise.

```
[libdefaults]
 default_realm = EXAMPLE.COM
[realms]
 EXAMPLE.COM = {
  kdc = example.com
  admin_server = example.com
 }
 ONPREM.COM = {
  kdc = onprem.com
  admin_server = onprem.com
 }
[domain_realm]
 .example.com = EXAMPLE.COM
 example.com = EXAMPLE.COM
 .onprem.com = ONPREM.COM
 onprem.com = ONPREM.COM  
 .rds.amazonaws.com = EXAMPLE.COM
 .amazonaws.com.rproxy.govskope.us.cn = EXAMPLE.COM
 .amazon.com = EXAMPLE.COM
```

## Langkah 8: (Opsional) Lakukan konfigurasi perbandingan nama pengguna yang tidak peka huruf besar/kecil
<a name="aurora-mysql-kerberos-setting-up.case-insensitive"></a>

Secara default, huruf besar/kecil nama pengguna basis data MySQL harus sesuai dengan login Active Directory. Namun, Anda sekarang dapat menggunakan perbandingan nama pengguna yang tidak peka huruf besar/kecil dengan plugin `authentication_kerberos`. Untuk melakukannya, Anda mengatur parameter klaster DB `authentication_kerberos_caseins_cmp` ke `true`.

**Menggunakan perbandingan nama pengguna yang tidak peka huruf besar/kecil**

1. Buat grup parameter klaster DB kustom. Ikuti prosedur di [Membuat grup parameter cluster DB di Amazon Aurora](USER_WorkingWithParamGroups.CreatingCluster.md).

1. Edit grup parameter baru untuk mengatur nilai `authentication_kerberos_caseins_cmp` ke `true`. Ikuti prosedur di [Memodifikasi parameter dalam grup parameter cluster DB di Amazon Aurora](USER_WorkingWithParamGroups.ModifyingCluster.md).

1. Kaitkan grup parameter klaster DB dengan klaster DB Aurora MySQL Anda. Ikuti prosedur di [Mengaitkan grup parameter cluster DB dengan cluster DB di Amazon Aurora](USER_WorkingWithParamGroups.AssociatingCluster.md).

1. Boot ulang klaster DB.