構成

OData サービスの構成は、 <DENODO_HOME>/resources/apache-tomcat/webapps/denodo-odata4-service/WEB-INF/classes/configuration.properties ファイルにあります。

このファイルでは、以下のプロパティを変更できます。

  • odataserver.address: サービス名。たとえば、これを /odata-interface.svc に変更すると、サービスにアクセスするための URL は http://localhost:9443/denodo-odata4-service/odata-interface.svc/<database name>/ になります。

  • odataserver.serviceRoot (オプション): サービスのルート URI。ゲートウェイを通じてサービスにアクセスする場合は、OData 応答に記述されるリンクでこの URI がルートとして使用されるように、このプロパティの値を設定します。たとえば、このプロパティの値を https://gw.denodo.com:9000/ODATA/ とすると、 http://server001:9090/denodo-odata4-service/denodo-odata.svc/movies に対するリクエストに対して、URL https://gw.denodo.com:9000/ODATA/denodo-odata.svc/movies が記述された応答が返されます。

  • server.pageSize: リクエストあたりで返されるレコード数。詳細については、「 改ページ 」を参照してください。

  • enable.adminUser: false の場合、ユーザーアカウント admin (他の管理者アカウントは除きます) からこのサービスにアクセスできません。この機能は、Basic 認証でのみ使用でき、Kerberos 認証や OAuth では使用できません。

  • debug.enabled: true の場合、クエリパラメーター ?odata-debug=json を使用したリクエストに対する応答には、目的のデータのほか、デバッグ情報が追加されます。

  • disable.basicAuthentication: このサービスで HTTP の Basic 認証を無効にするには true に設定します。有効にするには false に設定します。

  • disable.kerberosAuthentication: このサービスで Kerberos 認証を無効にするには true に設定します。有効にするには false に設定します。

  • enable.streaming: エンティティコレクションストリーミング をサポートする場合は true に設定し、無効にする場合は false に設定します。デフォルト値は true です。

    このサービスで Kerberos 認証を有効にするには、まず Denodo サーバーで Kerberos 認証を有効にする必要があります。その手順については「 Kerberos 認証 」を参照してください。

  • disable.oauth2Authentication: このサービスで OAuth 2.0 認証を無効にするには true に設定します。

    このサービスで OAuth 認証を有効にするには、まず Denodo サーバーで OAuth 認証を有効にする必要があります。その手順については「 OAuth 認証 」を参照してください。

このサービスの認証メカニズムを有効または無効にする場合、少なくとも 1 つの認証メカニズムを有効にした状態を維持する必要があります。

このファイルの変更を有効にするには、Virtual DataPort サーバーを再起動します。

Kerberos 認証

OData サービスは、Kerberos プロトコルを使用したシングルサインオンをサポートしています。このサポートを有効にするには以下の手順に従います。

  1. 『インストールガイド』の「 Kerberos 認証の設定 」で説明されているインストール後のタスクを実行します。

  2. 管理ガイドの「 Virtual DataPort サーバーでの Kerberos 認証の設定 」の説明に従って、Virtual DataPort サーバーで Kerberos を有効にします。

  3. <DENODO_HOME>/resources/apache-tomcat/webapps/denodo-odata4-service/WEB-INF/classes/configuration.properties ファイルで disable.kerberosAuthentication プロパティを false に設定します。

  4. ブラウザで Kerberos を構成します

重要

Denodo OData 4.0 サービスにアクセスするには、Virtual DataPort サーバーで構成したサーバープリンシパル名の完全修飾ドメイン名を使用します。たとえば、サーバープリンシパル名が HTTP/denodo-prod.subnet1.contoso.com@CONTOSO.COM である場合、 http://denodo-prod.subnet1.contoso.com:9090/denodo-odata4-service/denodo-odata.svc または https://denodo-prod.subnet1.contoso.com:9443/denodo-odata4-service/denodo-odata.svc の URL で Denodo OData 4.0 サービスにアクセスする必要があります。

オリジン間リソース共有 (CORS) の有効化

このサービスは、オリジン間リソース共有 (CORS) をサポートしています。CORS の詳細については、「 オリジン間リソース共有 (CORS) 」 (公開されている REST Web サービスの設定) を参照してください。

OData サービスで CORS サポートを有効にするには以下の手順に従います。

  1. <DENODO_HOME>/resources/apache-tomcat/webapps/denodo-odata4-service/WEB-INF/ フォルダーの web.xml ファイルを編集します。

  2. このファイルの 先頭 に以下のテキストを追加します。

    <!DOCTYPE doc [
    <!ENTITY cors_settings SYSTEM "cors_settings.xml">
    ]>
    

    ファイルは以下のようになります。

    <!DOCTYPE doc [
    <!ENTITY cors_settings SYSTEM "cors_settings.xml">
    ]>
    <web-app ...
    

    以下のように Filters セクションに参照を追加します。

    <!-- ******************* -->
    <!-- Filters             -->
    <!-- ******************* -->
    &cors_settings;
    
  3. <DENODO_HOME>/resources/apache-tomcat/webapps/denodo-odata4-service/WEB-INF/ フォルダーの cors_settings.xml ファイルを編集します。

  4. ファイルの内容のコメント指定を解除します。

  5. デフォルトでは、 cors.allowed.origins プロパティの値は * です。この場合は、あらゆるドメインから受け取った CORS リクエストがこのサービスで許可されます。

    許可する CORS リクエストの送信元ドメインを制限するには、このプロパティの値 * を、許可する URL のリストに置き換えます (各 URL はカンマで区切ります)。

    たとえば、 https://foo.com, http://foo.com, https://foo.bar.com と指定します。

    他の生成元からの CORS リクエストは、HTTP コード 403 (Forbidden) で拒否されます。

    重要

    URL ごとに、そのプロトコルも入力します。プロトコルが含まれていない URL は無効です。たとえば、foo.com は無効です。

  6. Virtual DataPort サーバーを再起動して変更を適用します。