USER MANUALS

構成

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 です。

  • timestampTimezone: 日時の値の書式を設定するタイムゾーン。例: America/New_York (このパラメータに指定できる値については、 このリスト を参照してください)。値がない場合、サービスでは UTC を使用します。

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

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

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

  • forceSpecNullOrdering: 一部の RDMBS (Oracle など) では、 null 値の順序付けは、OData 仕様で定義されている方法と逆の方法で行われます。つまり、 null 値は ASC の配列では最初に配置し、 DESC の配列では最後に配置する必要があります。このプロパティを true に設定すると、配列は強制的に OData 仕様に準拠します。

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

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

OData サービスでの 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. CORS の初期設定 」の手順に従って設定を行います (CORS が有効な状態で Denodo REST Web サービスを公開している場合は、実施済みです)。

  2. この Denodo インストール環境のサーバーを起動する前に、 <DENODO_HOME>/resources/apache-tomcat/webapps/denodo-odata4-service/WEB-INF/web.xml ファイルを編集し、次の記述をファイルの 先頭に 追加します。

    <!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 サーバーを再起動して変更を適用します。

サポートされている HTTP ヘッダーメソッド

Denodo OData4 Service でサポートされている HTTP ヘッダーメソッドは GETOPTIONS です。ただし、Denodo に組み込まれている Tomcat Web サーバーでは、 OPTIONS はデフォルトで無効になっています。これを有効にするには以下の手順に従います。

  1. <DENODO_HOME>/resources/apache-tomcat/conf/web.xml ファイルを編集して、以下のブロックにコメントを入れるかブロックを削除します。

    <security-constraint>
       <web-resource-collection>
          <web-resource-name>restricted methods</web-resource-name>
          <url-pattern>/*</url-pattern>
          <http-method>OPTIONS</http-method>
       </web-resource-collection>
       <auth-constraint/>
    </security-constraint>
    <security-constraint>
       <web-resource-collection>
          <web-resource-name>restricted methods</web-resource-name>
          <url-pattern>/*</url-pattern>
          <http-method-omission>OPTIONS</http-method-omission>
       </web-resource-collection>
    </security-constraint>
    
  2. <DENODO_HOME>/resources/apache-tomcat/webapps/denodo-odata4-service/WEB-INF/cors_settings.xml ファイルを編集します。cors.allowed.methods プロパティの値を、元の GET, POST, PUT, DELETE, HEAD, OPTIONS から GET, OPTIONS に変更します。以下のようになります。

    <param-value>GET, OPTIONS</param-value>
    
Add feedback