本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 1:設定許可
注意
嵌入式 QuickSight Q 搜尋列提供經典的 QuickSight 問答體驗。 QuickSight 與 Amazon Q 商務版整合,以推出全新的生成式問答集體驗。建議開發人員使用新的生成問答體驗。如需嵌入式生成式 Q&A 體驗的詳細資訊,請參閱將 Amazon Q 嵌入 QuickSight 生成式問答體驗。
在以下章節中,您可以了解如何為後端應用程式或 Web 伺服器設定許可以內嵌 Q 搜尋列。此工作需要 AWS Identity and Access Management (IAM) 的管理存取權限。
存取儀表板的每個使用者都會擔任一個角色,讓他們擁有 Amazon QuickSight 存取權限和儀表板的權限。為了實現這一點,請在您的 AWS 帳戶中建立 IAM 角色。將 IAM 政策與此角色建立關聯,以提供許可給擔任此角色的任何使用者。IAM 角色需要提供許可,以擷取特定使用者集區的內嵌 URL。
藉助萬用字元 *,您可以授予許可,以便為特定命名空間中的所有使用者產生 URL。或者,您可以授予許可來為特定命名空間中的使用者子集產生 URL。對於這一點,您新增 quicksight:GenerateEmbedUrlForRegisteredUser
。
您可以在 IAM 政策中建立條件,以限制開發人員可在 GenerateEmbedUrlForRegisteredUser
API 操作的 AllowedDomains
參數中列出的域。AllowedDomains
參數是選用參數。它可讓開發人員選擇覆寫 QuickSight [管理] 功能表中設定的靜態網域,而是列出最多三個可存取產生 URL 的網域或子網域。然後將此 URL 內嵌到開發人員的網站中。只有參數中列出的域可以存取內嵌 Q 搜尋列。如果沒有這種情況,開發人員可以在 AllowedDomains
參數中列出網際網路上的任何域。
若要限制開發人員可搭配此參數使用的域,請在 IAM 政策中新增 AllowedEmbeddingDomains
條件。如需有關AllowedDomains
參數的詳細資訊,請參閱 Amazon QuickSight API 參考資料GenerateEmbedUrlForRegisteredUser中的。
下列範例政策提供這些許可。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "quicksight:GenerateEmbedUrlForRegisteredUser" ], "Resource": "arn:
partition
:quicksight:region
:accountId
:user/namespace
/userName
", "Condition": { "ForAllValues:StringEquals": { "quicksight:AllowedEmbeddingDomains": [ "https://my.static.domain1.com", "https://*.my.static.domain2.com" ] } } } ] }
此外,如果您要建立將成為 Amazon QuickSight 讀者的初次使用者,請務必在政策中新增quicksight:RegisterUser
許可。
下列範例原則提供權限,讓初次成為 QuickSight 讀者的使用者擷取內嵌 URL。
{ "Version": "2012-10-17", "Statement": [ { "Action": "quicksight:RegisterUser", "Resource": "*", "Effect": "Allow" }, { "Effect": "Allow", "Action": [ "quicksight:GenerateEmbedUrlForRegisteredUser" ], "Resource": [ "arn:
partition
:quicksight:region
:accountId
:user/namespace
/userName
" ], "Condition": { "ForAllValues:StringEquals": { "quicksight:AllowedEmbeddingDomains": [ "https://my.static.domain1.com", "https://*.my.static.domain2.com" ] } } } ] }
最後,您的應用程式的 IAM 身分必須有相關聯的信任政策,以允許存取至您剛建立的角色。這表示當使用者存取您的應用程式時,您的應用程式可以代表使用者擔任該角色,並在中佈建使用者 QuickSight。
範例信任政策如下所示。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLambdaFunctionsToAssumeThisRole", "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "AllowEC2InstancesToAssumeThisRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
如需 OpenID Connect 或安全性聲明標記語言 (SAML) 身分驗證的信任政策詳細資訊,請參閱《IAM 使用者指南》的下列各章節: