ステップ 1: 許可をセットアップする - Amazon QuickSight

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ 1: 許可をセットアップする

次のセクションでは、生成 Q&A エクスペリエンスを埋め込むためのバックエンドアプリケーションまたはウェブサーバーのアクセス許可を設定する方法について説明します。このタスクには、 AWS Identity and Access Management (IAM) への管理アクセスが必要です。

生成 Q&A エクスペリエンスにアクセスする各ユーザーは、Amazon QuickSight アクセスとアクセス許可を付与するロールを引き受けます。これを可能にするには、 で IAM ロールを作成します AWS アカウント。IAM ポリシーをロールに関連付けて、それを引き受けるすべてのユーザーにアクセス許可を付与します。IAM ロールでは、特定のユーザープールに埋め込み URL を取得するアクセス許可を提供する必要があります。

ワイルドカード文字 * を使用することにより、特定の名前空間内の全ユーザーに URL を生成する許可を付与できます。または、特定の名前空間内のユーザーのサブセットに URL を生成する許可を付与することもできます。このためには、quicksight:GenerateEmbedUrlForRegisteredUser を追加します。

IAM ポリシーで条件を作成し、デベロッパーが GenerateEmbedUrlForRegisteredUser API オペレーションの AllowedDomains パラメータにリストできるドメインを制限できます。AllowedDomains パラメータはオプションのパラメータです。これにより、管理 QuickSightメニューで設定された静的ドメインを上書きし、代わりに生成された URL にアクセスできるドメインまたはサブドメインを最大 3 つ一覧表示するオプションがデベロッパーに付与されます。そして、この URL はデベロッパーのウェブサイトに埋め込むことができます。パラメータにリストされているドメインのみが、埋め込み生成 Q&A エクスペリエンスにアクセスできます。すなわち、この条件を設定していない場合、デベロッパーはインターネット上の任意のドメインを AllowedDomains パラメータにリストできてしまいます。

デベロッパーがこのパラメータで使用できるドメインを制限するには、AllowedEmbeddingDomains 条件を IAM ポリシーに追加します。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 ID に関連付けられた信頼ポリシーが必要です。つまり、ユーザーがアプリケーションにアクセスすると、アプリケーションはユーザーに代わってロールを引き受け、 でユーザーをプロビジョニングできます 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 または Security Assertion Markup Language (SAML) 認証の信頼ポリシーに関する詳細については、IAM ユーザーガイドの以下のセクションを参照してください。