30日間の無料評価版をお試しいただけます。

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

概要

Yellowfin 9.6には新しいSAML インターフェースが実装されており、(OktaやAuth0など) アイデンティティプロバイダーにより開始されるフローにおいて、セキュアな接続のセットアップや維持がより簡単になりました。新しい設定は、従来のSAML bridge アプリケーションの設定とは若干異なります。なお、従来のSAML bridge アプリケーションは、新しく簡素化されたインターフェースでは提供されない追加機能 (サービスプロバイダーが開始するフローなど) を実装したい場合に、依然として利用することができます。

SAMLは、Security Assertion Markup Languageの頭文字を取ったものであり、アイデンティティプロバイダー (IdP) とサービスプロバイダー (SP) の2つのエンティティ間で、アイデンティティデータをセキュアに転送するためのXMLベースのオープンスタンダードです。アイデンティティプロバイダーの役割は認証を行うことで、有効な場合は、ユーザーのアイデンティティおよび認可レベルをサービスプロバイダーに渡します。サービスプロバイダーの役割は、アイデンティティプロバイダーを信頼し、要求されたリソースへのユーザーのアクセスを許可することです。

署名付きリクエスト

Yellowfinは、セキュリティを強化するために、アイデンティティプロバイダーからの署名付きリクエストを管理することができます。この機能はデフォルトで有効になっていますが、いくつかの設定を必要とします。Yellowfinが受信する署名付きリクエストを復号できるようにするために、アイデンティティプロバイダーの署名付き証明書および署名付きアルゴリズムを提供しなくてはいけません。アイデンティティプロバイダーは、これらの値を構成内で明確にする必要があります。

暗号化されたリクエスト

Yellowfinは、さらにセキュリティを強化するために、アイデンティティプロバイダーからの暗号化されたリクエストを管理するよう設定することができます。これは、署名付きリクエストの設定とは別に有効化することができます。また、Yellowfinに渡すSSLキーペアを生成しなくてはいけません (こちらのwikiページに記載された表から、onelogin.saml2.sp.x509certおよびonelogin.saml2.sp.privatekeyを参照してください)。これは、システムにより提供されません。これらを取得したら、Yellowfinの対応する設定項目に秘密鍵と証明書を提供するとともに、アイデンティティプロバイダーでこの設定を行い、その設定内でSSL暗号化証明書を設定する必要があります。

この設定には、PKCS#8 BEGIN PRIVATE KEY形式が必要です。書式が異なる場合は、変換しなくてはいけません。


SAML実装の準備

YellowfinにSAMLを設定する前に、対応しなくてはいけない項目を十分理解していることを確認します。以下の表では、各項目に関する詳細を示します。

IdPは、以下の項目を必要とします。

パラメーター説明必須かどうかデフォルト
サービスプロバイダーSSO URL IdPが、Yellowfin ログインページに到達するために使用するSSOエンドポイントURLです。これは通常、レポート外部アクセス時BaseURLの後に続く/SAMLLogin.i4を付けたものです。必須
ext_base_url/SAMLLogin.i4
オーディエンス制限これは、「サービスプロバイダーエンティティId」または「発行者Id」と呼ばれることもあります。これは、Yellowfin SAML サービスの識別子です。これは通常、レポート外部アクセス時BaseURLの後に続く/SAMLMetadata.i4を付けたものです。必須
ext_base_url/SAMLMetadata.i4
暗号証明書この証明書は、IdPがYellowfinに向かうトラフィックを暗号化するために使用します。前述したように、独自のSSLキーペアを生成し、この項目に暗号化証明書を提供する必要があります。受信リクエストの暗号化を有効にしている場合は必須なし


Yellowfinは、以下の項目を必要とします。

パラメーター説明必須かどうかデフォルト
アイデンティティプロバイダーエンティティId

「オーディエンスURl」、または「オーディエンス制限」と呼ばれることもあります。これは、サービスプロバイダーのエンティティを特定します。
これは一般的に、次のような形式になります。

<your_idp_domain>/<sp_id>

例えば、

www.okta.com/ekti172b2ac0843Xf
必須なし
アイデンティティプロバイダーSSO URLSAMLアイデンティティプロバイダーのSSO エンドポイントURLであり、 IdPは独自の設定ページ内で明確に表示しなくてはいけません。
これは、次のような形式になります。
<your_sso_domain>/<path_to_sp_sso_login>

