...
Yellowfinは、セキュリティを強化するために、アイデンティティプロバイダーからの署名付きリクエストを管理することができます。この機能はデフォルトで有効になっていますが、いくつかの設定を必要とします。Yellowfinが受信する署名付きリクエストを復号できるようにするために、アイデンティティプロバイダーの署名付き証明書および署名付きアルゴリズムを提供しなくてはいけません。アイデンティティプロバイダーは、これらの値を構成内で明確にする必要があります。
Anchor EncryptedRequests EncryptedRequests
EncryptedRequests | |
EncryptedRequests |
暗号化されたリクエスト
Yellowfinは、さらにセキュリティを強化するために、アイデンティティプロバイダーからの暗号化されたリクエストを管理するよう設定することができます。これは、署名付きリクエストの設定とは別に有効化することができます。また、Yellowfinに渡すSSLキーペアを生成しなくてはいけません (こちらのwikiページに記載された表から、onelogin.saml2.sp.x509certおよびonelogin.saml2.sp.privatekeyを参照してください)。これは、システムにより提供されません。これらを取得したら、Yellowfinの対応する設定項目に秘密鍵と証明書を提供するとともに、アイデンティティプロバイダーでこの設定を行い、その設定内でSSL暗号化証明書を設定する必要があります。
...
YellowfinにSAMLを設定する前に、対応しなくてはいけない項目を十分理解していることを確認します。以下の表では、各項目に関する詳細を示します。
IdPは、以下の項目を必要とします。
パラメーター | 説明 | 必須かどうか | デフォルト |
サービスプロバイダーSSO URL | IdPが、Yellowfin |
ログインページに到達するために使用する Single Sign Onエンドポイント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は、以下の項目を必要とします。
パラメーター | 説明 | 必須かどうか | デフォルト | ||
IdPのEntityIdアイデンティティプロバイダーのEntityId | 「オーディエンスURl」、または「オーディエンス制限」と呼ばれることもあります。これは、サービスプロバイダーのエンティティを特定します。 <your_idp_domain>/<sp_id> 例えば、 www.okta.com/ekti172b2ac0843Xf | 必須 | なし | ||
IdPのSSO アイデンティティプロバイダーのSSO URL | SAMLアイデンティティプロバイダーのSSO SAMLアイデンティティプロバイダーの Single Sign On エンドポイントURLであり、 IdPは独自の設定ページ内で明確に表示しなくてはいけません。 これは、次のような形式になります。 <your_sso_domain>/<path_to_sp_sso_login> 例えば、 login.mybusiness.com/app/yellowfin1/ekti172b2ac0843Xf/sso | 必須 | なし | IdPの証明書 | この証明書は、アイデンティティプロバイダーからのリクエストを復号化します。アイデンティティプロバイダーは、構成内でこの証明書を明確にしなくてはいけません。 |
アイデンティティプロバイダーSLO URL | SAML ID プロバイダのシングル・ログアウト・エンドポイントの URL であり、IdP は自身の設定ページに明確に表示する必要があります。このオプションは、YellowfinにSLOのレスポンスをどこに向けるかを指示します。 次のような形式になります。 <your_slo_domain>/<path_to_idp_slo_logout> 例えば、 login.mybusiness.com/app/yellowfin1/ekti172b2ac0843Xf/slo | 必須 | なし | ||
アイデンティティプロバイダー SLO URL 回答 | これは、IdpのSLO回答のエンドポイントとSLOリクエスト用のエンドポイントが異なる場合のみ必要となるオプションのパラメーターです。何も入力されていない場合、YellowfinはアイデンティティプロバイダーSLO URLフィールドに入力されたURLを使います。 これは、次のような形式になります。 <your_slo_domain>/<path_to_idp_slo_logout_response> 例えば、 login.mybusiness.com/app/yellowfin1/ekti172b2ac0843Xf/sloreponse | 任意 | なし | ||
アイデンティティプロバイダー証明書 | この証明書は、アイデンティティプロバイダーからのリクエストを復号化します。アイデンティティプロバイダーは、この証明書を設定で明らかにする必要があります。 | 必須 | なし | ||
証明書の署名アルゴリズム | このアルゴリズムは、受信するアイデンティティプロバイダー証明書を検証します。受信する証明書に合わせて、3つの異なるハッシュ長から一致するものを選択します。
| 必須 | SHA256 | ||
リクエストの暗号化 | こちらのトグルは、受信するSAMLリクエストが、アイデンティティプロバイダーにより暗号化されるかどうかを示します。有効にすることで、より強力なセキュリティを提供します。 | トグル | 無効 | ||
暗号化の秘密鍵 | この秘密鍵は、アイデンティティプロバイダーから受信する暗号化されたSAMLリクエストを復号化します。前述したように、独自のSSLキーペアを生成し、こちらの項目に秘密鍵を提供する必要があります。 | リクエストの暗号化を有効にしている場合は必須 | なし | ||
暗号化の証明書 | この証明書は、アイデンティティプロバイダーから受信する暗号化されたSAMLリクエストを検証します。前述したように、独自のSSLキーペアを生成し、こちらの項目に暗号化証明書を提供しなくてはいけません。 | リクエストの暗号化を有効にしている場合は必須 | なし | ||
サービスプロバイダー秘密鍵 | この秘密鍵は、アイデンティティプロバイダーから受信する暗号化されたSAMLリクエストを復号化します。このパラメーターを有効にする場合、独自のSSLキーペアを生成し、秘密鍵をここで提供する必要があります。 これは任意ではありますが、Yellowfinがリクエストにサインするために、この秘密鍵を提供することをお勧めします。 | 任意 | なし | ||
サービスプロバイダー証明書 | この証明書はサービスプロバイダーのアイデンティティを確認し、アイデンティティプロバイターがサービス間の通信を暗号化することを可能にします。このパラメーターを有効にする場合、独自のSSLキーペアを生成し、ここで暗号化証明書を提供する必要があります。 これは任意ではありますが、Yellowfinがリクエストにサインするために、この秘密鍵を提供することをお勧めします。 | 任意 | なし | ||
シグネチャーアルゴリズム | このアルゴリズムは、受信したアイデンティティプロバイダーの証明書を検証します。ハッシュの長さは3種類から選べますので、受信する証明書の種類に合わせてお選びください。
どれか分からない場合は、デフォルトを使用してください。 | 必須 | RSA-SHA256 | ||
ダイジェストアルゴリズム | このアルゴリズムは、受信したアイデンティティプロバイダーの証明書を検証します。ハッシュの長さは3種類から選べますので、受信する証明書の種類に合わせてお選びください。
どれか分からない場合は、デフォルトを使用してください。 | 必須 | SHA256 | ||
受信したリクエストの暗号化 | このトグルは、受信する SAML リクエストを ID アイデンティティプロバイダーが暗号化するかどうかを決定します。セキュリティを高めるには、スイッチをオンにしてください。 | トグル | |||
ユーザーID 属性 | こちらの項目は、Yellowfin ユーザーIDを保持します (システム構成に応じて、これは通常ユーザー名、または電子メールアドレスになります)。 | 必須 | なし | ||
クライアント参照ID 属性 | このパラメーターは、ユーザーが所属するクライアント組織のクライアント参照Idの位置を提供します。通常、関連するクライアント組織を持たないYellowfin インスタンスでは、空欄、または「1」に設定します。 | 必須ではない | なし | SSOエントリーオプション | |
これは、セッションパラメーターのカンマ区切りの一覧であり、ユーザーを自動的に特定のページやログインに誘導したい場合に使用します。ユーザーをデフォルトのエントリーページに誘導する場合は、空欄のままにします。SSOエントリーオプション属性 | このパラメータには、SAML SSOプロセスで作成されたセッションに渡されるカンマ区切りのWebサービスセッションパラメータ値を保持するSAML属性を指定します。ユーザーをデフォルトの入力ページに誘導する場合は、空白にします。詳細および例については、「CustomParameters と Parameters でデータをカスタマイズする」セクションを参照してください。 | 必須ではない | なし | ||
カスタムセッションパラメーター 属性こちらの項目は、SAML SSOが作成したセッションに渡すカスタム変数の値を保持します。渡すカスタムデータがない場合は、空欄のままにします。 | このパラメーターは、SSO Webサービスの呼び出しの時に、パラメーターオプションを、SAML SSLプロセスで作成されるセッションに渡すことができます。 | 必須ではない | なし | ||
新規ユーザー作成 | こちらのトグルを有効にすることで、SAMLは自動的に新規ユーザーをプロビジョニングします。新規ユーザーをプロビジョニングしない場合は、こちらのトグルを有効にしてはいけません。 | 必須ではない | 無効 |
...
- Yellowfin レフトサイドメニューから、管理をクリックし、システム構成を選択します。
- 認証タブをクリックし、認証方法項目へ移動します。
- SAML シングルサインオンのトグルをクリックし、有効にします。
SAML 設定という新しい項目が表示されます。こちらから、SAML SSOに関連するすべての設定を行います。
SAML設定をクリックして、項目を展開します。 - 前述の表を参考にして、必要な項目に値を入力します。:IdPのEntityId、IdPのSSO URL、IdPの証明書URL、Idp SLO URL、IdPの証明書、シグネチャーアルゴリズム、ダイジェストアルゴリズム、ユーザーアイデンティティ属性
- 前述の表を参考にして、必要に応じて、必須ではないその他項目に値を入力します(以下のイメージを参照してください)。
新規ユーザー作成の有効化
Yellowfinは、システム内に存在しないユーザーの新規ユーザーアカウントを作成するよう設定することができます。この機能は「オンボーディング」と呼ばれ、SAMLリクエストから新規ユーザーを作成するために必要な情報と合わせて、Yellowfinにいくつかの追加設定を提供しなくてはいけません。以下のパラメーターはすべて、上記の他の属性マッピングパラメーターと一致するように、アイデンティティプロバイダーおよびYellowfinで設定・構成する必要があります。
...
必須ではない
...
新規ユーザー作成を設定するには、以下の手順に従います。
...
CustomParametersおよびParametersを使用したデータのカスタマイズ
SSO web サービスの呼び出しで、既にCustomParametersおよびParameters オプションを使用している場合は、SSO エントリーオプションおよびSSO カスタムセッションパラメーター 属性項目を使用して、これらをSAMLに追加することもできます。
SSO エントリーオプション
SSO エントリーオプション項目は、ユーザーが SAML経由でログインした後に生成されるYellowfin セッションで利用できる機能を設定することができます。これらは、「CustomParameters」オプションを使用してweb サービスのSSO ログインに設定できるオプションと同様です。これは属性ベースではないため、すべてのユーザーに適用されます。
例えば、ユーザーのログイン時に、お気に入りに登録したレポートやダッシュボード、ストーリーが表示されるようにしたい場合、TIMELINEおよびDISABLEHEADER パラメーター (または、ログインセッションオプションの定義ページに表示されている任意のパラメーター) を使用することができます。今回は、こちらの例を使用して説明します。
...
JWT トークンを使用してログインし、指定したログインオプションが表示されていることを確認することで、変更内容が機能していることを確認することができます。
カスタムセッションパラメーター 属性
カスタムセッションパラメーター属性項目は、ユーザーが SAML経由でログインした後に生成されるYellowfin セッションに、カスタム値を渡すことができます。これらは、「Parameters」オプションを使用してweb サービスのSSO ログインに渡すことのできるオプションと同様です。これは属性ベースのため、個別のユーザーに適用することができます。
この項目を使用するためには、独自のJava プラグインを記述しなくてはいけません。Yellowfin セッションには、任意の数の変数を渡すことができるので、カスタム要件にさらなる柔軟性を提供します。
例えば、Yellowfinの一般的なヘッダーを置き換えるために、カスタムヘッダーを実装したい場合、この項目にJSON配列を配置することで、ヘッダーは情報を取得し、ページの上部に表示することができます。これには、ロールやプロフィール写真などのユーザー固有の詳細や、ユーザーが作業をしていた最新の3つのレポートへのリンクなどを含めることができます。
...