Oracle ユーザー偽装構成

CICS トランザクションまたはバッチ ジョブのための適切なデータベース ユーザー資格情報を見つけるために、Oracle XA スイッチ モジュールでは、OCI 関数 OCIAttrSet() をパラメーター OCI_ATTR_PROXY_CLIENT を指定して呼び出してプロキシ認証を使用します。この呼び出しを正しく機能させるには、Oracle ユーザー資格情報の環境に ALTER USER GRANT CONNECT THROUGH 文を含める必要があります。これにより、xa_open ユーザー ID による適切なデータベース ユーザー ID の偽装が可能になります。

次に、簡単な例を示します。セキュリティおよびデータベース環境で、異なる実装が指示される場合があります。ソリューションを実装する前に、Oracle のマニュアルでプロキシ認証およびその他の関連トピックを参照してください。

  1. xa_open 文字列で示されるユーザーを作成します。
    CREATE USER XAOPENUSER IDENTIFIED BY XAOPENUSER 
    GRANT "CONNECT" TO MFESPROXY
  2. CICS または JCL を実行するユーザー FRITZ を作成します。
    CREATE USER FRITZ IDENTIFIED BY FRITZ
    GRANT "CONNECT” TO FRITZ
  3. FRITZ にデータベース権限を付与します。
    GRANT ALL ON SCHEMA1.TABLE1 TO FRITZ
    GRANT "RESOURCE" TO FRITZ
  4. xa_open 文字列のユーザーが FRITZ になれるよう、xa_open 文字列のユーザーに偽装権限を付与します。
    ALTER USER FRITZ GRANT CONNECT THROUGH XAOPENUSER