例えば、

login.mybusiness.com/app/yellowfin1/ekti172b2ac0843Xf/sso

必須なし
アイデンティティプロバイダー証明書この証明書は、アイデンティティプロバイダーからのリクエストを復号化します。アイデンティティプロバイダーは、構成内でこの証明書を明確にしなくてはいけません。必須なし
受信証明書検証アルゴリズムこのアルゴリズムは、受信するアイデンティティプロバイダー証明書を検証します。受信する証明書に合わせて、3つの異なるハッシュ長から一致するものを選択します。
  • SHA256
  • SHA384
  • SHA512
必須SHA256
受信するリクエストの暗号化こちらのトグルは、受信するSAMLリクエストが、アイデンティティプロバイダーにより暗号化されるかどうかを示します。有効にすることで、より強力なセキュリティを提供します。トグル無効
暗号化秘密鍵この秘密鍵は、アイデンティティプロバイダーから受信する暗号化されたSAMLリクエストを復号化します。前述したように、独自のSSLキーペアを生成し、こちらの項目に秘密鍵を提供する必要があります。受信するリクエストの暗号化を有効にしている場合は必須なし
暗号化証明書この証明書は、アイデンティティプロバイダーから受信する暗号化されたSAMLリクエストを検証します。前述したように、独自のSSLキーペアを生成し、こちらの項目に暗号化証明書を提供しなくてはいけません。受信するリクエストの暗号化を有効にしている場合は必須なし
ユーザーId属性こちらの項目は、Yellowfin ユーザーIDを保持します (システム構成に応じて、これは通常ユーザー名、または電子メールアドレスになります)。必須なし
クライアント参照Id属性このパラメーターは、ユーザーが所属するクライアント組織のクライアント参照Idの位置を提供します。通常、関連するクライアント組織を持たないYellowfin インスタンスでは、空欄、または「1」に設定します。必須ではないなし
SSO エントリーオプションこれは、セッションパラメーターのカンマ区切りの一覧であり、ユーザーを自動的に特定のページやログインに誘導したい場合に使用します。ユーザーをデフォルトのエントリーページに誘導する場合は、空欄のままにします。必須ではない

なし

カスタムセッションパラメーター属性こちらの項目は、SAML SSOが作成したセッションに渡すカスタム変数の値を保持します。渡すカスタムデータがない場合は、空欄のままにします。必須ではないなし
新規ユーザーのオンボーティングこちらのトグルを有効にすることで、SAMLは自動的に新規ユーザーをプロビジョニングします。新規ユーザーをプロビジョニングしない場合は、こちらのトグルを有効にしてはいけません。必須ではない無効


プロバイダーは多数存在し、それぞれに異なる設定プロセスがあるため、こちらのページではアイデンティティプロバイダーの設定方法は紹介しません。今回は、Yellowfin ユーザーにSAMLを実装する場合に必要な基礎的な内容について網羅します。

SAMLの設定

SAML プロバイダーを設定するには、以下の手順に従います。

  1. Yellowfin レフトサイドメニューから、管理をクリックし、システム構成を選択します。
  2. 認証タブをクリックし、認証方法項目へ移動します。
  3. SAML シングルサインオンのトグルをクリックし、有効にします。
  4. SAML 設定という新しい項目が表示されます。こちらから、SAML SSOに関連するすべての設定を行います。
  5. SAML 設定をクリックして、項目を展開します。
  6. 前述の表を参考にして、必要な項目に値を入力します。
  7. 前述の表を参考にして、必要に応じて、必須ではないその他の項目に値を入力します。(以下のイメージを参照してください)

SAML オンボーディングの有効化

Yellowfinは、システム内に存在しないユーザーの新規ユーザーアカウントを作成するよう設定することができます。この機能は「オンボーディング」と呼ばれ、SAMLリクエストから新規ユーザーを作成するために必要な情報と合わせて、Yellowfinにいくつかの追加設定を提供しなくてはいけません。以下のパラメーターはすべて、上記の他の属性マッピングパラメーターと一致するように、アイデンティティプロバイダーとYellowfinで設定・構成する必要があります。

First Name

このパラメーターは、新規ユーザーの名を取得するために、SAML属性の名前を定義します。

