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 server otorisasi. Dengan domain khusus, pengguna dapat masuk ke aplikasi Anda menggunakan alamat web Anda sendiri, bukan domain Amazon Cognito 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 juga dapat memenuhi persyaratan keamanan organisasi.

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

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

Menambahkan domain khusus ke kumpulan pengguna

Untuk menambahkan domain kustom ke kumpulan pengguna, tentukan nama domain di konsol Amazon Cognito, dan berikan sertifikat yang Anda kelola dengan AWS Certificate Manager()ACM. Setelah Anda menambahkan domain Anda, Amazon Cognito menyediakan target alias, yang Anda tambahkan ke konfigurasi Anda. 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 tidak disengaja pada infrastruktur pelanggan, Amazon Cognito tidak mendukung penggunaan domain tingkat atas TLDs () untuk domain kustom. Untuk informasi selengkapnya lihat Nama Domain.

  • Kemampuan untuk membuat subdomain untuk domain kustom Anda. Kami merekomendasikan penggunaan auth sebagai subdomain. Sebagai contoh: 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 olehACM.

    catatan

    Anda harus mengubah AWS wilayah ke US East (Virginia N.) di ACM konsol 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 mungkin 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 IAM kebijakan 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 IAM izin 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 TLS versi yang didukung dalam kebijakan keamanan.

Langkah 1: Masukkan nama domain kustom Anda

Anda dapat menambahkan domain ke kumpulan pengguna 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 kredensional Anda.

  2. Pilih kumpulan Pengguna.

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

  4. Pilih tab Integrasi aplikasi.

  5. Di samping 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 domain yang ingin Anda gunakan dengan Amazon Cognito. URL 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 ACMsertifikat, pilih SSL sertifikat yang ingin Anda gunakan untuk domain Anda. Hanya ACM sertifikat di US East (Virginia N.) yang memenuhi syarat untuk digunakan dengan domain khusus Amazon Cognito, terlepas dari kumpulan Wilayah AWS pengguna Anda.

    Jika Anda tidak memiliki sertifikat yang tersedia, Anda dapat menggunakannya 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 domain Anda ditampilkan DNS. 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 API Cognito:

Langkah 2: Tambahkan target alias dan subdomain

Pada langkah ini, Anda menyiapkan 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 DNS alamat, pilih bagian Untuk menambahkan target alias dan subdomain menggunakan Route 53.

  • Jika Anda tidak menggunakan Route 53 untuk resolusi DNS alamat, maka Anda harus menggunakan alat konfigurasi penyedia DNS layanan Anda untuk menambahkan target alias dari langkah sebelumnya ke DNS catatan domain Anda. DNSPenyedia Anda juga perlu menyiapkan subdomain untuk domain kustom Anda.

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

  2. 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 di Panduan Pengembang Amazon Route 53.

    1. Pilih Buat Zona yang Di-hosting.

    2. Masukkan domain induk, misalnya auth.example.com, dari 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 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 Route 53.

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

  4. Tambahkan DNS catatan untuk domain induk domain kustom Anda, jika Anda belum memilikinya. Buat DNS catatan 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 pilihan Anda TTL atau biarkan sebagai default.

    • Kebijakan perutean: Pilih Perutean sederhana.

  5. 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 DNS catatan untuk domain induk domain kustom Anda untuk melindungi dari pembajakan domain produksi yang tidak disengaja. Jika Anda tidak memiliki DNS catatan untuk domain induk, Amazon Cognito akan menampilkan kesalahan saat Anda mencoba menyetel domain kustom. Catatan Start of Authority (SOA) bukanlah DNS catatan yang cukup untuk tujuan verifikasi domain induk.

  6. Tambahkan DNS catatan lain untuk domain kustom Anda dengan properti berikut:

    • Nama rekaman: Awalan domain kustom Anda, misalnya auth untuk membuat catatan untukauth.example.com.

    • Jenis rekaman:A.

    • Alias: Aktifkan.

    • Rutekan lalu lintas ke: Pilih Alias ke distribusi Cloudfront. Masukkan target Alias yang Anda rekam sebelumnya, misalnya123example.cloudfront.net.

    • Kebijakan perutean: Pilih Perutean sederhana.

  7. Pilih Create records (Buat catatan).

    catatan

    Catatan baru Anda dapat memakan waktu sekitar 60 detik untuk disebarkan ke semua DNS server Route 53. Anda dapat menggunakan GetChangeAPImetode Route 53 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 URL contoh domain khusus 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 SSL sertifikat untuk domain kustom Anda

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

Biasanya, ini tidak perlu setelah perpanjangan sertifikat rutin denganACM. Saat Anda memperbarui sertifikat yang ada diACM, sertifikat Anda tetap sama, dan domain kustom Anda menggunakan sertifikat baru secara otomatis. ARN

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

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

Sebelum Anda mulai

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 AndaACM, Anda harus memilih US East (Virginia N.) sebagai AWS Wilayah.

Anda dapat mengubah sertifikat Anda 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 ACM sertifikat.

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

  7. Pilih Simpan perubahan.

API
Untuk memperbarui sertifikat (Amazon API Cognito)