選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

驗證 Amazon Chime SDK 訊息的最終使用者用戶端應用程式

焦點模式
驗證 Amazon Chime SDK 訊息的最終使用者用戶端應用程式 - Amazon Chime SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

您也可以從最終使用者用戶端應用程式執行 Amazon Chime SDK 訊息。 從 Amazon Chime SDK 訊息的後端服務進行 SDK 呼叫 說明如何進行 API 呼叫,例如 create-channel、send-channel-message 和 list-channel-messages。瀏覽器和行動應用程式等最終使用者用戶端應用程式會進行這些相同的 API 呼叫。用戶端應用程式也可以透過 WebSocket 連線,以接收訊息和事件的即時更新至其所屬頻道。本節說明如何將 IAM 登入資料提供給範圍為特定應用程式執行個體使用者的用戶端應用程式。一旦最終使用者擁有這些登入資料,他們可以進行 中顯示的 API 呼叫從 Amazon Chime SDK 訊息的後端服務進行 SDK 呼叫。若要查看用戶端應用程式的完整示範,請參閱 https://https://github.com/aws-samples/amazon-chime-sdk/tree/main/apps/chat。如需從用戶端應用程式所屬頻道接收即時訊息的詳細資訊,請參閱 使用 WebSockets 在 Amazon Chime SDK 訊息中接收訊息

提供 IAM 登入資料給最終使用者

Amazon Chime SDK 訊息原生整合 AWS Identity and Access Management (IAM) 政策,以驗證傳入的請求。IAM 政策會定義個別使用者可以執行的動作。IAM 政策可以製作為使用案例提供縮小範圍的有限憑證。如需為 Amazon Chime SDK 訊息使用者建立政策的詳細資訊,請參閱 Amazon Chime SDK 訊息的範例 IAM 角色

如果您有現有的身分提供者,您有下列選項可將現有的身分與 Amazon Chime SDK 訊息整合。

  • 您可以使用現有的身分提供者來驗證使用者,然後將身分驗證服務與 AWS Security Token Service (STS) 整合,為用戶端建立自己的憑證販賣服務。STS 提供用於擔任 IAM 角色的 APIs。

  • 如果您已經有 SAML 或 OpenID 相容身分提供者,我們建議您使用 Amazon Cognito Identity Pools,這會抽象化對 AWS STS AssumeRoleWithSAML和 的呼叫AssumeRoleWithWebIdentity。Amazon Cognito 與 OpenID、SAML 和公有身分提供者整合,例如 Facebook、Loging with Amazon、Google 和 Sign in with Apple。

如果您沒有身分提供者,您可以開始使用 Amazon Cognito 使用者集區。如需如何搭配 Amazon Chime SDK 訊息功能使用 Amazon Cognito 的範例,請參閱使用 Amazon Chime SDK 訊息在您的應用程式中建置聊天功能

或者,您可以使用 AWS STS來建立自己的登入資料販賣服務,或建置自己的身分提供者。

使用 STS 來 vend 登入資料

如果您已經擁有 ActiveDirectory LDAP 等 IDP,而且想要實作自訂憑證販賣服務,或授予未驗證會議出席者聊天的存取權,您可以使用 AWS STS AssumeRole API。若要執行此操作,請先建立 Amazon Chime SDK 訊息 SDK 角色。如需建立該角色的詳細資訊,請參閱建立角色以將許可委派給 IAM 使用者。

IAM 角色將具有應用程式將使用的 Amazon Chime SDK 訊息動作許可,如下所示:

{ "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/*" ] } ] }

在此範例中,將此角色稱為 ChimeMessagingSampleAppUserRole

請注意使用者 ARN 資源中 ChimeMessagingSampleAppUserRole 政策${my_application_user_id}中的工作階段標籤。此工作階段標籤會在 AssumeRole API 呼叫中參數化,以限制傳回給單一使用者的 許可的登入資料。

AssumeRoleTagSession APIs 會使用已登入的 IAM 實體呼叫,例如 IAM 使用者。APIs 也可以由不同的 IAM 角色呼叫,例如AWS Lambda 執行角色。該 IAM 身分必須具有在 ChimeMessagingSampleAppUserRole TagSession 上呼叫 AssumeRole和 的許可。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Resource": "arn:aws:iam::my_aws_account_id:role/ChimeMessagingSampleAppUserRole" } ] }

在此範例中,將此角色稱為 ChimeSampleAppServerRole

您需要ChimeMessagingSampleAppUserRole使用允許 ChimeMessagingSampleAppServerRole呼叫 STS AssumeRole API 的信任政策來設定 。如需搭配 IAM 角色使用信任政策的詳細資訊,請參閱如何搭配 IAM 角色使用信任政策。 您可以使用 AWS IAM 角色主控台,將此政策新增至 ChimeMessagingSampleAppUserRole。下列範例顯示典型的信任關係。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS":"arn:aws:iam::my_aws_account_id:role/ChimeMessagingSampleAppServerRole" } "Action": "sts:AssumeRole" } ] }

在範例部署中,Amazon EC2 執行個體或 AWS Lambda 會與 一起啟動ChimeMessagingSampleAppServerRole。然後伺服器:

  1. 對用戶端接收憑證的請求執行任何應用程式特定的授權。

  2. AssumeRole上呼叫 STSChimeMessagingSampleAppUserRole,並標記參數化 ${aws:PrincipalTag/my_applications_user_id}

  3. AssumeRole通話中傳回的登入資料轉送給使用者。

下列範例顯示 CLI 命令,用於擔任步驟 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

在本頁面

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。