

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

# Menggunakan domain Anda sendiri untuk login terkelola
<a name="cognito-user-pools-add-custom-domain"></a>

Setelah menyiapkan klien aplikasi, Anda dapat mengonfigurasi kumpulan pengguna dengan domain khusus untuk layanan domain [login terkelola](cognito-user-pools-managed-login.md). Dengan domain kustom, pengguna dapat masuk ke aplikasi Anda menggunakan alamat web Anda sendiri, bukan [domain `amazoncognito.com` awalan](cognito-user-pools-assign-domain-prefix.md) default. Domain khusus meningkatkan kepercayaan pengguna pada aplikasi Anda dengan nama domain yang sudah dikenal, terutama ketika domain root cocok dengan domain yang menghosting aplikasi Anda. Domain khusus dapat meningkatkan kepatuhan terhadap persyaratan keamanan organisasi.

Domain kustom memiliki beberapa prasyarat, termasuk kumpulan pengguna, klien aplikasi, dan domain web yang Anda miliki. Domain kustom juga memerlukan sertifikat SSL untuk domain kustom, dikelola dengan AWS Certificate Manager (ACM) di AS Timur (Virginia N.). Amazon Cognito membuat CloudFront distribusi Amazon, diamankan saat transit dengan sertifikat ACM Anda. Karena Anda memiliki domain, Anda harus membuat catatan DNS yang mengarahkan lalu lintas ke CloudFront distribusi untuk domain kustom Anda.

Setelah elemen-elemen ini siap, Anda dapat menambahkan domain kustom ke kumpulan pengguna Anda melalui konsol Amazon Cognito atau API. Ini melibatkan menentukan nama domain dan sertifikat SSL, dan kemudian memperbarui konfigurasi DNS Anda dengan target alias yang disediakan. Setelah melakukan perubahan ini, Anda dapat memverifikasi bahwa halaman masuk dapat diakses di domain khusus Anda.

Cara paling rendah untuk membuat domain kustom adalah dengan zona yang dihosting publik di Amazon Route 53. Konsol Amazon Cognito dapat membuat catatan DNS yang tepat dalam beberapa langkah. Sebelum memulai, pertimbangkan untuk [membuat zona host Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html) untuk domain atau subdomain yang Anda miliki.

