10.7 CMCTL RESTインタフェースについて

CMCTL RESTインタフェースは、RESTインタフェースを使用してリモート・マシンからOracle Connection Manager (Oracle CMAN)インスタンスを管理するために役立ちます。HTTPSをサポートしているクライアントは、CMCTLと同等のコマンドを発行できます。各REST APIコールには、Basic認証方式が指定されているWWW-Authenticate HTTPSヘッダーが必要です。

10.7.1 CMCTL RESTインタフェースの構成

cman.oraREST_ADDRESSパラメータを使用して、RESTエンドポイントのホスト名とポートを構成します。CMCTL RESTインタフェース認証では、Oracle CMANウォレット内で使用可能なユーザー名とパスワードを使用します。

  1. cman.oraファイルのパラメータ・セクションの下にREST_ADDRESS属性を追加します。
  2. Oracleウォレットを作成します。
    Oracleウォレットは、証明書と認証資格証明を格納するファイルです。orapkiユーティリティを使用して、Oracleウォレットを作成します。
    公認されている機関からの証明書をOracleウォレットにインポートするか、認可および署名された独自の証明書を作成してCMANのOracleウォレットで使用できます。自己署名付きOracleウォレットを使用することもできます。
    たとえば、自己署名付き証明書を含むウォレットを作成するには、次のコマンドを実行します。
    $ORACLE_HOME/bin/orapki  wallet create -wallet wallet directory
    $ORACLE_HOME/bin/orapki wallet add -wallet wallet directory -dn ‘cn=root_test, c=US’ -keysize 2048   -self_signed    -validity 365
    ここでのwallet directoryは、ウォレットが作成されるファイル・システム・ディレクトリの場所です。

    ノート:

    このディレクトリをグループまたは他のユーザーが読み取れないようになっていることを確認してください。
  3. CMAN RESTクライアント・ユーザー名をウォレットに追加します。
    CMCTL RESTインタフェース・プロセスでは、HTTPSプロトコルのみがサポートされています。HTTPプロトコルはサポートされていません。このウォレット・ファイルには、グループや他のユーザーの読取り権限を割り当てないでください。それには、CMANインスタンスを所有するユーザーの読取り権限のみを割り当てる必要があります。
    mkstoreユーティリティを使用して、ユーザー名とパスワードをOracle CMANウォレットに格納します。
    たとえば:
    mkstore -wrl wallet_directory -createEntry myusername my_password

    ノート:

    mkstoreウォレット管理コマンドライン・ツールは、Oracle Database 23aiでは非推奨であり、将来のリリースで削除される可能性があります。

    ウォレットの管理には、orapkiコマンドライン・ツールの使用をお薦めします。

  4. 自動ログイン・ウォレットを作成します。
    Oracle CMANでは、HTTPSエンドポイントを開始するために自動ログイン・ウォレットが必要です。次のコマンドを実行して、自動ログイン・ウォレットを作成します。
    $ORACLE_HOME/bin/orapki wallet create -wallet wallet_location -auto_login

    ここでのwallet_locationは、CMANウォレットを作成したディレクトリです。

    ノート:

    Oracle Database 23aiでは、新しい自動ログイン・ウォレット・バージョン(7)が導入されました。Oracleローカル自動ログイン・ウォレットのバージョン6は非推奨です。

    ローカル自動ログイン・ウォレットは、orapkiで変更することで更新できます。

  5. cman.oraファイル内でそのウォレットの場所を指定します。cman.oraファイルを更新してcman別名以外のウォレット・ディレクトリを指定します。
    CMAN=
      (CONFIGURATION=
          .. .. 
        (RULE_LIST=
           . . . )
        (PARAMETER_LIST=
          
          . . . ))
    Wallet_location= … 
    たとえば:
    WALLET_LOCATION=
      (SOURCE=(METHOD=FILE) 
         (METHOD_DATA=
             (DIRECTORY=wallet directory))
       )

    ノート:

    パラメータWALLET_LOCATIONは、Oracle DatabaseサーバーのOracle Database 23aiでの使用は非推奨です。Oracle Databaseクライアントおよびリスナーでの使用は非推奨ではありません。

    Oracle Databaseサーバーの場合は、WALLET_LOCATIONを使用するかわりに、WALLET_ROOTシステム・パラメータの使用をお薦めします。

10.7.2 CMCTLコマンドのREST API

CMCTL RESTインタフェースを使用すると、クラウド・デプロイメントにおけるCMANタスクを自動化できます。この機能は、CMANのcmctl制御ユーティリティに似ています。

CMCTL RESTインタフェースでは、RESTインタフェース・プロセスとOracle CMANリスナーとの間でローカル・オペレーティング・システム認証が使用されます。

REST構成を含むOracle CMANインスタンスを起動した後は、HTTPS基本認証を使用してRESTコールを行うことができます。

CMAN REST APIを確認するには、curlコマンドライン・ツールを使用します。たとえば、実行中のサービスを一覧表示するには、次のコマンドを使用します。

ノート:

curlコマンドは、テストおよび検証の目的にのみ使用されます。

curl -X GET -u username:password https://cmanhostname:rest_port/show/services