⚡ Jika Anda membuat aplikasi Amazon Q Business baru pada atau setelah tanggal 30 April 2024, Anda kini dapat mengatur UI khusus menggunakan petunjuk terbaru yang disediakan di bawah. |
---|
Catatan: Petunjuk yang diberikan dalam panduan ini khusus untuk Cognito, namun juga dapat digunakan untuk Penyedia Identitas (IdP) lain yang mematuhi OIDC 2.0 dengan sedikit penyesuaian.
Pelanggan sering kali menginginkan kemampuan untuk mengintegrasikan fungsi khusus ke dalam antarmuka pengguna Amazon Q, seperti menangani umpan balik, menggunakan warna dan templat perusahaan, login khusus, dan mengurangi peralihan konteks dengan mengintegrasikan antarmuka pengguna ke dalam satu platform. Repo kode akan menunjukkan cara mengintegrasikan UI khusus di Amazon Q menggunakan Amazon Cognito untuk autentikasi pengguna dan Amazon Q SDK untuk memanggil aplikasi chatbot secara terprogram, melalui chat_sync API.
? Alur kerjanya mencakup langkah-langkah berikut:
Pertama, pengguna mengakses aplikasi chatbot, yang dihosting di belakang Application Load Balancer.
Pengguna diminta untuk masuk dengan Cognito
Aplikasi UI menukar token dari Cognito dengan token IAM Identity Center dengan cakupan untuk Amazon Q
Aplikasi UI mengambil peran IAM dan mengambil Sesi AWS dari Secure Token Service (STS), ditambah dengan token IAM Identity Center untuk berinteraksi dengan Amazon Q
? Blog 1
? Blog 2
Amazon Q menggunakan API ChatSync untuk melakukan percakapan. Berkat sesi kesadaran identitas, Amazon Q mengetahui pengguna mana yang berinteraksi dengannya.
Permintaan tersebut menggunakan parameter wajib berikut.
applicationId : Pengidentifikasi aplikasi Amazon Q yang ditautkan ke percakapan Amazon Q.
userMessage : Pesan pengguna akhir dalam percakapan.
Amazon Q mengembalikan respons sebagai objek JSON (dirinci dalam dokumentasi Amazon Q) dan di bawah ini adalah beberapa atribut inti dari payload respons.
systemMessage : Pesan yang dihasilkan AI dalam percakapan
sourceAttributions : Dokumen sumber yang digunakan untuk menghasilkan respons percakapan. Dalam RAG (Retrieval Augmentation Generation), ini selalu mengacu pada satu atau lebih dokumen dari basis pengetahuan perusahaan yang diindeks di Amazon Q.
Sebelum Anda menyebarkan solusi ini, pastikan Anda telah menyiapkan prasyarat berikut:
Jika Anda sudah memiliki sertifikat TLS, Anda dapat melewati bagian ini.
Namun, jika Anda tidak memilikinya dan ingin melanjutkan menjalankan demo ini, Anda dapat membuat sertifikat pribadi yang terkait dengan domain menggunakan perintah openssl berikut:
openssl req
-x509 -nodes -days 365 -sha256
-subj '/C=US/ST=Oregon/L=Portland/CN=sampleexample.com'
-newkey rsa:2048 -keyout key.pem -out cert.pem
aws acm import-certificate --certificate fileb://cert.pem --private-key fileb://key.pem
➡️ Harap diperhatikan bahwa Anda akan menerima peringatan dari browser Anda saat mengakses UI jika Anda tidak memberikan sertifikat TLS khusus saat meluncurkan AWS CloudFormation Stack. Petunjuk di atas menunjukkan kepada Anda cara membuat sertifikat yang ditandatangani sendiri, yang dapat digunakan sebagai cadangan, namun hal ini tentu tidak disarankan untuk kasus penggunaan produksi.
Anda harus mendapatkan Sertifikat TLS yang telah divalidasi oleh otoritas sertifikat, mengimpornya ke AWS Certificate Manager, dan mereferensikannya saat meluncurkan AWS CloudFormation Stack.
Jika Anda ingin melanjutkan dengan sertifikat yang ditandatangani sendiri (untuk tujuan pengembangan), Anda dapat melewati halaman peringatan browser. Dengan Chrome, Anda akan melihat pesan kesalahan "Sambungan Anda tidak pribadi" (NET::ERR_CERT_AUTHORITY_INVALID), tetapi dengan mengeklik "Lanjutan", Anda akan melihat tautan untuk melanjutkan.
Berikan parameter berikut untuk tumpukan
• Nama tumpukan – Nama tumpukan CloudFormation (misalnya, AmazonQ-UI-Demo)
• AuthName – Nama unik global untuk ditetapkan ke kolam pengguna Amazon Cognito. Harap pastikan bahwa nama domain Anda tidak menyertakan kata khusus apa pun, seperti cognito, aws, atau amazon.
• CertificateARN – CertificateARN yang dihasilkan dari langkah sebelumnya
• IdcApplicationArn – ARN aplikasi pelanggan Pusat Identitas, kosongkan saat pertama kali dijalankan karena kita perlu membuat kumpulan pengguna cognito sebagai bagian dari tumpukan ini untuk membuat aplikasi IAM Identity Center dengan penerbit token tepercaya
• PublicSubnetIds – ID subnet publik yang dapat digunakan untuk menyebarkan instans EC2 dan Application Load Balancer. Silakan pilih setidaknya 2 subnet publik
• QApplicationId – ID aplikasi Amazon Q yang ada
• VPCId – ID VPC yang ada yang dapat digunakan untuk menerapkan demo
Audience : Audiens untuk setup aplikasi pelanggan di Identity Center
RoleArn : ARN dari IAM role diperlukan untuk menyiapkan pertukaran token di Pusat Identitas
TrustedIssuerUrl : Titik akhir penerbit tepercaya untuk menyiapkan Pusat Identitas
URL : URL penyeimbang beban untuk mengakses aplikasi streamlit
Navigasi ke Pusat Identitas AWS IAM, dan tambahkan aplikasi terkelola kustom baru.
Pilih jenis aplikasi -> lalu pilih OAuth2.0 -> Berikutnya
Jika Anda tidak dapat menemukan opsi untuk membuat aplikasi terkelola khusus yang baru, silakan Aktifkan Organisasi dengan IAM Identity Center.
Berikan nama dan deskripsi aplikasi dan pilih opsi di bawah ini seperti yang ditunjukkan pada gambar
Sekarang buat penerbit token tepercaya
Di URL Penerbit -> berikan TrustedIssuerUrl dari Langkah 1, berikan nama penerbit dan pertahankan atribut peta sebagai Email
Kemudian navigasikan kembali ke pengaturan autentikasi aplikasi IAM Identity Center, pilih penerbit token tepercaya yang dibuat pada langkah sebelumnya[segarkan jika Anda tidak melihatnya dalam daftar] dan tambahkan klaim Aud -> berikan Audiens dari langkah 1, lalu klik Berikutnya
Di Tentukan kredensial aplikasi, Masukkan IAM role -> berikan RoleArn dari Langkah 1
Kemudian Tinjau semua langkah dan buat aplikasi.
Setelah aplikasi dibuat, buka aplikasi dan -> Pengguna dan grup yang ditetapkan.
Kemudian atur Aplikasi Tepercaya untuk propagasi identitas, ikuti langkah-langkah di bawah ini ke Amazon Q sebagai Aplikasi Tepercaya untuk propagasi identitas
Langkah 4: Setelah aplikasi IAM Identity Center dibuat, salin ARN Aplikasi dan navigasikan ke Cloudformation untuk memperbarui Stack yang dibuat sebelumnya. Masukkan ARN Aplikasi Pusat Identitas di parameter IdcApplicationArn dan jalankan tumpukan.
Langkah 5 : Setelah pembaruan selesai, navigasikan ke tab keluaran Cloudformation untuk menyalin URL dan membuka URL di browser
Langkah 6: Aplikasi Streamlit akan meminta untuk Terhubung dengan Cognito , Untuk upaya login pertama coba Daftar, gunakan id email dan kata sandi yang sama untuk pengguna yang sudah ada di IAM Identity Center.
⚡ Untuk menghilangkan kebutuhan penyediaan pengguna di Cognito User Pool dan Identity Center, Anda dapat mengikuti link di bawah ini untuk membuat aplikasi kustom kedua (SAML) di Identity Center. Aplikasi khusus ini akan bertindak sebagai Penyedia Identitas untuk Kumpulan Pengguna Cognito.
? Video
? instruksi
sudo -i
cd /opt/custom-web-experience-with-amazon-q-business
Lihat PEMECAHAN MASALAH untuk informasi lebih lanjut.
Lihat KONTRIBUSI untuk informasi lebih lanjut.
Perpustakaan ini dilisensikan di bawah Lisensi MIT-0. Lihat file LISENSI.