Last Name

このパラメーターは、新規ユーザーの姓を取得するために、SAML属性の名前を定義します。

Email

このパラメーターは、新規ユーザーの電子メールアドレスを取得するために、SAML属性の名前を定義します。

Language

このパラメーターは、新規ユーザーの言語コードを取得するために、SAML属性の名前を定義します。SAML応答のコンテンツは、管理コンソールの地域設定で既に設定された既存の言語コードと一致しなくてはいけません。言語コードは標準的なISO形式で、言語を2文字で表し、必要に応じてアンダースコアとさらなる2文字で国を表します。

Password

このパラメーターは、新規ユーザーのパスワードを取得するために、SAML属性の名前を定義します。こちらを空欄にすると、新規ユーザーにはランダムなパスワードが作成されます。

Role

このパラメーターは、新規ユーザーのロールを取得するために、SAML属性の名前を定義します。こちらを省略した場合、新規ユーザーにはデフォルトロールが割り当てられます。SAML応答のコンテンツは、管理コンソールで既に設定された既存のロールコードと一致しなくてはいけません。

Fallback Role

こちらのドロップダウンリストには、新規ユーザーのプロビジョニング時に、Role Attribute項目に入力したロールが利用できない場合に、フォールバックするロールを選択する方法を提供します。こちらを省略した場合、新規ユーザーにはデフォルトロールが割り当てられます。

SAML オンボーディングを設定するには、以下の手順に従います。

前述の手順で説明したのと同じ設定画面にいることを確認します。

新規ユーザーのオンボーディングトグルをクリックして有効化します。

前述の表を参考にして、必要な項目に値を入力します。

前述の表を参考にして、必要に応じて、必須ではないその他の項目に値を入力します。

(以下のイメージを参照してください)

CustomParametersおよびParametersを使用したデータのカスタマイズ

SSO web サービスの呼び出しで、既にCustomParametersおよびParameters オプションを使用している場合は、SSO エントリーオプションおよびSSO カスタムセッション変数属性項目を使用して、これらをSAMLに追加することもできます。

SSO エントリーオプション

SSO エントリーオプション項目は、ユーザーが SAML経由でログインした後に生成されるYellowfin セッションで利用できる機能を設定することができます。これらは、「CustomParameters」オプションを使用してweb サービスのSSO ログインに設定できるオプションと同様です。これは属性ベースではないため、すべてのユーザーに適用されます。

例えば、ユーザーのログイン時に、お気に入りに登録したレポートやダッシュボード、ストーリーが表示されるようにしたい場合、TIMELINEおよびDISABLEHEADER パラメーター (または、ログインセッションオプションの定義ページに表示されている任意のパラメーター) を使用することができます。

今回は、こちらの例を使用して説明します。

YellowfinのSAML 設定項目で、SSO エントリーオプション項目に移動します。

使用する任意のパラメーターを、カンマ区切りで入力します。

今回の例では、ENTRY=TIMELINE,DISABLEHEADER=TRUEを使用します。

保存ボタンをクリックし、変更内容を保存します。

JWT トークンを使用してログインし、指定したログインオプションが表示されていることを確認することで、変更内容が機能していることを確認することができます。

カスタムセッションパラメーター属性

カスタムセッションパラメーター属性項目は、ユーザーが SAML経由でログインした後に生成されるYellowfin セッションに、カスタム値を渡すことができます。これらは、「Parameters」オプションを使用してweb サービスのSSO ログインに渡すことのできるオプションと同様です。これは属性ベースのため、個別のユーザーに適用することができます。

この項目を使用するためには、独自のJava プラグインを記述しなくてはいけません。Yellowfin セッションには、任意の数の変数を渡すことができるので、カスタム要件にさらなる柔軟性を提供します。

例えば、Yellowfinの一般的なヘッダーを置き換えるために、カスタムヘッダーを実装したい場合、この項目にJSON配列を配置することで、ヘッダーは情報を取得し、ページの上部に表示することができます。これには、ロールやプロフィール写真などのユーザー固有の詳細や、ユーザーが作業をしていた最新の3つのレポートへのリンクなどを含めることができます。

Yellowfinでは、これらの詳細をカスタムセッションパラメーター属性項目に追加するだけです。






  • No labels