Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengautentikasi aplikasi klien pengguna akhir
Anda juga dapat menjalankan SDK pesan Amazon Chime dari aplikasi klien pengguna akhir. Melakukan SDK panggilan dari layanan back-endmenjelaskan cara melakukan API panggilan seperti create-channel,, send-channel-message dan. list-channel-messages Aplikasi klien pengguna akhir seperti browser dan aplikasi seluler melakukan API panggilan yang sama. Aplikasi klien juga dapat terhubung melalui WebSocket untuk menerima pembaruan waktu nyata pada pesan dan acara ke saluran yang menjadi anggotanya. Bagian ini mencakup cara memberikan IAM kredensil ke aplikasi klien yang dicakup oleh pengguna instance aplikasi tertentu. Setelah pengguna akhir memiliki kredensil ini, mereka dapat melakukan API panggilan yang ditampilkan. Melakukan SDK panggilan dari layanan back-end Untuk melihat demo lengkap aplikasi klien, lihat https://github.com/aws-samples/amazon-chime-sdk/tree/main/apps/chat
Memberikan IAM kredensi kepada pengguna akhir
SDKPesan Amazon Chime terintegrasi secara native dengan kebijakan AWS Identity and Access Management (IAM) untuk mengautentikasi permintaan yang masuk. IAMKebijakan ini mendefinisikan apa yang dapat dilakukan pengguna individu. IAMkebijakan dapat dibuat untuk memberikan kredensi terbatas cakupan ke bawah untuk kasus penggunaan Anda. Untuk informasi selengkapnya tentang cara membuat kebijakan untuk pengguna SDK perpesanan Amazon Chime, lihat. Contoh IAM peran
Jika Anda memiliki penyedia identitas yang ada, Anda memiliki opsi berikut untuk mengintegrasikan identitas yang ada dengan pesan Amazon SDK Chime.
Anda dapat menggunakan penyedia identitas yang ada untuk mengautentikasi pengguna dan kemudian mengintegrasikan layanan otentikasi dengan AWS Security Token Service (STS) untuk membuat layanan penjual kredenal Anda sendiri untuk klien. STSmenyediakan APIs untuk mengasumsikan IAM Peran.
Jika Anda sudah memiliki SAML atau penyedia identitas yang kompatibel dengan OpenID, sebaiknya gunakan Amazon Cognito Identity Pools, yang mengabstraksikan panggilan ke AWS STS AssumeRoleWithSAML dan AssumeRoleWithWebIdentity. Amazon Cognito terintegrasi dengan OpenID,SAML, dan penyedia identitas publik seperti Facebook, Login with Amazon, Google, dan Masuk dengan Apple.
Jika Anda tidak memiliki penyedia identitas, Anda dapat memulai dengan Amazon Cognito User Pools. Untuk contoh cara menggunakan Amazon Cognito dengan fitur perpesanan Amazon SDK Chime, lihat Membangun fitur obrolan ke dalam aplikasi Anda dengan pesan Amazon Chime
Sebagai alternatif, Anda dapat menggunakan AWS STSuntuk membuat layanan penjual kredenal Anda sendiri atau membangun penyedia identitas Anda sendiri.
Menggunakan STS untuk menjual kredensi
Jika Anda sudah memiliki IDP like ActiveDirectory LDAP, dan Anda ingin menerapkan layanan penjual kredenal kustom, atau memberikan akses ke obrolan untuk peserta rapat yang tidak diautentikasi, Anda dapat menggunakan AWS STS AssumeRole API. Untuk melakukan ini, pertama-tama Anda membuat Peran SDK pesan SDK Amazon Chime. Untuk informasi selengkapnya tentang membuat peran tersebut, lihat Membuat peran untuk mendelegasikan izin kepada pengguna. IAM
IAMPeran tersebut akan memiliki izin untuk tindakan perpesanan Amazon SDK Chime yang akan digunakan aplikasi Anda, mirip dengan yang berikut:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "chime:GetMessagingSessionEndpoint" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "chime:SendChannelMessage", "chime:ListChannelMessages", "chime:CreateChannelMembership", "chime:ListChannelMemberships", "chime:DeleteChannelMembership", "chime:CreateChannelModerator", "chime:ListChannelModerators", "chime:DescribeChannelModerator", "chime:CreateChannel", "chime:DescribeChannel", "chime:ListChannels", "chime:DeleteChannel", "chime:RedactChannelMessage", "chime:UpdateChannelMessage", "chime:Connect", "chime:ListChannelBans", "chime:CreateChannelBan", "chime:DeleteChannelBan", "chime:ListChannelMembershipsForAppInstanceUser" "chime:AssociateChannelFlow", "chime:DisassociateChannelFlow", "chime:GetChannelMessageStatus" ], "Resource": [ "{
chime_app_instance_arn
}/user/${aws:PrincipalTag/my_applications_user_id
}", "{chime_app_instance_arn
}/channel/*" ] } ] }
Untuk contoh ini, sebut peran ini sebagai ChimeMessagingSampleAppUserRole.
Perhatikan tag sesi dalam ChimeMessagingSampleAppUserRolekebijakan ${my_application_user_id}
di ARN sumber daya pengguna. Tag sesi ini diparameterisasi dalam AssumeRoleAPIpanggilan untuk membatasi kredensil yang dikembalikan ke izin untuk satu pengguna.
Sebuah AssumeRole dan TagSessionAPIsdipanggil menggunakan IAM entitas yang sudah kredensialisasi, seperti pengguna. IAM Itu juga APIs bisa disebut dengan IAM peran yang berbeda seperti peran AWS Lambda lari. IAMIdentitas itu harus memiliki izin untuk menelepon AssumeRole
dan TagSession
mengaktifkan. ChimeMessagingSampleAppUserRole
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Resource": "arn:aws:iam::
my_aws_account_id
:role/ChimeMessagingSampleAppUserRole
" } ] }
Untuk contoh ini, sebut peran ini sebagai ChimeSampleAppServerRole.
Anda perlu mengatur ChimeMessagingSampleAppUserRole
dengan kebijakan kepercayaan yang memungkinkan ChimeMessagingSampleAppServerRole
untuk memanggil STS AssumeRole APIdi atasnya. Untuk informasi selengkapnya tentang penggunaan kebijakan kepercayaan dengan IAM peran, lihat Cara menggunakan kebijakan kepercayaan dengan IAM peranChimeMessagingSampleAppUserRole
. Contoh berikut menunjukkan hubungan kepercayaan yang khas.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS":"arn:aws:iam::
my_aws_account_id
:role/ChimeMessagingSampleAppServerRole
" } "Action": "sts:AssumeRole" } ] }
Dalam penerapan sampel, instans AmazonChimeMessagingSampleAppServerRole
Server kemudian:
Melakukan otorisasi khusus aplikasi apa pun pada permintaan klien untuk menerima kredensil.
Panggilan STS
AssumeRole
aktifChimeMessagingSampleAppUserRole
, dengan tag yang memparameterisasi file.${aws:PrincipalTag/my_applications_user_id}
Meneruskan kredensil yang dikembalikan dalam
AssumeRole
panggilan ke pengguna.
Contoh berikut menunjukkan CLI perintah untuk mengasumsikan peran untuk langkah 2:
aws sts assume-role --role-arn arn:aws:iam::
my_aws_account_id
:role/ChimeMessagingSampleAppUserRole
--role-session-name demo --tags Key=my_applications_user_id
,Value=123456789