USER MANUALS


Denodo Security Token の構成ファイル

Denodo Security Token はすべての Denodo Platform インストール環境とともに配布されます。サポートされている外部 ID プロバイダーによるシングルサインオン認証を有効にするには、以下のいずれかの方法でこのトークンを構成します。

  1. インストールされている Solution Manager を使用して、具体的な構成のページ の手順を実行します。

  2. Solution Manager を使用していない場合は (Denodo Express を使用しているか、AWS Maketplace または Azure Marketplace から Denodo を購入した場合)、 <DENODO_HOME>/conf/denodo-sso/SSOTokenConfiguration.properties にある構成ファイルを編集する必要があります。以降のセクションで、構成できる設定について説明します。

一般的な設定

authorization.token.enabled: トークン承認機能を有効または無効にします。"false" の場合、トークンによるシングルサインオンフローは使用できません。

authorization.type: 委任認証の種類を示します。指定できる値は、 samloauthopenid です。それぞれの種類に固有の構成モジュールセクションがあります。これらのモジュールは、対応するプロパティ {authorization.type}.enabled=true (たとえば、SAML 認証の場合は saml.enabled=true) によって有効にします。この対応するプロパティの値は、authorization.type の値と一致している必要があります。

authorization.token.excludeOriginal: Idp によって送信された元のトークンを最終的に生成されるトークンにアタッチするかどうかを有効または無効にします。デフォルト値は "true" であり、元のトークンは除外されます。アタッチされる元のトークンは、認証委任タイプによって異なります。

  • SAML:SAMLResponse を使用します。

  • OAuth:access_token を使用します。

  • OpenID Connect:id_token を使用します。

forwardedHeader.enabled (オプション): クライアントで指定されたプロトコルやアドレスを反映するために Forwarded ヘッダーと X-Forwarded-* ヘッダーの使用を有効または無効にします。

クライアントが HTTP プロキシやロードバランサーを経由して Denodo Security Token サーバーに接続する場合に役立ちます。

firewall.hostsAllowed (オプション、 更新プログラム 8.0u20240306 から利用可能): Host ヘッダーで許可するドメインをホワイトリストに追加します。Host ヘッダーインジェクションのリスクを軽減します。サーバーのホスト名またはロードバランサーホスト名を使用して構成します。

logout.redirect-url (オプション、 更新プログラム 8.0u20230301 から利用可能): Web ツールからログアウトする際に SSO から切断するためのリダイレクト URL を構成します。

このプロパティは、ログアウトする Web アプリケーションから ID プロバイダーシステムのログアウト URL にリダイレクトされることを意味します。この URL で、SSO からログアウトした後に別の URL にリダイレクトするクエリパラメータを使用できる場合、このパラメータの値に ${loginPage} を指定してください。Keycloak アイデンティティプロバイダーの場合の例を以下に示します。

logout.redirect-url=http://<host>:<port>/auth/realms/<realm>/protocol/openid-connect/logout?redirect_uri=${loginPage}

この ${loginPage} を適切な値で置き換えるには、Denodo の各 Web コンポーネントの構成ファイルで sso.loginPage プロパティに独自のログインページを定義する必要があります。

  • Data Catalog (<DENODO_HOME>/conf/data-catalog/DataCatalogBackend.properties):http://denodo-server.acme.com:9090/denodo-data-catalog/?uri=//localhost:9999#/

  • Design Studio (<DENODO_HOME>/conf/design-studio/DesignStudioBackend.properties<SOLUTION_MANAGER_HOME>/conf/design-studio/DesignStudioBackend.properties):http://denodo-server.acme.com:9090/denodo-design-studio/?uri=//localhost:9999/admin#/

  • Diagnostic & Monitoring Tool (<DENODO_HOME>/resources/apache-tomcat/webapps/diagnostic-monitoring-tool/WEB-INF/classes/ConfigurationParameters.properties<SOLUTION_MANAGER_HOME>/resources/apache-tomcat/webapps/diagnostic-monitoring-tool/WEB-INF/classes/ConfigurationParameters.properties):http://denodo_solution_manager.acme.com:19090/diagnostic-monitoring-tool/

  • Scheduler Administration Tool (<DENODO_HOME>/conf/scheduler-webadmintool/ConfigurationParameters.properties, <SOLUTION_MANAGER_HOME>/conf/scheduler-webadmintool/ConfigurationParameters.properties): http://denodo-server.acme.com:9090/webadmin/denodo-scheduler-admin/?uri=//localhost:8000#/

  • Solution Manager Administration Tool (<SOLUTION_MANAGER_HOME>/conf/solution-manager-web-tool/SMAdminConfiguration.properties):http://denodo_solution_manager.acme.com:19090/solution-manager-web-tool/

    注釈

    リダイレクトは現在のブラウザーウィンドウで実行されます。ユーザーが SSO で複数のアプリケーションで認証されている場合、ログアウトは、ログアウトが実行されたアプリケーションでのみ実行されます。残りのアプリケーションでは、セッションはアクティブのまま保持されます。

