10 セキュリティ要件
ゲートウェイ・アーキテクチャには、複数のシステム、データベース・サーバーおよび通信機能が関与し、それぞれ別のセキュリティ機能と制約があります。 セキュリティ方式を効果的に計画して実行するには、インストールした環境のセキュリティ要件を知るだけでなく、それらの機能と制約も理解する必要があります。
Oracle Database Gateway for APPCの機能および制限について学習するには、次のトピックを参照してください:
10.1 セキュリティ要件の概要
でセキュリティ・スキームを実装する前に、環境における既存のセキュリティ要件および期待事項を理解する必要があります。 異なったシステム上の異なったデータベースへのアプリケーション・アクセスを可能にするためには、複数のセキュリティ文化をマージする必要があることがあります。 セキュリティ・スキームを開発する場合、最も厳格なセキュリティ要件が優先されます。 異なるシステムを接続してすべてを1つのものとして動作させる場合、最も厳しいセキュリティ要件を持つシステムが、他のシステムでできることとできないことを規定するのが通例です。
-
特定のゲートウェイ・インスタンスやOLTPへのアクセスが許可されているユーザーとアプリケーション
-
ユーザーとアプリケーションが実行可能なOLTPトランザクション
ゲートウェイ・アーキテクチャではいくつかの箇所でアクセスを制御することができます。 いくつかの主要なオプションについて、後述の各項で説明します。 リモート・トランザクション・プログラム(RTP)のアクセスに関する制御は、ユーザーIDに基づくネイティブの認証メカニズムを使用して各OLTPが提供します。 これらの機能についてはOLTPの製品マニュアルで説明されています。 次のトピックの情報には、ゲートウェイ機能によって、特定のOLTP接続に対して有効なユーザーIDがどのように決定されるかが含まれます。
ゲートウェイがRPCリクエストに関係している場合、セキュリティ・メカニズムは、ゲートウェイが遭遇する各システム・コンポーネントで有効です。 最初に遭遇するシステム・コンポーネントは、アプリケーション・ツールまたは3GLプログラムです。 最後に遭遇するシステム・コンポーネントはOLTPです。
次の各項では、コンポーネントと、そのコンポーネントで使用可能なセキュリティ処理のタイプを特定します。 各項には、キー機能とパラメータの要点もあります。 Oracle製品および非Oracle製品の非ゲートウェイ・コンポーネントに関する詳細情報は、製品ごとの資料を参照します。
10.2 アプリケーション・ログオンの認証
アプリケーションは、ゲートウェイを使用する前にOracleデータベースに接続する必要があります。 使用するログオン認証のタイプにより、結果としてOracleユーザーIDが決まり、ゲートウェイの動作にも影響します。
-
Oracle認証の場合、各OracleユーザーIDには関連付けられたパスワードがあり、Oracleはそれを認識できます。 アプリケーションは、サーバーに接続すると、ユーザーIDとパスワードを入力します。 OracleはそのユーザーIDが存在し、パスワードがデータベースに格納されているものに一致していることを確認します。
-
オペレーティング・システム認証の場合、基礎となるサーバーのオペレーティング・システムが認証を担当します。
IDENTIFIED EXTERNALLY
属性(パスワードではなく)を使用して作成されたOracleユーザーIDには、オペレーティング・システム認証を使用してアクセスします。 そのようなユーザーIDでログオンするには、アプリケーションはユーザーIDとしてスラッシュ(/)を入力し、パスワードは入力しません。オペレーティング・システム認証を実行するには、サーバーがリクエスト元オペレーティング・システムのユーザーIDを決定し、オプションでそれに固定の接頭辞を追加して、その結果をOracleユーザーIDとして使用します。 サーバーは、ユーザーIDが存在して外部的に識別されることを確認しますが、パスワードはチェックしません。 基本的想定は、ユーザーはオペレーティング・システムにログオンする際に認証されるということです。
オペレーティング・システム認証はすべてのプラットフォーム上で使用できるわけではなく、一部のOracle Net(クライアント・サーバー)およびマルチスレッド・サーバー構成では使用できません。 構成でこの機能を使用できるかどうかを確認するには、Windows Oracleデータベースのドキュメントおよび「Oracle Database Net Services管理者ガイド」を参照してください。
アプリケーション・ログオン認証の詳細は、「Oracle Database管理者ガイド」を参照してください。
10.3 データベース・リンクの定義と制御
次の各トピックでは、TCP/IPまたはSNA通信プロトコルのいずれかを使用するゲートウェイのユーザーのデータベース・リンクについて説明します。
10.3.2 リンクとCONNECT句
CONNECT
句は、データベース・リンクのもう1つのセキュリティ関連属性です。 CONNECT
句を使用すると、明示的なユーザーIDとパスワードを指定できます。これは、ユーザーのOracleユーザーIDとパスワードとは異なる場合があります。 このCONNECT
ユーザーIDとパスワードの組合せは、データベース・リンク接続が最初にオープンされるときにゲートウェイに送信されます。 ゲートウェイ固有のオプションにより異なりますが、ゲートウェイはそのユーザーIDおよびパスワードを、検証対象のOLTPに送信することがあります。
Oracle認証を使用してCONNECT
句なしでデータベース・リンクが作成された場合、接続のオープン時に、ユーザーのOracleユーザーIDとパスワードがゲートウェイに送信されます。 ユーザーがオペレーティング・システム認証を使用して Oracleデータベースにログオンすると、ゲートウェイはOracleデータベースからユーザーIDまたはパスワードを受信しません。 オペレーティング・システム認証のOracleユーザーは、CONNECT
句なしで定義されたゲートウェイ・データベース・リンクを使用できません。 ただし、ユーザーが接続に使用するゲートウェイのLU名に基づいたユーザーIDマッピング機能がOLTPによって提供されている場合は、同一のゲートウェイ・インスタンス上のすべてのユーザーが、同一のOLTPユーザーIDを使用できれば、そのような接続が可能です。
データベース・リンクの詳細は、「Oracle Database管理者ガイド」を参照してください。
10.4 SNA Security Validationの使用
この項の説明は、SNA通信プロトコルを使用しているゲートウェイ・ユーザーのセキュリティ・ニーズにのみ該当します。 ゲートウェイがRPCリクエストを受信してリモート・トランザクション・プログラムを起動する場合、OLTPとのAPPC対話を起動しようと試みます。 対話を開始できるのは、Windowsの論理ユニット(LU)とOLTP LUの間でセッションが開始されてからです。
Windowsプラットフォーム用のAPPCサポートは、SNAサーバー(Microsoft Host Integration ServerまたはIBM Communication Server v6.1.1以上)によって提供されます。
SNAおよび各種のアクセス・メソッド実装(VTAM、SNAサーバーなど)には、セッション開始時セキュリティ検証機能があり、各LUでそのパートナを認証することができます。 検証は、ゲートウェイとOLTPのアプリケーション・プログラムが対話を開始し、対話レベルのセキュリティ・データを処理する前に、ネットワーク・ソフトウェアにより完全実行されます。 セッション・レベル・セキュリティを使用する場合、Microsoft WindowsのSNAプロファイル、およびアクセスされるOLTP内の類似のパラメータ構造で、正確なパスワード情報が確立される必要があります。 詳細情報は、各通信ソフトウェア製品のマニュアルを参照してください。
10.4.1 SNA対話セキュリティの指定
ゲートウェイ初期化ファイルの PGA_SECURITY_TYPE
パラメータを使用すると、OLTPとともに割り当てられる LU6.2 会話のセキュリティ実行を決定する3つのオプションのいずれかを指定できます。 このオプションはSNA LU6.2アーキテクチャに含まれますが、その正確な動作は個別のOLTPシステムにより異なることがあります。
10.4.1.1 SNAセキュリティ・オプションSECURITY=NONE
PGA_SECURITY_TYPE=NONE
を指定すると、ゲートウェイはクライアント・ユーザーIDおよびパスワードの処理を実行しません。 会話は、SNAオプションSECURITY=NONE
を使用して割り当てられます。
10.4.1.2 SNAセキュリティ・オプションSECURITY=PROGRAM
PGA_SECURITY_TYPE=PROGRAM
を指定すると、ゲートウェイはSNAオプションSECURITY=PROGRAM
との会話を割り当て、次の情報が OLTPに送信されます:
-
TIPユーザーIDおよびパスワードのオーバーライドを使用する場合、指定されたユーザーIDおよびパスワードが、データベース・リンク仕様に関係なく送信されます。
-
データベース・リンクに
CONNECT
句がなく、アプリケーションが明示的なユーザーIDおよびパスワードでOracleにログオンしている場合は、OracleユーザーIDおよびパスワードが送信されます。 -
アプリケーションがオペレーティング・システム認証を使用してOracleにログオンし、データベース・リンクに明示的な
CONNECT
情報がない場合、ユーザーIDとパスワードは送信されません。 ユーザーIDとパスワードが送信されない場合で、デフォルト・ユーザーIDを割り当てるようにOLTPが構成されていないときは、接続は失敗します。
一般に、SNAオプションSECURITY=PROGRAM
は、使用可能な認証メカニズムを使用してユーザーIDとパスワードの組合せを認証するようにOLTPに指示します。 たとえば、 CICS Transaction Server for z/OSがOLTPの場合、RACFを使用できます。 ただし、各OLTPは、他の方法でインバウンド・ユーザーIDを処理するように構成できるため、必ずしもそうではありません。
10.5 TCP/IPセキュリティ
この項のセキュリティ情報は、TCP/IP for IMS Connectを使用しているOracle Database Gateway for APPCのユーザーにのみ該当します。 ゲートウェイがRPCリクエストを受信してRTPを起動する際、IMS ConnectとのTCP/IP対話を起動しようと試みます。 IMS ConnectはOTMAとXCFを介してOLTP(IMS)に接触します。 詳細は、IBM I 「MS Connectガイドおよびリファレンス」を参照してください。 ゲートウェイとIMS Connectの間の対話は、ネットワークがTCP/IPアドレスまたはホスト名とポート番号を使用してゲートウェイからIMS Connectに接続する場合に発生します。
ノート:
ゲートウェイはPGAUを使用してTIPを生成するため、TIPにはSNA情報が含まれます。 Oracle Database Gateway for APPCをTCP/IP support for IMS Connectで使用する場合、ゲートウェイがIMS Connectと通信するためには、SNA名をTCP/IPのホスト名とポート番号にマップする必要があります。 pg4tcpmap
ツールを使用して、SNAからTCP/IPに情報をマップします。 詳細は、「Oracle Database Gateway for APPCユーザー・ガイド」の第6章、「pg4tcpmapコマンド」を参照してください。
IMS Connectはセッション開始時検証機能を提供し、各接続でそのパートナの認証を可能にします。 検証は、ゲートウェイと、IMSのOLTPアプリケーション・プログラムが対話を開始し、対話レベルのセキュリティ・データを処理する前に、ネットワーク・ソフトウェアにより完全実行されます。 セッション・レベル・セキュリティを使用する場合、Microsoft WindowsおよびアクセスされるOLTP内の類似のパラメータ構造で、正確なパスワード情報が確立される必要があります。
10.5.1 TCP/IP対話セキュリティの指定
ゲートウェイ初期化ファイルの PGA_SECURITY_TYPE
パラメータを使用すると、OLTPのゲートウェイによって割り当てられる会話のセキュリティ実行を指定できます。 「TCP/IP通信プロトコルのゲートウェイ初期化パラメータ」を参照してください。
10.5.1.1 TCP/IPセキュリティ・オプションSECURITY=NONE
PGA_SECURITY_TYPE=NONE
を指定すると、ゲートウェイはクライアント・ユーザーIDおよびパスワードの処理を実行しません。
10.5.1.2 TCP/IPセキュリティ・オプションSECURITY=PROGRAM
PGA_SECURITY_TYPE=PROGRAM
を指定すると、次の情報が OLTPに送信されます:
-
TIPユーザーIDおよびパスワードのオーバーライドを使用する場合、指定されたユーザーIDおよびパスワードが、データベース・リンク仕様に関係なく送信されます。
-
データベース・リンクに
CONNECT
句がなく、アプリケーションが明示的なユーザーIDおよびパスワードでOracleにログオンしている場合は、OracleユーザーIDおよびパスワードが送信されます。 -
アプリケーションがオペレーティング・システム認証を使用してOracleにログオンし、データベース・リンクに明示的な
CONNECT
情報がない場合、ユーザーIDとパスワードは送信されません。 ユーザーIDとパスワードが送信されない場合で、デフォルト・ユーザーIDを割り当てるようにOLTPが構成されていないときは、接続は失敗します。
TCP/IP for IMS Connectを使用するOracle Database Gateway for APPCがIMS Connectと通信する場合、RACFが、使用できる唯一の認証メカニズムです。
ノート:
PGAセキュリティ・オプションをSECURITY=PROGRAM
に設定した場合は、 pg4tcpmap
ツールを使用して RACFグループ名を指定する必要があります。 この問題の詳細は、「Oracle Database Gateway for APPCユーザー・ガイド」を参照してください。
10.6 ゲートウェイ初期化ファイルのパスワード
初期化パラメータには、IDやパスワードなどの機密情報が含まれている場合があります。 初期化パラメータはプレーン・テキスト・ファイルで格納されるため、安全でないとも考えられます。 異機種間サービスに暗号化機能が追加されたため、パラメータ値を暗号化することが可能です。 暗号化には、dg4pwd
ユーティリティが使用されます。
関連項目:
このユーティリティの詳細は、「Oracle Database異機種間接続ユーザー・ガイド」を参照してください