AWS、Cognito認証を用いたQuick Sight個別ビジュアルのReactアプリ埋め込み構成を発表
要点
-
AWSは、Amazon Cognitoのユーザー認証を活用してAmazon Quick Sightの個別ビジュアルをReactアプリへ埋め込むサーバーレス構成を解説した。
-
ダッシュボード全体ではなくチャートやグラフ単位で埋め込むことで、UIの自由度向上と既存資産の再利用、ユーザー単位のアクセス制御を実現する。
-
アーキテクチャはフロントエンド、認証、バックエンド、アナリティクスの4層で構成され、単一のAWS CloudFormationスタックで展開できる。
-
バックエンドのAWS LambdaがQuick Sight APIを呼び出し、初回ユーザーのプロビジョニングと時間制限付き埋め込みURLの生成を担う。
-
AWS(Amazon Web Services)は2026年9月3日、同社の公式ブログ「AWS ML Blog」において、認証サービス「Amazon Cognito」とBI(ビジネスインテリジェンス)エンジン「Amazon Quick Sight」を連携させ、Reactアプリケーション内に個別の分析ビジュアルを埋め込むためのアーキテクチャを公開した。
-
本記事では、ユーザーごとに許可されたデータのみを表示するアクセスガバナンスを維持しながら、ダッシュボード全体ではなく特定のグラフや指標を選んでWebフロントエンドに統合する具体的な実装モデルが示されている。
ビジュアル単位の埋め込みによる柔軟なUI設計とアクセス制御
Webアプリケーション内にデータ分析機能を組み込む際、ユーザーごとの認証や権限管理を適用するIDレイヤーの構築は実装の複雑さを招きやすい。今回の発表でAWSは、Amazon CognitoとAmazon Quick Sight(Amazon Quick内で埋め込み分析を担うBIエンジン)の間を仲介する専用のIDレイヤーを設計することで、埋め込まれたビジュアルごとにきめ細かなアクセス制御を実現できると説明している。
特に本構成では、ダッシュボード全体を埋め込むのではなく、個々のチャートやグラフ、主要な指標(メトリクス)といったビジュアル単位での埋め込みを可能にしている点が特徴だ。これにより、開発者はWebアプリケーションのレイアウトやユーザー体験に合わせて分析要素を自在に配置できるようになる。用途ごとに独立したダッシュボードを新設する必要がなくなり、既存のダッシュボードにあるビジュアル資産を効率的に再利用できるという。
なお、Amazon Quickはビジネスインテリジェンス、高度な分析機能、エンタープライズ検索を1つに統合したAWSの分析サービスであり、Quick Sightはその中でアプリケーション向け組み込み分析体験を支えるエンジンとして位置づけられている。
4層で構成されるサーバーレスアーキテクチャ
今回解説されたソリューションは、保守性や拡張性に優れた4層のサーバーレスアーキテクチャで構成されている。
1つ目の「フロントエンド層」では、Reactアプリケーションの静的ファイルをオブジェクトストレージの「Amazon S3」に配置し、コンテンツ配信ネットワーク(CDN)である「Amazon CloudFront」経由で配信する。さらにエッジ環境には「AWS WAF」を配置し、悪意のあるリクエストを遮断してフロントエンドを保護する設計となっている。
2つ目の「認証層」には、ユーザー管理サービスの「Amazon Cognito User Pools」が採用されている。ユーザーのサインイン処理を行い、認証に成功するとJWT(JSON Web Token:安全に認証情報をやり取りする標準規格)を発行する。このJWTが後続のAPI層で検証される仕組みだ。
3つ目の「バックエンド層」は、Cognito Authorizerによって保護された「Amazon API Gateway」のエンドポイントと、サーバーレス実行環境である「AWS Lambda」で構築される。API Gatewayは認証済みリクエストをLambda関数へルーティングする。Lambda関数は専用のIAMロールを引き受けてQuick SightのGenerateEmbedUrlForRegisteredUser APIを呼び出し、要求されたビジュアルに応じた時間制限付きの埋め込みURLを生成する。この一連の処理に関するログやメトリクスは、統合監視サービスの「Amazon CloudWatch」によって収集・記録される。
4つ目の「アナリティクス層」はAmazon Quick Sightそのものが担当し、Reactアプリケーション側で公式の「Embedding SDK」を用いることで、生成されたURLをもとに個別のビジュアルを描画する。
軽量なURL生成と単一スタックによる迅速なデプロイ
本ソリューションは軽量性を重視して設計されている。バックエンドのLambda関数は、初回アクセス時のユーザープロビジョニング処理を含め、スコープが限定された埋め込みURLを迅速に生成できるという。また、発行される埋め込みURLは一定の期間有効であるため、ユーザーがセッション中に頻繁に再認証を求められる負荷を軽減できるとしている。
さらに、このシステム全体は単一の「AWS CloudFormation(AWSリソースをコードで自動構築するサービス)」スタックとしてパッケージ化されており、Cognitoのユーザー作成からLambdaによるURL発行、個別ビジュアルを描画するReactフロントエンドに至る一連のパイプラインを迅速にデプロイできる環境が整えられている。