**Topics**
+ [

## Menambahkan domain kustom ke kumpulan pengguna
](#cognito-user-pools-add-custom-domain-adding)
+ [

## Prasyarat
](#cognito-user-pools-add-custom-domain-prereq)
+ [

## Langkah 1: Masukkan nama domain kustom Anda
](#cognito-user-pools-add-custom-domain-console-step-1)
+ [

## Langkah 2: Tambahkan target alias dan subdomain
](#cognito-user-pools-add-custom-domain-console-step-2)
+ [

## Langkah 3: Verifikasi halaman masuk Anda
](#cognito-user-pools-add-custom-domain-console-step-3)
+ [

## Mengubah sertifikat SSL untuk domain kustom Anda
](#cognito-user-pools-add-custom-domain-changing-certificate)

## Menambahkan domain kustom ke kumpulan pengguna
<a name="cognito-user-pools-add-custom-domain-adding"></a>

Untuk menambahkan domain kustom ke kolam pengguna, tentukan nama domain di konsol Amazon Cognito, dan berikan sertifikat yang dikelola dengan [AWS Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/) (ACM). Setelah menambahkan domain, Amazon Cognito menyediakan target alias, yang ditambahkan ke konfigurasi DNS.

## Prasyarat
<a name="cognito-user-pools-add-custom-domain-prereq"></a>

Sebelum memulai, Anda memerlukan:
+ Kolam pengguna dengan klien aplikasi. Untuk informasi selengkapnya, lihat [Memulai dengan kumpulan pengguna](getting-started-user-pools.md).
+ Domain web yang Anda miliki. *Domain induknya* harus memiliki **catatan DNS A yang** valid. Anda dapat menetapkan nilai apa pun ke catatan ini. Induk mungkin akar domain, atau domain anak yang merupakan satu langkah ke atas dalam hierarki domain. *Misalnya, jika domain kustom Anda adalah *auth.xyz.example.com*, Amazon Cognito harus dapat menyelesaikan xyz.example.com ke alamat IP.* Untuk mencegah dampak tidak disengaja pada infrastruktur pelanggan, Amazon Cognito tidak mendukung penggunaan domain tingkat atas TLDs () untuk domain kustom. Untuk informasi selengkapnya lihat [Nama Domain](https://tools.ietf.org/html/rfc1035).
+ Kemampuan untuk membuat subdomain untuk domain kustom Anda. Kami merekomendasikan **auth** untuk nama subdomain Anda. Sebagai contoh: *auth.example.com*.
**catatan**  
Jika Anda tidak memiliki [sertifikat wildcard](https://en.wikipedia.org/wiki/Wildcard_certificate), Anda harus mendapatkan sertifikat baru untuk subdomain domain kustom Anda.
+  SSL/TLS Sertifikat publik yang dikelola oleh ACM di US East (Virginia N.) Sertifikat harus di us-east-1 karena sertifikat akan dikaitkan dengan distribusi CloudFront di, layanan global.
+ Klien browser yang mendukung Server Name Indication (SNI). CloudFrontDistribusi yang ditetapkan Amazon Cognito ke domain khusus memerlukan SNI. Anda dapat mengubah pengaturan ini. Untuk informasi selengkapnya tentang SNI dalam CloudFront distribusi, lihat [Menggunakan SNI untuk menayangkan permintaan HTTPS di Panduan](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-https-dedicated-ip-or-sni.html#cnames-https-sni) Pengembang *Amazon CloudFront *.
+ Aplikasi yang memungkinkan server otorisasi kumpulan pengguna Anda untuk menambahkan cookie ke sesi pengguna. Amazon Cognito menetapkan beberapa cookie yang diperlukan untuk halaman login terkelola. Ini termasuk`cognito`,`cognito-fl`, dan`XSRF-TOKEN`. Meskipun setiap cookie individu sesuai dengan batas ukuran browser, perubahan pada konfigurasi kumpulan pengguna Anda dapat menyebabkan cookie login terkelola bertambah besar. Layanan perantara seperti Application Load Balancer (ALB) di depan domain kustom Anda dapat menerapkan ukuran header maksimum atau ukuran cookie total. Jika aplikasi Anda juga menetapkan cookie sendiri, sesi pengguna Anda mungkin melebihi batas ini. Kami menyarankan agar, untuk menghindari konflik batas ukuran, aplikasi Anda tidak menetapkan cookie pada subdomain yang menghosting layanan domain kumpulan pengguna Anda.
+ Izin untuk memperbarui CloudFront distribusi Amazon. Anda dapat melakukannya dengan melampirkan pernyataan kebijakan IAM berikut kepada pengguna di: Akun AWS

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
           {
              "Sid": "AllowCloudFrontUpdateDistribution",
              "Effect": "Allow",
              "Action": [
                  "cloudfront:updateDistribution"
              ],
              "Resource": [
                  "*"
              ]
          }
      ]
  }
  ```

------

  Untuk informasi selengkapnya tentang otorisasi tindakan CloudFront, lihat [Menggunakan Kebijakan Berbasis Identitas (Kebijakan IAM](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/access-control-managing-permissions.html)) untuk. CloudFront

  Amazon Cognito awalnya menggunakan izin IAM Anda untuk mengonfigurasi CloudFront distribusi, tetapi distribusi dikelola oleh. AWS Anda tidak dapat mengubah konfigurasi CloudFront distribusi yang dikaitkan Amazon Cognito dengan kumpulan pengguna Anda. Misalnya, Anda tidak dapat memperbarui versi TLS yang didukung dalam kebijakan keamanan.

## Langkah 1: Masukkan nama domain kustom Anda
<a name="cognito-user-pools-add-custom-domain-console-step-1"></a>

Anda dapat menambahkan domain ke kolam pengguna dengan menggunakan konsol Amazon Cognito atau API.

------
#### [ Amazon Cognito console ]

**Untuk menambahkan domain ke kumpulan pengguna dari konsol Amazon Cognito:**

1. Arahkan ke menu **Domain** di bawah **Branding**.

1. Di samping **Domain**, pilih **Tindakan** dan pilih **Buat domain khusus** atau **Buat domain Amazon Cognito**. Jika Anda telah mengonfigurasi domain kustom kumpulan pengguna, pilih **Hapus domain kustom** sebelum membuat domain kustom baru Anda.

1. Di sebelah **Domain**, pilih **Tindakan** dan pilih **Buat domain khusus**. Jika Anda telah mengonfigurasi domain kustom, pilih **Hapus domain khusus** untuk menghapus domain yang ada sebelum membuat domain kustom baru Anda.

1. Untuk **Domain kustom**, masukkan URL domain yang ingin Anda gunakan dengan Amazon Cognito. Nama domain Anda hanya dapat menyertakan huruf kecil, angka, dan tanda hubung. Jangan gunakan tanda hubung untuk karakter pertama atau terakhir. Gunakan titik untuk memisahkan nama subdomain.

1. Untuk **sertifikat ACM**, pilih sertifikat SSL yang ingin Anda gunakan untuk domain Anda. Hanya sertifikat ACM di US East (Virginia N.) yang memenuhi syarat untuk digunakan dengan domain khusus Amazon Cognito, terlepas dari kumpulan pengguna Wilayah AWS Anda.

   Jika Anda tidak memiliki sertifikat yang tersedia, Anda dapat menggunakan ACM untuk menyediakannya di AS Timur (Virginia N.). Untuk informasi lebih lanjut, lihat [Memulai](https://docs.aws.amazon.com/acm/latest/userguide/gs.html) di *AWS Certificate Manager Panduan Pengguna*.

1. Pilih **versi Branding**. Versi branding Anda berlaku untuk semua halaman interaktif pengguna di domain tersebut. Kumpulan pengguna Anda dapat meng-host login terkelola atau pencitraan merek UI yang dihosting untuk semua klien aplikasi.
**catatan**  
*Anda dapat memiliki domain khusus dan domain awalan, tetapi Amazon Cognito hanya melayani titik akhir untuk domain `/.well-known/openid-configuration` kustom.*

1. Pilih **Buat**.

1. Amazon Cognito mengembalikan Anda ke menu **Domain**. Pesan berjudul **Buat catatan alias di DNS domain Anda** ditampilkan. Catat **target **Domain** dan Alias** yang ditampilkan di konsol. Mereka akan digunakan pada langkah berikutnya untuk mengarahkan lalu lintas ke domain kustom Anda.

------
#### [ API ]

Badan [CreateUserPoolDomain](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPoolDomain.html)permintaan berikut membuat domain kustom.

```
{
   "Domain": "auth.example.com",
   "UserPoolId": "us-east-1_EXAMPLE",
   "ManagedLoginVersion": 2,
   "CustomDomainConfig": {
    "CertificateArn": "arn:aws:acm:us-east-1:111122223333:certificate/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
   }
}
```

------

## Langkah 2: Tambahkan target alias dan subdomain
<a name="cognito-user-pools-add-custom-domain-console-step-2"></a>

Pada langkah ini, Anda mengatur alias melalui penyedia layanan Domain Name Server (DNS) yang menunjuk kembali ke target alias dari langkah sebelumnya. Jika Anda menggunakan Amazon Route 53 untuk resolusi alamat DNS, pilih bagian **Untuk menambahkan target alias dan subdomain dengan menggunakan Route 53.**

### Cara menambahkan target alias dan subdomain ke konfigurasi DNS Anda saat ini
<a name="cognito-user-pools-add-custom-domain-console-step-2a"></a>
+ Jika Anda tidak menggunakan Route 53 untuk resolusi alamat DNS, maka Anda harus menggunakan alat konfigurasi penyedia layanan DNS Anda untuk menambahkan target alias dari langkah sebelumnya ke catatan DNS domain Anda. Penyedia DNS Anda juga perlu mengatur subdomain untuk domain kustom Anda.

### Cara menambahkan target alias dan subdomain yang menggunakan Route 53
<a name="cognito-user-pools-add-custom-domain-console-step-2b"></a>

1. Masuk ke [Konsol Route 53](https://console.aws.amazon.com/route53/). Jika diminta, masukkan AWS kredensyal Anda.

1. Jika Anda tidak memiliki zona yang dihosting publik di Route 53, buat zona dengan root yang merupakan induk dari domain khusus Anda. Untuk informasi selengkapnya, lihat [Membuat zona yang dihosting publik](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html) di *Panduan Pengembang Amazon Route 53*.

   1. Pilih **Buat Zona yang Di-hosting**.

   1. Masukkan domain induk, misalnya*auth.example.com*, dari domain kustom Anda, misalnya*myapp.auth.example.com*, dari daftar **Nama Domain**.

   1. Masukkan **Deskripsi** untuk zona host Anda.

   1. Pilih zona yang dihosting **Jenis** zona yang **dihosting publik** untuk memungkinkan klien publik menyelesaikan domain kustom Anda. Memilih **Zona yang dihosting pribadi** tidak didukung.

   1. Terapkan **Tag** sesuai keinginan.

   1. Pilih **Buat zona yang di-hosting**.
**catatan**  
Anda juga dapat membuat zona host baru untuk domain kustom Anda dengan set delegasi di zona host induk yang mengarahkan kueri ke zona host subdomain. Jika tidak, buat catatan A. Metode ini menawarkan lebih banyak fleksibilitas dan keamanan dengan zona yang dihosting Anda.Untuk informasi selengkapnya, lihat [Membuat subdomain untuk domain yang dihosting melalui Amazon](https://aws.amazon.com/premiumsupport/knowledge-center/create-subdomain-route-53/) Route 53.

1. Pada halaman **Zona yang Di-Hosting**, pilih nama zona yang di-hosting.

1. Tambahkan catatan DNS untuk domain induk domain kustom Anda, jika Anda belum memilikinya. Buat catatan DNS untuk domain induk dengan properti berikut:
   + **Rekam nama**: Biarkan kosong.
   + **Jenis rekaman**:`A`.
   + **Alias**: Jangan aktifkan.
   + **Nilai**: Masukkan target yang Anda pilih. Catatan ini harus menyelesaikan *sesuatu*, tetapi nilai catatan tidak masalah bagi Amazon Cognito.
   + **TTL**: Setel ke TTL pilihan Anda atau biarkan sebagai default.
   + **Kebijakan perutean**: Pilih **Perutean sederhana**.

1. Pilih **Create records** (Buat catatan). Berikut ini adalah contoh catatan untuk domain*example.com*:

   `example.com. 60 IN A 198.51.100.1`
**catatan**  
Amazon Cognito memverifikasi bahwa ada catatan DNS untuk domain induk domain kustom Anda untuk melindungi dari pembajakan domain produksi yang tidak disengaja. Jika Anda tidak memiliki catatan DNS untuk domain induk, Amazon Cognito akan menampilkan kesalahan saat Anda mencoba menyetel domain kustom. Catatan Start of Authority (SOA) bukanlah catatan DNS yang cukup untuk tujuan verifikasi domain induk.

1. Tambahkan catatan DNS lain untuk domain kustom Anda dengan properti berikut:
   + **Nama rekaman**: Awalan domain kustom Anda, misalnya `auth` untuk membuat catatan untuk`auth.example.com`.
   + **Jenis rekaman**:`A`.
   + **Alias**: Aktifkan.
   + **Rutekan lalu lintas ke**: Pilih **Alias ke distribusi Cloudfront**. Masukkan **target Alias** yang Anda rekam sebelumnya, misalnya`123example.cloudfront.net`.
   + **Kebijakan perutean**: Pilih **Perutean sederhana**.

1. Pilih **Create records** (Buat catatan).
**catatan**  
Catatan baru Anda dapat memakan waktu sekitar 60 detik untuk disebarkan ke semua server DNS Route 53. Anda dapat menggunakan metode Route 53 [GetChange](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)API untuk memverifikasi bahwa perubahan Anda telah disebarkan. 

## Langkah 3: Verifikasi halaman masuk Anda
<a name="cognito-user-pools-add-custom-domain-console-step-3"></a>
+ Verifikasi bahwa halaman masuk tersedia dari domain kustom Anda.

  Masuk dengan domain dan subdomain kustom Anda dengan memasukkan alamat ini ke browser Anda. Ini adalah contoh URL domain kustom *example.com* dengan subdomain*auth*:

  ```
  https://myapp.auth.example.com/login?response_type=code&client_id=<your_app_client_id>&redirect_uri=<your_callback_url>
  ```

## Mengubah sertifikat SSL untuk domain kustom Anda
<a name="cognito-user-pools-add-custom-domain-changing-certificate"></a>

Bila diperlukan, Anda dapat menggunakan Amazon Cognito untuk mengubah sertifikat yang Anda terapkan ke domain kustom Anda.

Biasanya, ini tidak diperlukan setelah pembaruan sertifikat rutin dilakukan dengan ACM. Ketika Anda memperbarui sertifikat yang ada di ACM, ARN untuk sertifikat Anda tetap sama, dan domain kustom Anda menggunakan sertifikat baru secara otomatis.

Namun, jika Anda mengganti sertifikat yang sudah ada dengan yang baru, ACM memberikan ARN baru ke sertifikat baru. Untuk menerapkan sertifikat baru ke domain kustom Anda, Anda harus memberikan ARN ini ke Amazon Cognito.

Setelah Anda memberikan sertifikat baru, Amazon Cognito memerlukan waktu hingga 1 jam untuk mendistribusikannya ke domain kustom Anda.

**Sebelum Anda memulai**  
Sebelum Anda dapat mengubah sertifikat Anda di Amazon Cognito, Anda harus menambahkan sertifikat Anda ke ACM. Untuk informasi lebih lanjut, lihat [Memulai](https://docs.aws.amazon.com/acm/latest/userguide/gs.html) di *AWS Certificate Manager Panduan Pengguna*.  
Ketika Anda menambahkan sertifikat ke ACM, Anda harus memilih US East (N. Virginia) sebagai Wilayah AWS .

Anda dapat mengubah sertifikat dengan menggunakan konsol Amazon Cognito atau API.

------
#### [ Konsol Manajemen AWS ]

**Untuk memperbarui sertifikat dari konsol Amazon Cognito:**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Cognito di. [https://console.aws.amazon.com/cognito/home](https://console.aws.amazon.com/cognito/home)

1. Pilih **Kolam Pengguna**.

1. Pilih kumpulan pengguna yang ingin Anda perbarui sertifikatnya.

1. Pilih menu **Domain**.

1. Pilih **Tindakan**, **Edit sertifikat ACM**.

1. Pilih sertifikat baru yang ingin Anda kaitkan dengan domain kustom Anda.

1. Pilih **Simpan perubahan**.

------
#### [ API ]

**Cara memperbarui sertifikat (API Amazon Cognito)**
+ Gunakan [UpdateUserPoolDomain](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPoolDomain.html)tindakan.

------