C Oracle REST Data Servicesの構成ファイルについて
C.1 構成フォルダの構造の理解
+- global/
+- settings.xml
+- credentials
+- wallet/
+- standalone/
+- databases/
+- default/
+- pool.xml
+- wallet/
+- myapp/
+- hostnames
+- pool.xml
+- wallet/
+- myapp2/
+- paths
+- pool.xml
+- wallet/
settings.xml
: ORDSインスタンス全体にわたって構成されている設定が含まれます。例:debug.printToScreen=true
credentials
: ORDSユーザー・パスワード・ファイルwallet/
:defaults.xml
のsecurity.crypto.enc.password
およびsecurity.crypto.mac.password
構成設定に以前に格納されたインスタンス全体の暗号化キーおよびMACキーを含むOracle自動ログイン・ウォレットが含まれます。standalone/
: HTTPS証明書やキーなどのスタンドアロン・モード関連のリソースが含まれます。
databases/
フォルダには、データベース・プール構成が含まれます。
- 各プール構成は、その独自のフォルダにあります。プールのベース・パスURLマッピングはフォルダ名から推測されます。フォルダの名前が
foo/
の場合、https://server/ords/foo/...にアクセスしてリクエストをプールにマップできます - データベース・プール・フォルダ名に使用できるのは、小文字のアルファベットa-z、数字0-9、'-'、'.'または'_'のみです。
default/
という名前のフォルダは予約されており、他のプールにマップされていないリクエストをマップするために使用されます。これは、古い構造のapex.xml
プールと同等です。databases/<pool-name>/wallet/
という名前のフォルダには、データベース・プールの資格証明を含むOracle自動ログイン・ウォレットが含まれます。データベースのユーザー名とパスワードはウォレットに格納する必要があります。db.password
の設定は使用しないでください。ウォレットは、ORDSウォレットの要件に準拠する必要があります。- または、フォルダにhostnameまたはpathsという名前のファイルが含まれることがありますが、両方が含まれることはありません。
C.2 構成ファイルの形式の理解
構成ファイルは、各構成設定がキーおよびそれに対応する値からなる標準のJava XMLプロパティ・ファイル形式を使用します。settings.xml
ファイルの例を次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="db.connectionType">basic</entry>
<entry key="db.hostname">localhost</entry>
<entry key="db.port">1521</entry>
<entry key="db.servicename">orcl</entry>
<entry key="jdbc.DriverType">thin</entry>
<entry key="jdbc.InitialLimit">3</entry>
<entry key="jdbc.MinLimit">1</entry>
<entry key="jdbc.MaxLimit">10</entry>
<entry key="jdbc.MaxStatementsLimit">10</entry>
<entry key="jdbc.InactivityTimeout">1800</entry>
<entry key="jdbc.statementTimeout">900</entry>
<entry key="jdbc.MaxConnectionReuseCount">1000</entry></properties>
C.3 構成可能な設定の理解
この項では、settings.xml
およびpool.xml
構成ファイルの構成設定と、ウォレットの保護設定を示します。
ノート:
- Oracle REST Data Servicesコマンドライン・インタフェースを使用して構成ファイルを編集することをお薦めします。
- 保護設定を追加または変更するには、ords config secretコマンドを使用する必要があります。
- 設定を追加、変更または削除するには、「構成設定の更新」の項を参照してください。
例:
ords config secret db.password
表C-1 Oracle REST Data Servicesの構成設定
キー | 型 | 説明 | 例 | 設定タイプ |
---|---|---|---|---|
apex.security.administrator.roles |
文字列 | 認証されたAPEX管理者タイプのユーザーに割り当てる追加のロールのカンマ区切りリストを指定します。 | 該当なし | プール固有 |
apex.security.user.roles |
文字列 | 認証された通常のAPEXユーザーに割り当てる追加のロールのカンマ区切りリストを指定します。 | 該当なし | プール固有 |
autoupgrade.api.aulocation |
文字列 | AutoUpgrade.jar の場所の構成設定を指定します。
|
該当なし | プール固有 |
autoupgrade.api.enabled |
ブール値 | AutoUpgrade REST API機能を有効にする構成設定を指定します。 | 該当なし | プール固有 |
autoupgrade.api.jvmlocation |
文字列 | AutoUpgrade REST API JVMの場所の構成設定を指定します。 | 該当なし | プール固有 |
autoupgrade.api.loglocation |
文字列 | AutoUpgrade REST APIログの場所の構成設定を指定します。 | 該当なし | プール固有 |
database.api.management.services.disabled |
ブール値 | データベースAPI管理に関連するサービスを無効にすることを指定します。データベースAPIが有効になっている場合にのみ適用されます。 | 該当なし | グローバル |
db.adminUser |
文字列 | ORDSがデータベースでの管理操作に使用するデータベース・アカウントのユーザー名を指定します。 | 該当なし | プール固有 |
db.cdb.adminUser |
文字列 | ORDSがプラガブル・データベース・ライフサイクル管理に使用するデータベース・アカウントのユーザー名を指定します。 | 該当なし | プール固有 |
db.credentialsSource |
文字列 |
SQL文を実行するための直接接続を作成する際に、データベース資格証明のソースを指定します。 値はpoolまたはrequestのいずれかです。 値が 値 デフォルト値: |
該当なし | プール固有 |
cache.metadata.graphql.expireAfterAccess |
期間 | GraphQLスキーマがキャッシュからアクセスされなくなった後に期限切れになるまでの期間を指定します。
デフォルト値: |
2m |
グローバル |
cache.metadata.graphql.expireAfterWrite |
期間 | GraphQLスキーマがキャッシュされてから期限切れになり再びロードする必要が生じるまでの期間を指定します。
デフォルト値: |
5m |
該当なし |
feature.graphql |
文字列 | 有効にするGraphQL機能を指定します。値は、enabled 、disable_graphiql またはdisable_all のいずれかです。
デフォルト値は |
enabled |
プール固有 |
cache.metadata.jwks.enabled |
ブール値 |
JWKSキャッシュを有効または無効にする設定を指定します。 サポートされている値:
デフォルト値: |
true |
グローバル |
cache.metadata.jwks.initialCapacity |
数値 | JWKSキャッシュの初期容量を指定します。 | 10 |
グローバル |
cache.metadata.jwks.maximumSize |
数値 | JWKSキャッシュの最大容量を指定します。 | 10000 |
グローバル |
cache.metadata.jwks.expireAfterAccess |
期間 | JWKがキャッシュからアクセスされなくなった後に期限切れになるまでの期間を指定します。デフォルトでは、これは無効になっています。 | 2m |
グローバル |
cache.metadata.jwks.expireAfterWrite |
期間 | JWKがキャッシュされた後の、それが期限切れになり再びロードする必要が生じるまでの期間を指定します。
デフォルト値: |
5m |
グローバル |
db.invalidPoolTimeout |
期間 |
無効なプールを再試行するまでの待機時間を指定します。 デフォルト値: |
該当なし | グローバル |
db.poolDestroyTimeout |
期間 |
プールを正常に破棄するまでの待機時間を示します。この時間を過ぎると、流用されている接続も含めて、すべての接続を強制的に破棄します。 デフォルト値: |
該当なし | プール固有 |
db.wallet.zip |
文字列 | プールの接続詳細を含むウォレット・アーカイブ(BASE64エンコーディングで指定)を指定します。 | 該当なし | プール固有 |
db.wallet.zip.path |
文字列 | プールの接続詳細を含むウォレット・アーカイブのパスを指定します。 | 該当なし | プール固有 |
db.wallet.zip.service |
文字列 | プールのウォレット・アーカイブ内のサービス名を指定します。 | 該当なし | プール固有 |
debug.trackResources |
ブール値 | JDBCリソースのトラッキングを有効にすることを指定します。解放しないと、データベースでのリソースのリークまたは不足が引き起こされます。トラッキングを行うと、パフォーマンスのオーバーヘッドが発生します。 | 該当なし | プール固有 |
feature.grahpql.max.nesting.depth |
数値 | GraphQL問合せについて、結合のネストの深さの上限を指定します。デフォルトは5 です。
|
10 |
グローバル |
feature.openservicebroker.exclude |
ブール値 | プールに使用できるオープン・サービス・ブローカ・サービスを無効にすることを指定します。 | 該当なし | プール固有 |
feature.sdw |
ブール値 | データベース・アクション機能を有効にすることを指定します。 | 該当なし | プール固有 |
http.cookie.filter |
文字列 | Oracle Web Agent環境の初期化時に除外するHTTP Cookieのカンマ区切りリストを指定します。 | 該当なし | プール固有 |
instance.api.enabled |
ブール値 | インスタンスAPIサービスを有効または無効にする設定を指定します。デフォルト値はfalseです。 | true |
グローバル/プール固有 |
jdbc.auth.admin.role |
文字列 | データベース・ユーザーがSQL管理者ロールを取得する必要があることを示すデータベース・ロールを識別します。 | 該当なし | プール固有 |
jdbc.cleanup.mode |
該当なし | リクエストが処理されたときに、プールされているJDBC接続と対応するデータベース・セッションを解放する方法を指定します。
デフォルト値: |
該当なし | プール固有 |
owa.trace.sql |
ブール値 | ブール型プロパティを指定します。trueの場合、Oracle Web Agentによって実行されたSQL文のトレースがログにエコーされます。 | 該当なし | プール固有 |
plsql.gateway.mode |
文字列 |
PL/SQLゲートウェイ機能をプールに使用できるかどうかを示します。 値は
|
proxied |
プール固有 |
request.traceHeaderName |
文字列 |
リクエストがアプリケーション・スタックの様々なレイヤーを通る際に、リクエストをエンド・ツー・エンドで一意に識別するHTTPリクエスト・ヘッダーの名前を指定します。Oracleでは、このヘッダーは通常ECID (エンティティ・コンテキストID)と呼ばれます。 |
該当なし | グローバル |
resource.templates.enabled |
ブール値 | 非推奨。レガシー・リソース・テンプレート(APEXベースのREST)を有効にするかどうかを示す構成プロパティ。デフォルトはFalseです。リソース・テンプレートのコード・ベースは単一プール(ORDS_PUBLIC_USER )アーキテクチャと互換性がないため、無効にする必要があります。
|
該当なし | グローバル |
security.jwt.profile.enabled |
ブール値 | JWTプロファイル認証を使用可能かどうかを指定します。サポートされている値:
デフォルト値: |
true |
プール固有 |
security.jwks.size |
数値 | JWK URLから読み取る最大バイト数を指定します。
デフォルト値: |
100000 |
プール固有 |
security.jwks.connection.timeout |
期間 | JWK URLへのアクセス時にタイムアウトになるまでの最長時間を指定します。
デフォルト値: |
5s |
プール固有 |
security.jwks.read.timeout |
期間 | JWK URLからレスポンスを読み取りタイムアウトになるまでの最長時間を指定します。
デフォルト値: |
5s |
プール固有 |
security.jwks.refresh.interval |
期間 | JWKのキャッシュされた値をリフレッシュする間隔の最小値を指定します。 | 10s |
プール固有 |
security.jwt.allowed.skew |
期間 | JWT時間要求を受け入れる最長時差を指定します。これは、JWT発行者とORDSでのクロックが数秒単位で異なる場合に役立ちます。このオプションはデフォルトでは無効にされています。 | 10s |
プール固有 |
security.jwt.allowed.age |
期間 | 許容するJWT最長経過時間を秒単位で指定します。期限切れになった要求であっても関係ありません。JWTの経過時間は、要求で発行されたJWTから取得されます。このオプションはデフォルトでは無効にされています。 | 1h |
プール固有 |
security.credentials.attempts |
数値 | パスワード試行の失敗の最大許容回数を指定します。正の整数値を設定すると有効になります。
デフォルトは |
3 |
グローバル |
security.credentials.file |
文字列 | 資格証明が格納されるファイルを指定します。 | 該当なし | グローバル |
security.credentials.lock.time |
期間 | 最大試行回数を超えたアカウントをロックする期間を指定します。
デフォルトは |
15m |
グローバル |
security.validationFunctionType |
文字列 | security.requestValidationFunction: javascript またはplsqlのタイプを示します。
デフォルトは |
該当なし | プール固有 |
standalone.access.log |
文字列 | HTTPリクエストのアクセス・ログを格納するフォルダのパスを指定します。指定しない場合、アクセス・ログは生成されません。 | 該当なし | グローバル |
standalone.binds |
文字列 | リスニングを行う特定のネットワーク・インタフェースを識別するためのホスト名またはIPアドレスのカンマ区切りのリストを指定します。
デフォルト値: |
該当なし | グローバル |
standalone.context.path |
文字列 | ordsが配置されるコンテキスト・パスを指定します。デフォルトは/ords です |
該当なし | グローバル |
standalone.doc.root |
文字列 | /ルート・サーバー・パスの下で機能する静的リソースがある場所を指します。 | 該当なし | グローバル |
standalone.http.port |
数値 | HTTPリスニング・ポートを指定します。
デフォルト値: |
8777 |
グローバル |
standalone.https.cert |
文字列 | SSL証明書のパスを指定します。SSL証明書を提供する場合は、証明書の場所を指定する必要があります。 | 該当なし | グローバル |
standalone.https.cert.key |
文字列 | SSL証明書のキーのパスを指定します。SSL証明書を提供する場合は、証明書のキーの場所を指定する必要があります。 | 該当なし | グローバル |
standalone.https.host |
文字列 | SSL証明書のホスト名を指定します。 | 該当なし | グローバル |
standalone.https.port |
数値 | HTTPSリスニング・ポートを指定します。
デフォルト値: |
該当なし | グローバル |
standalone.static.context.path |
文字列 | APEXの静的リソースを配置するコンテキスト・パスを指定します。
デフォルト値: |
該当なし | グローバル |
standalone.static.path |
文字列 | APEXに必要な静的リソースを含むフォルダのパスを指定します。 | 該当なし | グローバル |
standalone.stop.timeout |
期間 | スタンドアロン・モードが正常に停止するまで待機する期間を指定します。
デフォルト値: |
15s |
グローバル |
|
文字列 |
このパラメータは非推奨です。かわりに |
|
プール固有 |
cache.metadata.timeout |
期間 |
メタデータ・レコードがキャッシュに残る期間を決定するための設定を指定します。期間が長いほど、適用された変更の表示に時間がかかります。 受け入れられる形式は、ISO-8601期間形式に基づきます。 デフォルト値: |
5m |
グローバル |
cache.metadata.enabled |
ブール値 |
メタデータ・キャッシュを有効または無効にする設定を指定します。 サポートされている値:
デフォルト値: |
false |
グローバル |
database.api.enabled |
ブール値 |
データベースAPIが有効かどうかを指定します。
サポートされている値:
デフォルト値: |
該当なし | グローバル |
|
文字列 |
接続のタイプ。サポートされている値:
|
|
プール固有 |
|
文字列 |
データベースに接続するためのJDBC URL接続を指定します。 |
|
プール固有 |
|
文字列 |
Oracleデータベースのホスト・システムを指定します。 |
|
プール固有 |
|
文字列 |
指定されたデータベース・ユーザーのパスワードを指定します |
該当なし | プール固有の保護設定 |
|
数値 |
データベース・リスナーのポートを指定します。 |
|
プール固有 |
db.adminUser.password |
文字列 | ORDSがデータベースでの管理操作に使用するデータベース・アカウントのパスワードを指定します。 | 該当なし | プール固有の保護設定 |
db.cdb.adminUser.password |
文字列 | ORDSがプラガブル・データベース・ライフサイクル管理に使用するデータベース・アカウントのパスワードを指定します。 | 該当なし | プール固有の保護設定 |
|
文字列 |
データベースのネットワーク・サービス名を指定します。 |
|
プール固有 |
|
文字列 |
プールがCDBを指すこと、およびそのCDBに接続しているPDBをOracle REST Data Servicesによってアドレス可能にする必要があることを指定します(「Oracle REST Data Servicesによって、すべてのPDBをアドレス可能にする(プラガブル・マッピング)」を参照)。 |
|
プール固有 |
|
文字列 |
データベースの名前を指定します。 |
|
プール固有 |
|
文字列 |
|
|
プール固有 |
|
文字列 |
|
|
プール固有 |
|
文字列 |
接続のデータベース・ユーザーの名前を指定します。 |
|
プール固有 |
|
ブール値 |
ブラウザ上でエラーメッセージを表示するかどうかを指定します。 サポートされている値:
デフォルト値: |
|
グローバル |
error.responseFormat |
文字列 | HTTPエラー・レスポンスの書式設定方法を指定します。
サポートされている値:
|
json |
グローバル |
|
文字列 |
カスタム・エラー・ページが格納されているフォルダのパスを指定します。 |
|
グローバル |
|
数値 |
ウイルス・スキャン・ファイルへのInternet Content Adaptation Protocol (ICAP)ポートを指定します。
|
|
グローバル |
icap.secure.port |
数値 |
ウイルス・スキャン・ファイルへのInternet Content Adaptation Protocol (ICAP)ポートを指定します。
|
1344 |
グローバル |
|
文字列 |
ウイルス・スキャン・ファイルへのInternet Content Adaptation Protocol (ICAP)サーバーの名前またはIPアドレスを指定します。
|
|
グローバル |
|
文字列 |
JDBCドライバ・タイプの指定。サポートされている値:
デフォルト値: |
|
プール固有 |
|
数値 |
閉じられる前に、使用可能な接続がアイドル状態を維持できる時間を指定します。非アクティブな接続のタイムアウトは秒単位です。 デフォルトは |
|
プール固有 |
|
数値 |
作成される接続の数の初期サイズを指定します。 デフォルトは |
|
プール固有 |
数値 |
破棄され、新規の接続と置き換わる前に、接続を再利用する最大回数を指定します。 デフォルトは |
|
プール固有 | |
|
数値 |
接続の最大数を指定します。 デフォルトは |
|
プール固有 |
|
ブール値 |
PL/SQLゲートウェイ・コールをデータベース・ユーザーを使用して認証できるようにするかどうかを指定します。値が |
|
プール固有 |
|
数値 |
接続ごとにキャッシュする文の最大数を指定します。 デフォルトは |
|
プール固有 |
数値 |
接続の最小数を指定します。 デフォルトは |
|
プール固有 | |
|
数値 |
文のタイムアウト時間を指定します。 リクエストによって実行される異常に長い実行時間の問合せまたはスクリプトは、文にタイムアウトが設定されていないかぎり、ハング状態のままになることがあります。文にタイムアウトを設定すると、指定した期間内に問合せが完了しなかった場合に、すべての問合せが自動的にタイムアウトします。 デフォルトは |
|
プール固有 |
|
ブール値 |
プロシージャをログに記録するかどうかを指定します。 サポートされている値:
デフォルト値: |
|
グローバル |
|
文字列 |
表示するデフォルトのページを指定します。Oracle REST Data Servicesのランディング・ページです。 |
|
プール固有 |
|
数値 |
RESTfulサービスの処理で問合せから戻される、結果セットのネストしたカーソルから戻される行の最大数を指定します。リソースがページ分割されているかどうかにかかわらず、SQL問合せを使用して生成されるすべてのRESTfulサービスに影響します。 デフォルトは |
|
プール固有 |
|
文字列 |
ファイルのアップロードで使用されるドキュメント表の名前を指定します。 デフォルト値は、 ノート: APEX 4.x以上では、このパラメータを使用しないでください。 |
|
プール固有 |
|
文字列 |
URLで指定されたプロシージャを実行した後に実行するプロシージャ名(複数可)を指定します。複数のプロシージャ名はカンマで区切ります。 |
|
プール固有 |
|
文字列 |
URLで指定されたプロシージャを実行する前に実行するプロシージャ名(複数可)を指定します。複数のプロシージャ名はカンマで区切ります。 |
|
プール固有 |
|
文字列 |
各Oracle REST Data ServicesベースのRESTサービスをディスパッチする前に起動するファンクションを指定します。このファンクションでは、データベース・セッションの構成の実行や、リクエストに対する追加の検証または認可を実行できます。
このファンクションは、保護されたリソースに認可が付与された後のみ呼び出されます。 ファンクションがtrue を返した場合、リクエストの処理は続行されます。ファンクションがfalse を返した場合、リクエストの処理は異常終了し、HTTP 403禁止 ステータスが返されます。
保護されたリソースに対する認可に失敗した場合、事前フック・ファンクションは呼び出されません。かわりに、ORDSによって |
|
プール固有 |
|
ブール値 |
この値が ノート:Oracle REST Data Servicesの内部除外リストによって、ユーザーの次へのアクセスがブロックされます。
サポートされている値:
デフォルト値: この値を |
|
グローバル |
|
文字列 |
ブラウザから直接実行することが禁じられているプロシージャ、パッケージまたはスキーマ名のパターンを指定します。 プロシージャ名には、ワイルドカード文字のアスタリスク( ノート: 複数のパターンはカンマで分割します。 |
|
グローバル |
|
文字列 |
ブラウザから直接実行することが許可されているプロシージャ、パッケージまたはスキーマ名のパターンを指定します。 プロシージャ名には、ワイルドカード文字のアスタリスク( ノート: 複数のパターンはカンマで分割します。 |
|
グローバル |
|
数値 |
キャッシュするプロシージャ検証の最大数を指定します。デフォルトは |
|
グローバル |
|
文字列 |
URLでリクエストされたプロシージャの処理を許可するかどうかを判断する認証ファンクションを指定します。このファンクションは、プロシージャが許可されている場合は |
|
プール固有 |
文字列 |
URLでリクエストされたプロシージャの処理を許可するかどうかを判断するための検証関数を指定します。この関数は、プロジェクトを許可する場合はtrueを戻し、そうでない場合はfalseを戻す必要があります。 |
|
プール固有 | |
ブール値 |
その環境でHTTPSが利用可能かどうかを指定します。 サポートされている値:
デフォルト値: この値を |
|
グローバル | |
文字列 |
SODA REST APIを使用しているときに、制限がURLで指定されていない場合、コレクションのGETリクエストに返されるデフォルトのドキュメント数を指定します。正の整数または、制限をなくす「無制限」である必要があります。 デフォルトは |
|
プール固有 | |
文字列 |
SODA REST APIを使用しているときに、URLで指定された制限にかかわらず、コレクションURLでGETリクエストに返されるドキュメントの最大数を指定します。正の整数または、制限をなくす「無制限」である必要があります。 デフォルトは |
|
プール固有 | |
|
ブール値 |
REST対応SQLサービスがアクティブかどうかを指定します。サポートされている値:
デフォルト値: |
|
プール固有 |