
はじめに
こんにちは、ゼネットシステム事業部の方です。
最近よく話題になることの多いAWS QuickSightの埋め込み機能について、触れてみたいと思います。
QuickSightは、クラウドベースで使えるBI(ビジネスインテリジェンス)ツールで、最近ではWebアプリや社内ポータルなどにダッシュボードを直接埋め込んで使うケースが増えてきています。画面遷移なしで分析結果が見られるのは、やっぱり便利ですよね。
そんな埋め込み機能には、主に以下の3種類があります:
-
ワンクリック埋め込み(One-click Embedding)
-
登録済みユーザー埋め込み(Registered User Embedding)
-
匿名ユーザー埋め込み(Anonymous Embedding)
それぞれ使い方や制約、コストも異なっていて、どれを選ぶかはユースケース次第です。
今回は、それぞれの特徴やメリット・デメリットについてざっくりとまとめてみました。これからQuickSightの埋め込みを検討されている方の、ちょっとした参考になれば嬉しいです。
QuickSight埋め込み3方式をざっくり紹介!
QuickSightの埋め込み機能について「3つの方式」ごとに特徴を見ていきます。どれを選ぶかで、コストも実装の手間もけっこう変わってくるので、用途に合わせた見極めが大事です。
ワンクリック埋め込み(One-click Embedding)
一番手軽な方式です。QuickSightのコンソールからダッシュボードの埋め込みリンクを発行するだけでOK。コーディング不要でURLを貼るだけで済むので、技術的なハードルはほぼありません。
表示できるもの:
-
ダッシュボード
-
ビジュアル(個別グラフ)
<iframe
width="960"
height="720"
src="https://ap-northeast-1.quicksight.aws.amazon.com/sn/embed/share/accounts/XXXXXXXXX/dashboards/XXXXXXXXXX">
</iframe>
こんなときに便利:
-
社内で簡単に共有したいとき
-
プロトタイプや一時的なダッシュボード共有をしたいとき
登録済みユーザー埋め込み(Registered User Embedding)
QuickSightに登録されているユーザー向けに、API(generateEmbedUrlForRegisteredUser)を使って埋め込みURLを動的に生成します。ログイン情報を元に、ユーザーごとの制御やRLS(行レベルセキュリティ)もかけられます。
表示できるもの:
-
ダッシュボード
-
ビジュアル
-
Q(自然言語による検索バー)
-
コンソール(※登録済みユーザーなのでQuickSight画面にもアクセス可能)
embed_url_response = quicksight_client.generate_embed_url_for_registered_user(
AwsAccountId=aws_account_id,
SessionLifetimeInMinutes=60,
UserArn=user_arn,
ExperienceConfiguration={
'QuickSightConsole': {
'InitialPath': '/start'
}
}
)
こんなときに便利:
-
社内システムにSSO連携で埋め込みたいとき
-
権限管理やユーザーごとのデータ制御が必要なとき
匿名ユーザー埋め込み(Anonymous Embedding)
QuickSightに登録されていない外部ユーザー向けに、API(generateEmbedUrlForAnonymousUser)を使ってセッション単位の埋め込みURLを発行します。ユーザー登録が不要なので、大規模な外部提供やSaaS的な使い方に最適です。
表示できるもの:
-
ダッシュボード
-
ビジュアル
-
Q(検索バー)
embed_url_response = quicksight_client.generate_embed_url_for_anonymous_user(
AwsAccountId=aws_account_id,
SessionLifetimeInMinutes=15,
Namespace=namespace,
AuthorizedResourceArns=[dashboard_arn],
ExperienceConfiguration={
'Dashboard': {
'InitialDashboardId': dashboard_id,
}
}
)
こんなときに便利:
-
顧客向けポータルやWebサービスで分析機能を提供したいとき
-
外部ユーザーをQuickSightに登録したくないとき
まとめ
それぞれの方式について、料金や実装難易度、ユーザー登録要否などを以下の表にまとめます:
| 埋め込み方式 | 料金 | ユーザ作成 | SSO対応 | 実装の複雑さ |
|---|---|---|---|---|
| ワンクリック | 低 | 必要 | 対応 | 低 |
| 登録済みユーザー | 中 | 必要 | 対応 | 中 |
| 匿名ユーザー | 高 | 不要 | 非対応 | 高 |
-
ワンクリック埋め込みは最も簡単ですが、ユーザー認証や制御がしづらい点に注意が必要です。
-
登録済みユーザー埋め込みは、細かいアクセス制御やSSOとの統合に強みがあります。
-
匿名ユーザー埋め込みは、外部公開や大量ユーザー向けに適していますが、コスト面で注意が必要です。
おわりに
QuickSightの埋め込み機能は、要件に合わせて3種類の方式を使い分けることで、より柔軟でスムーズなデータ提供が可能になります。
今回は「ざっくり比較」に焦点を当てましたが、実際に実装してみると意外な落とし穴や便利なポイントが見えてきます。
どの方式が自社やプロジェクトにとって最適か、早めに検討しておくと後々の実装・運用もラクになります。
もしこれから導入を検討している方がいれば、少しでも参考になれば幸いです!
参考資料