トークン署名資格情報

authorization.token.signing.kid : 使用する暗号化キーの識別に使用するキー ID。サーバーの初回起動時に自動生成されます。

authorization.token.signing.auto-generated : キーストアがサーバーの初回起動時に自動生成されたかどうかを示します。

authorization.token.signing.store-file : トークンに署名するためのキーペアが格納されているキーストアファイルの場所。このキーストアファイルには、以下の前提条件があります。

  • 1 つのキーペアのみを格納

  • キーペアでは RSA アルゴリズムを使用

authorization.token.signing.store-pass : キーストアのパスワード。格納されているキーペアも保護されている場合、そのキーペアでも同じパスワードを使用する必要があります。

システムによって自動生成された資格情報の簡単な例 :

authorization.token.enabled=true
authorization.token.signing.auto-generated=true

認証モジュール

委任できる認証の種類は、 SAMLOAuth 、および OpenID Connect の 3 つです。以下のセクションで、各認証モジュールを構成する方法を詳しく説明します。

SAML 2.0 の委任

saml.enabled : SAML 認証モジュールを有効/無効にします。

saml.use-general-signing : 「 トークン署名資格情報 」に示されている一般的なキーストアを使用して SAMLRequest に署名します。

saml.sp-entityid : SAML サービスプロバイダーのエンティティ ID を示します。

saml.idp-metadata-url : URL で表した SAML ID プロバイダーのメタデータを示します。

注釈

この URL が「https」で、このサービスの SSL 証明書が Verisign や Comodo といった既知の証明機関 (CA) によって署名されていない場合、その SSL 証明書をサーバーの TrustStore に追加する必要があります。これを実行する方法については、『インストールガイド』の「 データソースの証明書のインポート (SSL/TLS 接続) 」を参照してください。証明書を追加しておかないと、サーバーがこのサービスに接続した際に、証明書が信頼されていないため、接続が失敗します。

saml.idp-metadata-file : ファイルで表した SAML ID プロバイダーのメタデータを示します。URL で表した SAML ID プロバイダーのメタデータにアクセスできない場合に便利です。

注釈

ID プロバイダーのメタデータ saml.idp-metadata-url または saml.idp-metadata-file では、いずれか 1 つの設定のみを使用してください。

saml.extract-role.delegate : アサーションから役割を抽出するのを避け、Virtual DataPort Server での LDAP 検索に役割を委任します。この場合、Virtual DataPort Server に グローバル LDAP 認証 が必要です。デフォルト値は "false" です。

saml.extract-role.field : 役割の抽出に使用する SAML アサーションの属性の名前。たとえば、以下のコードは、controller の役割を表す Group という名前の SAML 属性を示しています。

<Attribute Name="Group" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
  <AttributeValue>controller</AttributeValue>
</Attribute>

