構成¶
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
に対するリクエストに対して、URLhttps://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 プロトコルを使用したシングルサインオンをサポートしています。このサポートを有効にするには以下の手順に従います。
『インストールガイド』の「 Kerberos 認証の設定 」で説明されているインストール後のタスクを実行します。
管理ガイドの「 Virtual DataPort サーバーでの Kerberos 認証の設定 」の説明に従って、Virtual DataPort サーバーで Kerberos を有効にします。
<DENODO_HOME>/resources/apache-tomcat/webapps/denodo-odata4-service/WEB-INF/classes/configuration.properties
ファイルでdisable.kerberosAuthentication
プロパティをfalse
に設定します。
重要
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 サポートを有効にするには以下の手順に従います。
「 CORS の初期設定 」の手順に従って設定を行います (CORS が有効な状態で Denodo REST Web サービスを公開している場合は、実施済みです)。
この 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;
<DENODO_HOME>/resources/apache-tomcat/webapps/denodo-odata4-service/WEB-INF/
フォルダのcors_settings.xml
ファイルを編集します。ファイルの内容のコメント指定を解除します。
デフォルトでは、
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 は無効です。
Virtual DataPort サーバーを再起動して変更を適用します。
サポートされている HTTP ヘッダーメソッド¶
Denodo OData4 Service でサポートされている HTTP ヘッダーメソッドは GET
と OPTIONS
です。ただし、Denodo に組み込まれている Tomcat Web サーバーでは、 OPTIONS
はデフォルトで無効になっています。これを有効にするには以下の手順に従います。
<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>
<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>