Menggunakan domain Anda sendiri untuk UI yang dihosting - Amazon Cognito

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 UI yang dihosting

Setelah menyiapkan klien aplikasi, Anda dapat mengonfigurasi kumpulan pengguna dengan domain khusus untuk UI yang dihosting Amazon Cognito dan titik akhir API auth. Dengan domain kustom, Anda memungkinkan pengguna untuk masuk ke aplikasi Anda dengan menggunakan alamat web Anda sendiri.

Menambahkan domain khusus ke kumpulan pengguna

Untuk menambahkan domain kustom ke kolam pengguna, tentukan nama domain di konsol Amazon Cognito, dan berikan sertifikat yang dikelola dengan AWS Certificate Manager (ACM). Setelah menambahkan domain, Amazon Cognito menyediakan target alias, yang ditambahkan ke konfigurasi DNS.

Prasyarat

Sebelum memulai, Anda memerlukan:

  • Kolam pengguna dengan klien aplikasi. Untuk informasi selengkapnya, lihat Memulai dengan kumpulan pengguna.

  • 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 yang tidak disengaja pada infrastruktur pelanggan, Amazon Cognito tidak mendukung penggunaan domain tingkat atas (TLD) untuk domain kustom. Untuk informasi selengkapnya lihat Nama Domain.

  • Kemampuan untuk membuat subdomain untuk domain kustom Anda. Kami merekomendasikan penggunaan auth sebagai subdomain. Misalnya: auth.example.com.

    catatan

    Jika Anda tidak memiliki sertifikat wildcard, Anda harus mendapatkan sertifikat baru untuk subdomain domain kustom Anda.

  • Sertifikat Secure Sockets Layer (SSL) yang dikelola oleh ACM.

    catatan

    Anda harus mengubah AWS wilayah ke US East (Virginia N.) di konsol ACM sebelum Anda meminta atau mengimpor sertifikat.

  • Aplikasi yang memungkinkan server otorisasi kumpulan pengguna Anda untuk menambahkan cookie ke sesi pengguna. Amazon Cognito menetapkan beberapa cookie yang diperlukan untuk UI yang dihosting. Ini termasukcognito,cognito-fl, danXSRF-TOKEN. Meskipun setiap cookie individu sesuai dengan batas ukuran browser, perubahan pada konfigurasi kumpulan pengguna Anda dapat menyebabkan cookie UI yang dihosting 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 UI yang dihosting.

  • Izin untuk memperbarui CloudFront distribusi Amazon. Anda dapat melakukannya dengan melampirkan pernyataan kebijakan IAM berikut kepada pengguna di: Akun AWS

    { "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) 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

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. Masuk ke konsol Amazon Cognito. Jika diminta, masukkan AWS kredensyal Anda.

  2. Pilih kumpulan Pengguna.

  3. Pilih kumpulan pengguna yang ingin Anda tambahkan domain Anda.

  4. Pilih tab Integrasi aplikasi.

  5. Di sebelah Domain, pilih Tindakan, lalu pilih Buat domain khusus.

    catatan

    Jika Anda telah mengonfigurasi domain kumpulan pengguna, pilih Hapus domain Cognito atau Hapus domain khusus untuk menghapus domain yang ada sebelum membuat domain kustom baru Anda.

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

  7. 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 di AWS Certificate Manager Panduan Pengguna.

  8. Pilih Buat.

  9. Amazon Cognito mengembalikan Anda ke tab Integrasi aplikasi. 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
Untuk menambahkan domain Anda ke kumpulan pengguna Anda dengan Amazon Cognito API:

Langkah 2: Tambahkan target alias dan subdomain

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.

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

  1. Masuk ke Konsol Route 53. Jika diminta, masukkan AWS kredensyal Anda.

  2. Jika Anda tidak memiliki zona yang dihosting di Route 53, buat zona dengan root yang merupakan induk dari domain khusus Anda. Untuk informasi selengkapnya, silakan lihat

    1. Pilih Buat Zona yang Di-hosting.

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

    3. Masukkan Deskripsi untuk zona host Anda.

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

    5. Terapkan Tag sesuai keinginan.

    6. Pilih Buat zona yang di-hosting.

      catatan

      Anda juga dapat membuat zona host baru untuk domain kustom Anda, dan Anda dapat membuat 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 Route 53.

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

  4. Tambahkan catatan DNS untuk domain induk domain kustom Anda, jika Anda belum memilikinya. Tambahkan A catatan DNS untuk domain induk dan pilih Buat catatan. Berikut ini adalah contoh catatan untuk domain auth.example.com.

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

  5. Tambahkan catatan DNS untuk domain kustom Anda. Anda merekam harus menunjuk ke target Alias domain kustom, misalnya123example.cloudfront.net. Pilih Buat catatan lagi.

  6. Masukkan nama Rekam yang cocok dengan domain kustom Anda, misalnya myapp untuk membuat catatan untuk myapp.auth.example.com.

  7. Aktifkan opsi Alias.

  8. Pilih untuk Merutekan lalu lintas ke distribusi Alias ke Cloudfront. Masukkan target Alias yang disediakan oleh Amazon Cognito saat Anda membuat domain khusus.

  9. Pilih 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 GetChangeAPI untuk memverifikasi bahwa perubahan Anda telah disebarkan.

Langkah 3: Verifikasi halaman masuk Anda

  • 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 dari 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

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

AWS Management Console
Untuk memperbarui sertifikat dari konsol Amazon Cognito:
  1. Masuk ke AWS Management Console dan buka konsol Amazon Cognito di. https://console.aws.amazon.com/cognito/home

  2. Pilih Kolam Pengguna.

  3. Pilih kumpulan pengguna yang ingin Anda perbarui sertifikatnya.

  4. Pilih tab Integrasi aplikasi.

  5. Pilih Tindakan, Edit sertifikat ACM.

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

  7. Pilih Simpan perubahan.

API
Cara memperbarui sertifikat (API Amazon Cognito)