WorkhumanがAmazon QuickSight埋め込みダッシュボードで構築したマルチテナント・セルフサービス型レポーティング
Workhumanは700万人規模のユーザーからの手動レポート依頼を解消するため、Amazon QuickSightを活用したマルチテナント型埋め込みダッシュボードへ分析配信モデルを移行し、SaaSアプリケーションへの組み込みBI構築の実践的枠組を示した。
キーポイント
手動レポートのボトルネック解消
700万人規模のユーザーからの一時的なレポート依頼によりBIチームが疲弊していた課題を、カスタマー主導のセルフサービス型 reporting へ移行した。
マルチテナント型埋め込みダッシュボードの採用
Amazon QuickSight Embedding を活用し、各顧客ごとにデータ分離とカスタムレポート機能を安全に提供できるSaaSアーキテクチャを構築した。
SaaS企業向けのBI実装ブループリント
設計アプローチ、実装戦略、得られたビジネス成果を公開し、他SaaS企業が開発者に分析機能を提供する際の参考枠組として提示している。
影響分析・編集コメントを表示
影響分析
本記事は、大規模SaaS企業における分析配信の最適化事例を示しており、特にマルチテナント環境でのデータ分離とセルフサービスBIの実装パターンを明確に提示している。これにより、開発リソースの最適化と顧客体験の向上という両立が可能な実務的な指針となり、SaaS業界における組み込み分析の標準化を後押しする。
編集コメント
技術ブログ特有のPR色は否めないが、大規模SaaSにおける分析配信のパターン化という実務価値は高く、埋め込みBIを検討する開発チームの設計指針として有用である。
*この投稿は、Workhuman の Ilija Subanovic 氏と Michael Rice 氏との共著です。*
Workhuman のカスタマーサービスおよび分析チームは、世界中の 700 万人の利用者からの一時的なレポート作成依頼に押しつぶされそうになっていました。これは、大規模環境におけるレガシーなレポートツールでよく見られる課題です。ビジネスインテリジェンス(BI)管理者たちは、チームがこれらの依頼によって圧倒される中で、ますます高まるプレッシャーに直面していました。Amazon Quick Sight のダッシュボードを活用して分析配信を再構築したことで、顧客固有の要件に対する手動レポート作成のボトルネックを解消しました。この変更により、顧客はカスタムレポート作成機能を獲得しました。Workhuman は、人的資本管理(HCM)ソフトウェアの世界的事業者であり、従業員の表彰およびエンゲージメントソリューションに特化しています。Workhuman のソリューションを利用することで、従業員同士がお互いを認め合い、報酬を与えることができ、職場における真の人間的なつながりを育むことができます。
本稿では、Workhuman が分析提供モデルをどのように変革し、その実装からどのような重要な教訓を得たかを探ります。彼らのアーキテクチャアプローチ、実装戦略、そして達成したビジネス成果を通じて、SaaS(Software as a Service)アプリケーションに埋め込み型分析を追加するための実践的な青写真を提供します。
Workhuman は、エンタープライズクライアント向けにソーシャルリコグニション、継続的パフォーマンスマネジメント、従業員エクスペリエンス分析の SaaS 機能を配信しています。アイルランド・ダブリンと米国マサチューセッツ州フレームingham に二つの本社を構え、180 カ国で 700 万人以上のユーザーにサービスを提供し、毎月 100 万件を超えるリコグニションの瞬間をサポートしています。
ビジネス上の課題
レガシーなレポートツールを用いて世界中のユーザーに対応する規模へと拡大するにつれ、Workhuman のカスタマーサポートチームと分析チームは、持続不可能な量の手動かつ単発的なレポート要求に押しつぶされました。この反応型のモデルにより、以下の重要な問題が生じました:
- リソースの制約:手動でのレポート生成にチームの時間が大幅に消費され、データ提供が遅延し、運用コストが増大していました。カスタムレポートごとのリクエストには開発者の関与が必要であり、これがボトルネックとなって、Workhuman が顧客を効果的にサポートする能力が低下していました。
- 柔軟性の不足:顧客に提供されるレポートは、顧客固有のニーズに合わせてカスタマイズできませんでした。変更には追加の開発リソースが必要となり、サイクルが再スタートする必要がありました。
- セルフサービスの欠如:顧客は自分たちのデータを独立して探索・可視化することができませんでした。内部チームへの依存により摩擦が生じ、アジリティが低下し、顧客満足度に悪影響を及ぼしていました。
- アクセス制御の欠陥:レポートアクセスの管理やデータ権限を安全に管理するための堅牢な仕組みがないため、顧客基盤が拡大するにつれて Workhuman はセキュリティリスクと運用上の複雑さに直面していました。
Workhuman は、スケールしたレポート提供を実現しつつ、顧客自身がそれを管理できる能力を与えるという独自のニーズを満たすためのソリューションを構築する必要がありました。
ソリューションの概要
Workhuman は、プログラムマネージャー、人事専門家、およびリーダー層に対して直感的なレポート体験を提供する必要があり、彼らがレポート製品内で必要に応じて独自にカスタムビジュアライゼーションを作成できるようにすること。同時に、人事管理者が細粒度のレポート権限を適用し、各ユーザーの承認レベルに基づいてパーソナライズされたダッシュボードアクセスを維持するというニーズにも対応する必要があります。
Workhuman は、顧客間で厳格なデータ分離を維持しつつリソース効率を最大化するアーキテクチャパターンを用いた包括的なセルフサービス分析プラットフォームを開発しました。このソリューションは、Workhuman の内部ユーザーと顧客ユーザーの双方が、独自のカレーテッド認識データセットを探索・分析・可視化し、さまざまなインサイトを得られるように設計されています。Workhuman の実装における重要な強みは、既存アプリケーション内で Quick Sight 埋め込みダッシュボードを戦略的に活用し、その後、手動介入なしに顧客基盤全体に分析展開をスケーリングする自動化アプローチを採用した点です。
このソリューションでは、各テナント環境内できめ細かいアクセス制御を導入するために使用される行レベルセキュリティの手法と、開発・ステージング・本番環境にわたる分析資産を管理するための継続的インテグレーションおよび継続的デリバリー(CI/CD)プラクティスが網羅されています。さらに、このソリューションでは、Workhuman が達成した現実的なビジネス成果も紹介されており、これには運用オーバーヘッドの削減や顧客満足度指標の向上が含まれ、セルフサービス分析への投資の有効性を裏付けています。
Workhuman は、多テナンシーとアセット分離機能において自社の課題に直接対応できるため、Quick Sight を選択しました。
- マルチテナントアーキテクチャ:Quick Sight の名前空間機能は、各顧客組織に対して論理的な分離を提供し、名前空間レベルおよびユーザー管理において分析資産の厳格な分離を実現しながら、厳密なデータ境界を維持します。これは、あらゆるマルチテナント S ソフトウェアソリューションにおける基盤要件です。
- 埋め込み機能:埋め込み SDK および API フォーカス型アプローチにより、Workhuman はユーザーエクスペリエンスを制御しつつ Quick Sight の分析機能を活用できます。開発チームは、アプリケーションのブランディングやユーザーインターフェースパターンに合わせた見た目をカスタマイズすることが可能です。
- 行レベルセキュリティ:アクセス制御により、ユーザーは組織内での自身の役割に基づき、権限が与えられたデータのみを表示できるようになります。
- API ドライブ型自動化:Quick Sight の API を活用することで、分析デプロイメントの側面をプログラム的に管理でき、各顧客に対する手動介入なしに、顧客全体にわたる分析資産の効率的な管理をサポートします。
アーキテクチャ概要
マルチテナント型の分析ソリューションでは、安全で分離された分析体験を提供するために、いくつかの主要コンポーネントが連携して機能する必要があります。Workhuman のアーキテクチャは、分離性と運用効率のバランスが取れた慎重に設計されたワークフローを通じてこれらのコンポーネントを調整しています。このアーキテクチャでは、各顧客に対して専用名前空間を使用しつつ、共通インフラストラクチャとテンプレートを活用することで複雑さを低減しています。
Workhuman は、以下のコンポーネントを中心にアプローチを構築しました:
- Admin Hub とレポート機能:中央アプリケーションは埋め込み型の Quick Sight ダッシュボードを提供し、ユーザーアクセスを管理します
- Quick Sight 名前空間管理:各テナントごとに専用名前空間が用意され、分離性が維持されます
- アナリシスの作成と管理:マスターテンプレートと顧客固有のアナリシス
- ダッシュボードの公開:分析結果はダッシュボードとして公開され、顧客ユーザーは作成体験を通じて閲覧やカスタマイズが可能です
- データセット管理:適切な顧客固有のフィルタリングが適用されたデータセット
- ダッシュボードの埋め込み:アプリケーションに統合された安全な埋め込み URL
- ダッシュボードの作成:ユーザーは既存のアナリシスからカスタムコピーを作成できます
Workhuman の AWS アカウントは中央ハブとして機能し、内部運用用のデフォルト名前空間と、事前定義されたデータセットおよび分析ツールを備えたテンプレート資産を格納しています。オンボーディング時には、各顧客に専用セグメントが割り当てられ、独自のデータ要件に合わせてフィルタリングされたデータセットなど、特定の資産を管理します。
Admin Hub とレポートアプリケーションは、ユーザー管理、認証、認可を担当し、テンプレート資産と連携して API を介してダッシュボードや分析結果を公開します。バックエンド操作をサポートする Amazon Aurora PostgreSQL データベースが、顧客データを安全に保存・管理しています
アーキテクチャは、各顧客が独自の隔離された環境内で運用され、専用リソースとデータアクセス制御を有しながらも、効率性とコスト効果のために共有インフラストラクチャおよびツールを利用していることを確認しています。
Workhuman は、前述の図に示されているような構造化ワークフローを開発しました:
- Quick Sight でのユーザーアイデンティティ管理: カスタム名前空間内の Quick Sight グループ内に、各顧客の編集用ユーザーを作成する
- マスター分析の作成: アナリストがコアモデルデータセットに基づき、関連する製品機能領域用のマスター分析を構築する
- 顧客ごとの複製: 各顧客用に分析をコピーし、該当する顧客の Quick Sight グループと共有する
- フィルター付きデータセットの作成: 顧客固有のフィルターを含む顧客専用データセットを構築し、Quick Sight の顧客編集グループと共有する
- 分析の更新: 顧客固有のフィルターを持つデータセットを使用するように、顧客ごとの分析を変更する
- ダッシュボードのパブリッシング: 更新されたデータセットを用いた分析から、顧客用ダッシュボードを生成する
- 権限管理: アプリケーション層がユーザー設定を管理し、承認された場合に API を通じてユーザーのプロビジョニングを行い、権限チェックを実行する
- エンベデッド URL の生成: Quick Sight が顧客固有の分析用の編集用エンベデッド URL を生成する
- UI でのレンダリング: エンベデッド URL がユーザーインターフェース内でレンダリングされる
技術的実装
Workhuman の実装では、Quick Sight の3つの主要機能を利用しています。テナント分離のための名前空間の隔離、一貫性を維持するためのテンプレートベースのカスタマイズ、そして行レベルセキュリティによるアクセス制御です。各コンポーネントは前述したアーキテクチャ基盤の上に構築され、厳格なセキュリティ境界を維持しながら効率的にスケールする分析プラットフォームを共同で実現しています。
名前空間の隔離
各顧客組織には、Quick Sight Enterprise Edition に専用の名前空間が割り当てられます。各名前空間には1つのテナントのリソースが含まれ、顧客同士が互いのデータや分析にアクセスすることを防ぎます。名前空間は、マルチテナント SaaS アプリケーションに必要なユーザー分離の基盤層を提供し、各顧客組織のユーザー、資産、データを論理的に分離します。この分離は、Quick Sight が自動的に強制する境界線によって保たれています。
マスターテンプレートとカスタマイズ
マスター分析テンプレートには、標準的な KPI(重要業績評価指標)、ビジュアライゼーション、ブランディング、プレースホルダーフィルターが含まれます。顧客のオンボーディング時に自動化システムがこれらのテンプレートから顧客固有のバージョンを生成し、デプロイメント自動化フレームワークがその後自動的に Quick Sight アセットを作成します。これにより、手作業による負担を軽減しつつ一貫性を維持しています。
ロールベースのセキュリティ
ロールベースのセキュリティ(RLS)は、ユーザーの役割に基づいて各顧客の名前空間内のデータアクセスを制限します。RLS ルールは、ユーザー属性と一致する列値を用いてデータをフィルタリングします。ロールベースのセキュリティは、ユーザーの役割と権限に基づいて各顧客環境内でのデータの可視性を制限することで、名前空間の分離を補完します。
セキュアなダッシュボード埋め込み
ダッシュボードの埋め込みでは、各セッションに対して安全で有効期限付きの URL が生成されます。Workhuman はインタラクションオプションをカスタマイズし、既存の認証システムと統合しました。
ダッシュボード作成
作成経験を持つ顧客ユーザーは、独自に開発されたプロセスを通じて、埋め込まれた Quick Sight 分析のカスタムバージョンを作成できます:
- Quick Sight API を使用して元の分析のコピーを作成する
- 分析に対して RLS ルールを定義する
- API を使用して、指定された RLS 権限に関連付けられた Quick Sight グループを作成する
- ユーザーを Quick Sight グループに追加する
このプロセスにより、各カスタム分析に関連する権限とグループが確認され、ユーザーは異なる分析に対して異なる RLS 権限セットを持つ複数の Quick Sight グループに所属できるようになります。以下の画像は、利用可能なすべての分析を一覧表示するレポート管理ホームページを示しています。
カスタム分析を作成するには、顧客ユーザーはダイアログボックスで分析名を入力し、分析タイプを選択します。その後、テンプレートとして使用する事前作成済みの分析を選択します。
静的および動的アセット管理
Workhuman の実装では、Quick Sight アセットを 2 つのタイプに区別し、ライフサイクルと更新頻度に基づいてそれぞれ異なる方法で管理しています。
- 静的アセット:名前空間、標準分析、ダッシュボード、フォルダー、および作成者グループは、顧客間で比較的安定しており、Python スクリプトを使用して Quick Sight API を通じて自動的に生成されます。この自動化システムは各クライアントの Quick Sight アセットの状態を監視し、分析定義を検証し、ソース定義の更新を検出し、新しいクライアント ID の検出時にアセットを自動的にプロビジョニングします。クライアントレポートデータは、集中化された Amazon Redshift テーブルから取得されます。Quick Sight データセット作成時には、システムがクライアント ID に基づいてクライアント固有のフィルタを適用し、データの分離を維持します。
- 動的アセット管理:これは、Quick Sight の分析作成エクスペリエンスに関連するリソース(ユーザーが作成したカスタム分析および関連する権限)を扱います。フロントエンドアプリケーションは Quick Sight API を使用するため、ユーザーは新しい分析を作成し、そのライフサイクルを管理できます。PostgreSQL データベースには、RLS 権限セットと分析メタデータが格納されます。
カスタム分析の作成時には、UI ダイアログでカスタマイズ可能な利用可能な分析の一覧が表示されます。ユーザーは、データセットの利用可能な列および値に基づいて RLS 権限を定義します。権限は RLS データベースに挿入され、データセットとリンクされます。その後、分析が作成され、新しい Quick Sight グループが作成されます。
静的アセットと動的アセットの分離により、Workhuman は標準テンプレートに対する集中管理を維持しつつ、顧客固有のカスタマイズに対応する柔軟性を提供できます。
CI/CD パイプライン
デプロイメントパイプラインは、Quick Sight アセットの更新を 3 つのステージにわたって自動化します。この 3 ステージアプローチは、開発のアジリティと本番環境の安定性のバランスを図るものです:
- 開発(Development): アナリストが隔離された環境で新しいダッシュボードテンプレートを作成・テストする
- 検証(Staging): テンプレートが生産環境に近いデータを用いてテストされ、顧客への公開前に問題を特定する
- 本番(Production): 検証済みのテンプレートを顧客のネームスペースにデプロイする
パイプラインにはステージ間の承認ゲートと、問題検出時のロールバック機能が含まれています。インフラストラクチャは Terraform でデプロイされ、AWS Lambda 関数および AWS Batch プロセスが Quick Sight アセット作成の自動化を実行します。
以下の画像は CI/CD パイプラインのワークフローを示しています。このアーキテクチャは、GitLab のバージョン管理と AWS バッチ、Amazon Quick Sight、Amazon Lambda、Amazon Aurora などの AWS サービスを統合した、分析ダッシュボードおよびレポートを管理する自動化されたデプロイメントワークフローを示しています。
データソース
Amazon Redshift はレポートの主要なデータソースとして機能しています。専用の抽出・変換・ロード(ETL)ワークフローが、基盤となる Amazon Redshift テーブルを作成します。データの最新性を維持するため、Redshift テーブルの更新後にリフレッシュデータセット API を使用して Quick Sight のデータセット更新が自動的にトリガーされます。Amazon CloudWatch メトリクスは、更新タイムスタンプ、データ行数、処理時間を追跡します。ダッシュボードとアラート機構により、データセットの鮮度が監視され、データの信頼性が検証されます。
顧客向けダッシュボード
Quick Sight を活用した Workhuman のダッシュボードは、従業員表彰データから実行可能なインサイトを顧客に提供します。これらのダッシュボードでは、Workhuman の顧客がアクセスおよびカスタマイズできる分析のタイプを示しています:
アワード配分ダッシュボード: 以下のスクリーンショットに示されるように、このダッシュボードは組織全体における表彰の波及範囲を追跡します。異なる部署の個人に対して与えられたアワードの割合が 29.3% と表示されている指標は、表彰が多機能間の協力を促進する上で果たす役割を浮き彫りにしています。組織はこれらのメトリクスを使用して、表彰カバレッジにおけるギャップを特定し、時間経過に伴うプログラムの効果を追跡することができます。
Executive Insights ダッシュボード: 以下のスクリーンショットに示されるビューは、部署間の相互認識のパターンに焦点を当てています。例示されている通り、従業員の89.29%が表彰を受けており、これはプログラムの高い採用率を示すとともに、Operations(運営)、Customer Excellence(顧客エクセレンス)、Technology(技術)といった部署が外部から積極的に賞を受賞していることを示しています。
原文を表示
*This post is cowritten with Ilija Subanovic and Michael Rice from Workhuman.*
Workhuman’s customer service and analytics team were drowning in one-time reporting requests from seven million users worldwide—a common challenge with legacy reporting tools at scale. Business intelligence (BI) admins faced mounting pressure as their teams became overwhelmed with these requests. By rebuilding their analytics delivery with Amazon Quick Sight dashboards, they eliminated the manual report generation bottleneck for customer-specific requirements. With this change customers gain custom reporting capabilities. Workhuman is a global leader in human capital management (HCM) software and specializes in employee recognition and engagement solutions. By using Workhuman solutions, employees can recognize and reward each other, fostering authentic human connections in the workplace.
This post explores how Workhuman transformed their analytics delivery model and the key lessons learned from their implementation. We go through their architecture approach, implementation strategy, and the business outcomes they achieved—providing you with a practical blueprint for adding embedded analytics to your own software as a service (SaaS) applications.
Workhuman delivers SaaS capabilities for social recognition, continuous performance management, and employee experience analytics to enterprise clients. With dual headquarters in Dublin, Ireland, and Framingham, Massachusetts, Workhuman serves over seven million users across 180 countries, supporting more than one million recognition moments monthly.
The business challenge
As Workhuman scaled to serve users worldwide with legacy reporting tools, their customer service and analytics teams became overwhelmed by an unsustainable volume of manual, one-time reporting requests. This reactive model created several critical issues:
- Resource constraints: Manual report generation consumed significant team time, leading to delays in data delivery and increased operational costs. Each request for a custom report required developer involvement, creating a bottleneck that slowed down Workhuman’s ability to serve customers effectively.
- Limited flexibility: Reports delivered to customers weren’t customizable to their specific needs. Modifications required additional development resources, restarting the cycle.
- Lack of self-service: Customers couldn’t independently explore and visualize their own data. The dependency on internal teams created friction, reduced agility, and impacted customer satisfaction.
- Access control gaps: Without a robust mechanism for administering reporting access or managing data privileges securely, Workhuman faced both security risks and operational complexity as their customer base grew.
Workhuman needed to build a solution to solve their unique need to deliver reporting at scale while empowering customers to manage it themselves.
Solution overview
Workhuman needed to provide intuitive reporting experiences to program managers, HR professionals, and people leaders so they could create custom visualizations as needed directly in the reporting product—all while respecting HR administrators’ need to enforce granular reporting authorization privileges and maintain personalized dashboard access based on each user’s authorization level.
Workhuman developed a comprehensive self-service analytics platform that addresses the unique challenges of multi-tenant SaaS environments with architecture patterns that maintain strict data isolation across customers while maximizing resource efficiency. The solution was designed to empower both Workhuman’s internal and customer users to independently explore, analyze and visualize their curated recognition datasets for various insights. A key strength of Workhuman’s implementation is the strategic use of Quick Sight embedded dashboards in existing applications, followed by automation approaches that scale analytics deployment across an entire customer base without manual intervention.
The solution covers the row-level security techniques used to adopt fine-grained access control within each tenant’s environment, complemented by continuous integration and continuous delivery (CI/CD) practices for managing analytics assets across development, staging, and production environments. Additionally, the solution showcases the real-world business outcomes Workhuman achieved, including reduced operational overhead and improved customer satisfaction metrics that validate the investment in self-service analytics.
Workhuman selected Quick Sight for its multi-tenancy and asset isolation features that directly addressed their challenges:
- Multi-tenant architecture: The namespace functionality in Quick Sight creates logical isolation for each customer organization, providing strict separation of analytics assets at the namespace level and user management while maintaining strict data boundaries—a foundational requirement for any multi-tenant SaaS solution.
- Embedding capabilities: The embedding SDK and API-first approach let Workhuman control the user experience while tapping into Quick Sight analytics. Development teams can customize the look and feel to match their application’s branding and user interface pattern.
- Row-level security: Access controls help users only see data they’re authorized to view based on their role in the organization.
- API-driven automation: Quick Sight APIs enable programmatic management of analytics deployment aspects, supporting efficient management of analytics assets across an entire customer base without manual intervention for each customer.
Architecture overview
A multi-tenant analytics solution requires several key components working together to provide a secure, segregated analytics experience. Workhuman’s architecture orchestrates these components through a carefully designed workflow that balances isolation with operational efficiency. The architecture uses dedicated namespaces for each customer while using shared infrastructure and templates to reduce complexity.
Workhuman structured their approach around these components:
- Admin Hub and Reporting: The central application provides embedded Quick Sight dashboards and manages user access
- Quick Sight namespace management: Dedicated namespaces for each tenant maintain isolation
- Analysis creation and management: Master templates and customer-specific analyses
- Dashboard publication: Analyzes published as dashboards for customer user consumption and customization through authoring experience.
- Dataset management: Datasets with appropriate customer-specific filtering
- Dashboard embedding: Secure embedding URLs integrated into the application
- Dashboard authoring: Users can create customized copies of existing analyses
Workhuman’s AWS account serves as the central hub, housing the default namespace for internal operations and templated assets with predefined datasets and analysis tools. During onboarding, each customer receives dedicated segments that manage their specific assets, including filtered datasets tailored to their unique data requirements.
The Admin Hub and Reporting application handles user management, authentication, and authorization, interacting with templated assets to publish dashboards and analyses using an API. An Amazon Aurora PostgreSQL database supports backend operations, storing and managing customer data securely.
The architecture confirms that each customer operates within their own isolated environment, with dedicated resources and data access controls, while using shared infrastructure and tools for efficiency and cost-effectiveness.
Workhuman developed this structured workflow, shown in the preceding figure:
- Manage user identities in Quick Sight: Create each customer authoring user within a Quick Sight group in a custom namespace
- Create master analyses: Analysts build master analyses for relevant product feature areas based on core model datasets
- Duplicate for customers: Copy analyses for each customer and share them with relevant customer Quick Sight groups
- Create filtered datasets: Build customer-specific datasets with customer-specific filters and share them with Quick Sight customer authoring groups
- Update analyses: Modify customer-specific analyses to use datasets with customer-specific filters
- Publish dashboards: Generate customer dashboards from the analyses with updated datasets
- Manage authorization: The application layer manages user configuration and performs authorization checks, provisioning users via API when authorized
- Generate embedded URLs: Quick Sight generates authoring embedded URLs for customer-specific analyses
- Render in UI: The embedded URL renders in the user interface
Technical implementation
Workhuman’s implementation uses three core Quick Sight features: namespace isolation for tenant separation, template-based customization to maintain consistency, and row-level security access control. Each component builds on the architectural foundation described earlier, working together to create an analytics platform that scales efficiently while maintaining strict security boundaries.
Namespace isolation
Each customer organization receives a dedicated namespace in Quick Sight Enterprise Edition. Each namespace contains one tenant’s resources, preventing customers from accessing each other’s data or analytics. Namespaces provide the foundational layer of user isolation required for multi-tenant SaaS applications, providing logical separation of each customer organization’s users, assets, and data remain logically separated with boundaries that Quick Sight enforces automatically
Master templates and customization
Master analysis templates include standard KPIs, visualizations, branding, and placeholder filters. During customer onboarding, automation generates customer-specific versions from these templates, and the deployment automation framework then automatically generates Quick Sight assets, creating consistency while reducing manual effort.
Row-level security
Row-level security (RLS) restricts data access within each customer’s namespace based on user roles. RLS rules filter data using column values that match user attributes. Row-level security complements namespace isolation by restricting data visibility within each customer’s environment based on user roles and permissions.
Secure dashboard embedding
Dashboard embedding generates secure, time-limited URLs for each user session. Workhuman customized the interactivity options and integrated with their existing authentication system.
Dashboard authoring
Customers users with authoring experience can create customized versions of embedded Quick Sight analyses through a custom-developed process:
- Create a copy of the original analysis using the Quick Sight API
- Define RLS rules for the analysis
- Create a Quick Sight group associated with the given RLS permissions using the API
- Add users to the Quick Sight group
The process verifies that each custom analysis has associated permissions and groups, allowing users to belong to different Quick Sight groups with different RLS permission sets for different analyses.The following image shows the Reporting Admin home page listing all available analyses.
To create a custom analysis, customer users enter the analysis name and select the analysis type in the dialog box. They then choose a pre-created analysis to use as a template.
Static and dynamic asset management
Workhuman’s implementation distinguishes between two types of Quick Sight assets, each managed differently based on their lifecycle and update frequency.
- Static assets: Namespaces, standard analyses, dashboards, folders, and author groups stay relatively stable across customers. Python scripts using the Quick Sight API generate these assets automatically. The automation monitors the status of Quick Sight assets for each client, validates analysis definitions, detects source definition updates, and automatically provisions assets upon detection of new client IDs. Client report data comes from a centralized Amazon Redshift table. During Quick Sight dataset creation, the system applies client-specific filters based on client ID to maintain data isolation.
- Dynamic asset management handles resources associated with Quick Sight analysis authoring experiences—custom analyses created by users and the associated permissions. The frontend application uses the Quick Sight API, so that users can create new analyses and manage their lifecycle. A PostgreSQL database stores RLS permission sets and analysis metadata.
During custom analysis creation, the UI dialog lists available analyses for customization. Users define RLS permissions derived from available columns and values in the dataset. Permissions are inserted into the RLS database and linked to the dataset. The analysis is created, and a new Quick Sight group is created.
The separation between static and dynamic assets means that Workhuman can maintain centralized control over standard templates while providing flexibility for customer-specific customizations.
CI/CD pipeline
The deployment pipeline automates Quick Sight asset updates across three stages. The three-stage approach balances development agility with production stability:
- Development: Analysts create and test new dashboard templates in an isolated environment
- Staging: Templates undergo testing with production-like data to identify issues before customer exposure
- Production: Validated templates deploy to customer namespaces
The pipeline includes approval gates between stages and rollback capabilities in case issues are detected. Terraform deploys infrastructure, while AWS Lambda functions and AWS Batch processes execute Quick Sight asset creation automation.
The following image is the CI/CD pipeline workflow. The architecture demonstrates an automated deployment workflow that integrates GitLab version control with AWS services such as AWS Batch, Amazon Quick Sight, Amazon Lambda, and Amazon Aurora to manage analytics dashboards and reporting.
Data sources
Amazon Redshift serves as the primary data source for reports. Dedicated extract, transform, and load (ETL) workflows create underlying Amazon Redshift tables. To maintain current data, Quick Sight dataset refreshes trigger automatically following Redshift table updates using the refresh dataset API. Amazon CloudWatch metrics track refresh timestamps, data row counts, and processing duration. Dashboards and alerting mechanisms monitor dataset freshness and help verify data reliability.
Customer-facing dashboards
The Workhuman dashboards powered by Quick Sight provide customers with actionable insights from employee recognition data. These dashboards demonstrate the types of analytics Workhuman’s customers can access and customize:
Award Distribution dashboard: The dashboard, shown in the following screenshot, tracks recognition reach across the organization. The metric showing 29.3% of awards given to individuals in different departments highlights recognition’s role in fostering cross-functional collaboration. Organizations can use these metrics to identify gaps in recognition coverage and track program effectiveness over time.
Executive Insights dashboard: The view, shown in the following screenshot, focuses on inter-departmental recognition patterns. In the example shown, 89.29% of employees have received recognition, indicating strong program adoption and shows departments like Operations, Customer Excellence, and Technology actively receiving awards from out
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み