saml.sp-BaseEntityUrl: SAML エンドポイントの構築元となるベース URL。プロトコル、サーバー、ポート、コンテキストパスを含む URL である必要があります。このプロパティを指定しない場合、最初の HTTP リクエストの値に基づいて自動的に生成されますが、明示的に値を指定することをお勧めします (たとえば、 https://internal-load-balancer.com/sso/sso-saml )。

saml.load-balancer.*: ロードバランサーまたはリバースプロキシの背後で使用されている SAML を構成するためのオプションのプロパティ。以下のプロパティにロードバランサーのデータを入力します。

saml.load-balancer.scheme: ロードバランサーのスキーム。http または https を入力します。

saml.load-balancer.hostname: ロードバランサーのサーバー名。internal-load-balancer.com などになります。

saml.load-balancer.port: ロードバランサーのポート。

saml.load-balancer.path: ロードバランサーのコンテキストパス。/sso のようにスラッシュで開始する必要があります。

saml.load-balancer.includeServerPortInRequestURL: true の場合、ロードバランサーのリクエスト URL を作成するときにこのポートが使用されます。

注釈

saml.load-balancer.* プロパティは、更新プログラム 8.0u20230914 で削除されました。代わりに forwardedHeader.enabled プロパティを使用してください。

saml.authRequestSigningAlgorithm: Idp への認可リクエストに署名するために使用するアルゴリズムの名前を構成するオプションパラメータ。指定できる値は、 SHA1withRSAMD5withRSASHA224withRSASHA256withRSASHA384withRSASHA512withRSA です。http://www.w3.org/2000/09/xmldsig#rsa-sha1 のような値も有効です。

重要

ダウンロードする XML サービスプロバイダーのメタデータエンドポイントは /sso/sso-saml/metadata です。このメタデータは、外部 ID プロバイダーに Denodo SSO Server を登録する際に便利です。

OAuth 2.0 の委任

oauth.enabled : OAuth 認証モジュールを有効/無効にします。

oauth.defaultProcessUri : アプリケーションのコールバックエンドポイントの相対パス (URI)。ID プロバイダーはこの URI に承認応答を送信します。フルパス (URL) は、Idp (通常、リダイレクト URI と呼ばれる) に登録されている URL に一致する必要があります。デフォルト値は、 /sso-oauth/oauth-login です。

oauth.redirectUri: Oauth 認可サーバーに事前登録されている完全なリダイレクト URI を指定するために使用するオプションパラメータ。Denodo Security Token サーバーがプロキシまたはロードバランサーの背後にある場合に、その URL を正しく構成するのに役立ちます。たとえば、https://internal-load-balancer.com/sso/sso-oauth/oauth-login のように指定します。

oauth.clientId : アプリケーションの登録プロセスで生成されるクライアント ID。

oauth.clientSecret : アプリケーションの登録プロセスで生成されるクライアントシークレット。

oauth.userAuthorizationUri : 認証と同意を要求します。承認コードの取得に使用します。

oauth.accessTokenUri : アクセストークン用の承認コードを交換します。

oauth.issuer : 承認サーバーの発行者 ID。

oauth.jwkUrl : アクセストークンの真正性の検証に使用するパブリックサーバーの JSON Web Key (JWK) を取得するための URL。

oauth.scopes : OAuth 承認サーバーに要求を送信する際のコンマ区切りのスコープ。

oauth.userNameClaim (オプション、 更新プログラム 8.0u20230301 から利用可能): ユーザー名の取得に使用される要求。デフォルト値は sub です。

oauth.jwsAlgorithm (オプション、 更新プログラム 8.0u20240306 から利用可能):JSON Web Algorithms (JWA) 仕様で定義されている暗号アルゴリズム。JWT 形式の署名入りアクセストークンを検証するために使用されます。

oauth.extract-role.delegate : アクセストークンから役割を抽出するのを避け、Virtual DataPort Server での LDAP 検索に役割を委任します。この場合、Virtual DataPort Server に グローバル LDAP 認証 が必要です。デフォルト値は "false" です。

oauth.extract-role.field : アクセストークンから役割を取得するために要求の名前が抽出されます。

OpenID Connect の委任

openid.enabled : OpenID Connect 認証モジュールを有効/無効にします。

openid.defaultProcessUri : アプリケーションのコールバックエンドポイントの相対パス (URI)。ID プロバイダーはこの URI に承認応答を送信します。フルパス (URL) は、Idp (通常、リダイレクト URI と呼ばれる) に登録されている URL に一致する必要があります。デフォルト値は、 /sso-openid/openid-login です。

openid.redirectUri: 認可サーバーに事前登録されている完全なリダイレクト URI を指定するために使用するオプションパラメータ。Denodo Security Token サーバーがプロキシまたはロードバランサーの背後にある場合に、その URL を正しく構成するのに役立ちます。たとえば、https://internal-load-balancer.com/sso/sso-openid/openid-login のように指定します。

openid.clientId : アプリケーションの登録プロセスで生成されるクライアント ID。

openid.clientSecret : アプリケーションの登録プロセスで生成されるクライアントシークレット。

openid.userAuthorizationUri : 認証と同意を要求します。承認コードの取得に使用します。

openid.accessTokenUri : アクセストークン用の承認コードを交換します。

openid.issuer : 承認サーバーの発行者 ID。

openid.jwkUrl : ID トークンの真正性の確認に使用するパブリックサーバーの JSON Web Key (JWK) を取得するための URL。

openid.scopes : 承認サーバーに要求を送信する際のコンマ区切りのスコープ。

openid.userNameClaim (オプション、 更新プログラム 8.0u20230301 から利用可能): ユーザー名の取得に使用される要求。デフォルト値は preferred_username です。

openid.jwsAlgorithm (オプション、 更新プログラム 8.0u20240306 から利用可能):JSON Web Algorithms (JWA) 仕様で定義されている暗号アルゴリズム。JWT 形式の署名入り ID トークンを検証するために使用されます。

openid.extract-role.delegate: ID トークンからロールを抽出するのを避け、Virtual DataPort サーバーでの LDAP 検索にロールを委任します。この場合、Virtual DataPort Server に グローバル LDAP 認証 が必要です。デフォルト値は "false" です。

openid.extract-role.field : ID トークンからロールを取得するために要求の名前が抽出されます。

Add feedback