Yellowfin 選定ガイド
Yellowfinは、エンタープライズアナリティクス、および組み込みアナリティクス両方のユースケースで使用され、独自のアナリティクスアプリケーションを構築します。本ガイドを活用することで、Yellowfinが要件に対して技術的に最適であるかどうかを確認できます。
セキュリティモデル
-
ユーザー・UXセキュリティ
こちらの項目では、ユーザーがYellowfin アプリケーション内でどの程度のアクセスが可能か、アプリケーション内で何ができるか、どのようなデータを閲覧することができるかについて言及しています。
機能的セキュリティ
ユーザーロールはどのようにユーザーに割り当てられますか?
Yellowfinでは、ユーザーのロールは、ユーザーがレポートの作成を許可されているか、または読み取り専用に制限されているかどうかなど、アプリケーション内の機能へのアクセスを制御します。ユーザーロールは、Yellowfin 管理コンソールで作成され、100以上のユニークな権限から、特定のニーズに合わせて高度にカスタマイズすることができます。Yellowfinは、読み取り専用の消費者から、完全な権限を持つシステム管理者まで、5つのロールをあらかじめ用意しています。
アプリケーション内にカスタムロールを作成することはできますか?
できます。Yellowfinにはあらかじめ用意されたロールがありますが、独自のロールを作成し、そのロールにシステム機能の任意の組み合わせを割り当てることもできます。
アプリケーション内のロール変更に基づき、ユーザーのロールをプログラムで更新することはできますか?
ロールや他のユーザー属性は、Yellowfinの管理ウェブサービスを使用して、プログラムで変更することができます。ユーザー属性とセキュリティアクセスの同期は、標準的なSSO実装に不可欠なステップです。
さらに詳細な情報は、こちらを参照してください。
コンテンツセキュリティ
コンテンツへのアクセスはどのように管理されますか。Yellowfinでのコンテンツアクセスはどのように設定できますか?
Yellowfinは、コンテンツフォルダーの構造に配置されることで整理され、保護されています。これらのフォルダーは、コンテンツをビジネス部門(財務、セールスなど)ごとに区別するか、エクスペリエンスごとにモジュール化(広範な組織レポートや、日々の管理レポート)する傾向があります。さらに、すべての個別のコンテンツは、これらのフォルダーの上位に独自の権限を重ねることができ、非常に複雑で、きめ細やかなユーザーエクスペリエンスを構築することができます。
ユーザーは個別に、または現在のロール権限やグループのメンバーシップに基づき、コンテンツフォルダーやコンテンツアイテムへのアクセスを割り当てられます。一度アクセスが許可されると、そのコンテンツが非公開に設定され、個別に権限が割り当てられていない限り、そのフォルダーに保存されているコンテンツにアクセスすることができます。
ユーザーをグループ化してエクスペリエンスを共有することはできますか?
多くの企業では、情報へのアクセスは個人単位で管理されるのではなく、組織内でのその人の役割に基づいて管理されます。前述したように、ユーザーの機能へのアクセスは、ユーザーロールに基づいてグループ化することができます。これをコンテンツフォルダーやコラボレーションなどの機能に適用するために、さらに「ユーザーグループ」と呼ばれる機能を採用することで、チーム全体にコンテンツやコラボレーション機能へのアクセスを提供することができるようになります。
より複雑なユースケースでは、ユーザーロールと他のユーザーグループの両方に、特定のユーザーグループへのアクセス権を割り当てることができます。
さらに詳細な情報は、こちらを参照してください。
データセキュリティ
データレイヤーでセキュリティはどのように処理されますか。ロウ(行)やセルレベルでユーザーのデータアクセスを制限できますか?
Yellowfinのデータセキュリティは主にメタデータレイヤーに実装されており、一般的にはいくつかの異なるコンポーネントの組み合わせで構成されています。
- アクセスフィルター:アクセスフィルターは、レポートを閲覧しているユーザーに基づいて必須のフィルターを追加することで、データセットをロウ(行)レベルで制限します。アクセスフィルターは、最初にユーザーとロウ(行)レベルの値のマッピングを定義し、そのマッピングをメタデータレイヤーの適切なカラム(列)に関連づけることで作成されます。
- データソース置換:データソース置換は、クライアント組織と組み合わせたマルチテナント機能で、レポートを実行するときにユーザーがどの組織に所属しているかに基づき、レポートを実行するデータソースを切り替えることができます。現在、クライアントデータを共有スキーマを持つデータベースごとに分離していますが、ひとつのレポートのみを作成したい場合にはこの機能を使用します。
- カラム(列)レベルセキュリティ:Yellowfinの各カラム(列)は、個別に保護されているので、アドホックなレポート作成能力で機密情報が照会されるのを防ぐことができます。
データベース権限を継承できますか?
ユーザーがメタデータレイヤーで閲覧できるデータベーステーブルは、基礎となるデータソース接続で認証されたユーザーの権限に基づきます。これにより、基礎となるデータに一意にアクセスできる個別のデータソースを作成したり、パススルー認証などの高度なアプローチを採用したりできます。
セキュリティ管理の自動化
ユーザーおよびロールの作成から、コンテンツアクセスの委任、分単位の更新や、ロウ(行)レベルセキュリティまで、ユーザーのセキュリティエクスペリエンスの各ステップを、管理webサービスを使用して自動化できます。
これは通常、SSO同期プロセスのコンテキストで行われます。
-
アプリケーションセキュリティ
サードパーティアイデンティティ管理システム
Yellowfinは、webサービス、RESTサービス、APIを使用して、システムおよびサービスインターフェースをどのように認証しますか?
Yellowfinは、外部アイデンティティプロバイダーを使用してユーザーを認証できます。Yellowfinは、LDAP対応プロバイダー経由の認証をネイティブでサポートしています。Yellowfinはまた、SAML対応のアイデンティティプロバイダーとのインターフェースが可能な構築済みSAML Bridgeも提供しています。
カスタム認証アダプターは、SSOおよびユーザープロビジョニングwebサービスのスイートを使用して、Yellowfinでカスタム認証システム、または独自の認証システムをブリッジするように作成できます。
さらに詳細な情報は、こちらを参照してください。
データセキュリティ
Yellowfinでデータが保存されることはありますか?
Yellowfinは、レポートやダッシュボードが閲覧されている間に、一時的にデータをメモリに保存します。デフォルトでは無効になっているその他のオプションとして、レポートやフィルター値をリポジトリデータベースにキャッシュできます。これは、レポートのスナップショットを取得し、ユーザーがドロップダウン一覧からフィルター値を選択できるようにするために使用します。レポートデータキャッシュも、メモリにデータを保存します。これは、設定可能な期間内に再利用するために、レポートクエリーのデータセットを保存します。
転送中のデータを暗号化できますか?
転送中のデータは、暗号化することができます。これには、データソースとYellowfinの間を移動するデータ、およびYellowfinからユーザーのブラウザに移動するレンダリングされたレポートが含まれます。
転送中のデータはどのように保護されていますか?
WebトラフィックはSSLで暗号化することができます。これにより、HTTPSを介して、エンドユーザーのブラウザにデータを安全に配信します。
Yellowfinとデータソース間を移動するデータは、特定のJDBCドライバーによる暗号化や、XML/A用のHTTPS対応リンク、サードパーティ製コネクターなど、いくつかの方法で暗号化できます。ネットワークトラフィックは、VPNリンクで外部から暗号化することもできます。
ユーザーはデータリポジトリに書き戻すことができますか?
書き戻しは、ダッシュボードからの書き戻しを可能にするコードウィジェットを介したり、データを変更したり、レポート内の情報を更新したりできる外部アプリケーションに移動するレポートに埋め込まれたリンクを介して実装することができます。
さらに、読み取り権限のみを持つユーザーとデータベース接続を作成して、接続を書き込みに使用できないようにすることもできます。
パスワード管理
パスワードはYellowfinにどのように保存されますか?
内部ユーザー認証を使用する場合、Yellowfin パスワードはBCryptアルゴリズムを使用して一方向のハッシュで暗号化されます。双方向暗号化を必要とするパスワードは、トリプルDESアルゴリズムで暗号化されます。
LDAP、SAML、webサービスSSOなど、外部ユーザー認証が使用されるインストールでは、ユーザーパスワードをアプリケーションに格納する必要はありません。
ユーザーにパスワードポリシーを設定できますか?
できます。Yellowfinは、長さや含まれる文字、パスワードの再利用ルールなど、パスワードの複雑さに関するルールをサポートします。
Yellowfinはログインに失敗した後のアカウントロックをどのようにサポートしますか?
Yellowfinは、設定可能なログイン試行制限に達した場合に、アカウントのロックをサポートします。
ウェブアプリケーションセキュリティ
着信リクエストに対するアクセス制限はどのように行われますか?
Yellowfin アプリケーションへのウェブリクエストは、アクティブセッションが存在すること、およびセッションに関連づけられたユーザーが要求されたアクションの実行を許可されていることを確認するために問い合わせられます。
カスタムサーブレットフィルターを使用して追加のセキュリティを設定し、リクエストを問い合わせて、カスタムロジックを実行できます。これにより、リクエストの発信元をチェックしたり、ユーザーが有効なSSOセッションを持っていることを確認するなどの機能が提供されます。
Yellowfinは、HTTP参照チェック、設定可能なアプリケーションのエントリーポイント、CSRF保護などの追加機能を提供する、設定可能なサーブレットフィルターをいくつか搭載しています。
発信接続のアクセスはどのように制限されますか?
一般的にYellowfinは、外部データソースに対してのみリクエストを行います。コンテンツレベルでは、アプリケーション内で様々なソースへのアクセスを構成できます。
ネットワークレベルでは、必要な外部リソースへのアクセスのみを許可するように発信ファイアウォールを構成する必要があります。
Yellowfinはどのようにして悪意のあるコード注入から環境を保護していますか?
コード公開を可能にするYellowfin機能はデフォルトで無効になっており、特定のユーザーに対して有効にする必要があります。Yellowfinの入力は、セキュリティテストの一環として、クロスサイトスクリプティング(XSS)課題についてテストされます。