12 セキュリティ要件
ゲートウェイ・アーキテクチャには、複数のシステム、データベース・サーバーおよび通信機能が関与し、それぞれ別のセキュリティ機能と制約があります。 セキュリティ方式を効果的に計画して実行するには、インストールした環境のセキュリティ要件を知るだけでなく、それらの機能と制約も理解する必要があります。
Oracle Database Gateway for APPCの機能と制限については、次のトピックを参照してください:
セキュリティ要件の概要
セキュリティ・スキームを実装する前に、環境内の既存のセキュリティ要件と期待を理解する必要があります。 異なったシステム上の異なったデータベースへのアプリケーション・アクセスを可能にするためには、複数のセキュリティ文化をマージする必要があることがあります。 いくつかの異なるシステムを接続してすべてを1つのものとして動作させる場合、最も厳しいセキュリティ要件を持つシステムが、他のシステムでできることとできないことを規定するのが通例です。
-
特定のゲートウェイ・インスタンスやOLTPへのアクセスが許可されているユーザーとアプリケーション
-
ユーザーとアプリケーションが実行可能なOLTPトランザクション
ゲートウェイ・アーキテクチャではいくつかの箇所でアクセスを制御することができます。 いくつかの主要なオプションについて、後述の各項で説明します。 リモート・トランザクション・プログラムのアクセスに関する制御は、ユーザーIDに基づくネイティブの認証メカニズムを使用して各OLTPが提供します。 これらの機能についてはOLTPの製品マニュアルで説明されています。 セキュリティ要件の情報には、特定のOLTP接続に有効なユーザーIDをゲートウェイ機能がどのように決定するかが含まれます。
ゲートウェイがRPCリクエストに関係している場合、セキュリティ・メカニズムは、ゲートウェイが遭遇する各システム・コンポーネントで有効です。 最初に遭遇するシステム・コンポーネントは、アプリケーション・ツールまたは第三世代言語(3GL)プログラムです。 最後に遭遇するシステム・コンポーネントはOLTPです。
次の各項では、コンポーネントと、そのコンポーネントで使用可能なセキュリティ処理のタイプを特定します。 各項には、キー機能とパラメータの要点もあります。 Oracle製品および非Oracle製品の非ゲートウェイ・コンポーネントに関する詳細情報は、製品ごとの資料を参照します。
アプリケーション・ログオンの認証
アプリケーションは、ゲートウェイを使用する前にOracleデータベースに接続する必要があります。 使用するログオン認証のタイプにより、結果としてOracleユーザーIDが決まり、ゲートウェイの動作にも影響します。
-
Oracle認証の場合、各OracleユーザーIDには関連付けられたパスワードがあり、Oracleはそれを認識できます。 アプリケーションは、サーバーに接続すると、ユーザーIDとパスワードを入力します。 OracleはそのユーザーIDが存在し、パスワードがデータベースに格納されているものに一致していることを確認します。
-
オペレーティング・システム認証の場合、基礎となるサーバーのオペレーティング・システムが認証を担当します。 オペレーティング・システム認証では、
IDENTIFIED EXTERNALLY
属性をパスワードのかわりにして作成されたOracleユーザーIDにアクセスが行われます。 そのようなユーザーIDでログオンするには、アプリケーションはユーザーIDとしてスラッシュ(/
)を入力し、パスワードは入力しません。オペレーティング・システム認証を実行するには、サーバーがリクエスト元オペレーティング・システムのユーザーIDを決定し、オプションでそれに固定の接頭辞を追加して、その結果をOracleユーザーIDとして使用します。 サーバーは、そのユーザーIDが存在し、
IDENTIFIED EXTERNALLY
属性を備えていることを確認しますが、パスワード・チェックは行いません。 基本的想定は、ユーザーはオペレーティング・システムにログオンする際に認証されるということです。オペレーティング・システム認証はすべてのプラットフォーム上で使用できるわけではなく、一部のOracle Net(クライアント・サーバー)およびマルチスレッド・サーバー構成では使用できません。 ご使用の構成でこの機能の可用性を判断するには、ご使用のプラットフォーム固有のOracleデータベースのマニュアルおよび「Oracle Databaseネット・サービス管理者ガイド」を参照してください。
アプリケーション・ログオンの認証の詳細については、「Oracle Database管理者ガイド」を参照してください。
データベース・リンクの定義と制御
次の項では、TCP/IPまたはSNA通信プロトコルを使用しているゲートウェイのユーザーの場合のデータベース・リンクについて説明します。
リンクとCONNECT句
CONNECT
句は、また別のデータベース・リンクのセキュリティ関連属性です。 CONNECT
句を使用して、明示的なユーザーIDとパスワード(OracleユーザーIDおよびパスワードとは異なる)を指定することができます。 このCONNECT
ユーザーIDとパスワードの組合せは、データベース・リンク接続が最初にオープンされるときにゲートウェイに送信されます。 ゲートウェイ固有のオプションにより異なりますが、ゲートウェイはそのユーザーIDおよびパスワードを、検証対象のOLTPに送信することがあります。
データベース・リンクがOracle認証を使用して、CONNECT
句なしで作成された場合、ユーザーのOracleユーザーIDおよびパスワードは、接続がオープンされたときにゲートウェイに送信されます。 ユーザーがオペレーティング・システム認証でOracleデータベースにログオンする場合、ゲートウェイはOracleデータベースからユーザーIDやパスワードを受け取りません。 オペレーティング・システムによって認証されたOracleユーザーは、CONNECT
句なしで定義されたゲートウェイ・データベース・リンクを使用できません。 ただし、ユーザーが接続に使用するゲートウェイのLU名に基づいたユーザーIDマッピング機能がOLTPによって提供されている場合は、同一のゲートウェイ・インスタンス上のすべてのユーザーが、同一のOLTPユーザーIDを使用できれば、そのような接続が可能です。
データベース・リンクの詳細については、「Oracle Database管理者ガイド」を参照してください。
SNA Security Validationの使用
「SNAセキュリティ検証の使用」の情報は、SNA通信プロトコルを使用するゲートウェイ・ユーザーのセキュリティ・ニーズにのみ適用されます。 ゲートウェイがRPCリクエストを受信してリモート・トランザクション・プログラムを起動する場合、OLTPとのAPPC対話を起動しようと試みます。 対話を開始できるのは、プラットフォームの論理ユニット(LU)とOLTP LUの間でセッションが開始されてからです。
使用しているプラットフォームのAPPC サポートは、SNA通信パッケージ(Solarisオペレーティング・システム(SPARC)のSNAP-IXおよびAIXベースのシステムのSNAサーバー)によって提供されます。
SNAおよび各種のアクセス・メソッド実装(使用するプラットフォーム用のVTAM、SNA通信パッケージなど)には、セッション開始時セキュリティ検証機能があり、各LUでそのパートナを認証することができます。 検証は、ゲートウェイとOLTPのアプリケーション・プログラムが対話を開始し、対話レベルのセキュリティ・データを処理する前に、ネットワーク・ソフトウェアにより完全実行されます。 セッション・レベル・セキュリティを使用する場合、使用するプラットフォームのSNAプロファイル、およびアクセスされるOLTP内の類似のパラメータ構造で、正確なパスワード情報が確立される必要があります。 詳細情報は、各通信ソフトウェア製品のマニュアルを参照してください。
SNA対話セキュリティの指定
ゲートウェイ初期化ファイルの PGA_SECURITY_TYPE
パラメータを使用すると、OLTPで割り当てられたLU6.2会話のセキュリティ動作を決定する3つのオプションの1つを指定できます。 このオプションはSNA LU6.2アーキテクチャに含まれますが、その正確な動作は個別のOLTPシステムにより異なることがあります。
SNAセキュリティ・オプションSECURITY=NONE
PGA_SECURITY_TYPE=NONE
を指定すると、ゲートウェイはクライアント・ユーザーIDとパスワードの処理を実行しません。 対話には、SNAオプションSECURITY=NONE
が割り当てられます。
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を別の方法で処理するように構成できるためです。
SNAセキュリティ・オプションSECURITY=SAME
PGA_SECURITY_TYPE=SAME
を指定すると、ゲートウェイはSNAオプションSECURITY=SAME
を使用して会話を割り振り、ユーザーIDのみをパスワードなしでOLTPに送信します。 この場合、SNA通信パッケージはゲートウェイ・サーバー実行可能ファイルの所有者ユーザーID、ORACLE_HOME/bin/pg4asrv
をユーザーIDとして送信します。 送信されるユーザーIDはOracleユーザーIDではありません。 正規ユーザーは、このユーザーIDをUNIXのls
コマンドで表示し、chown
コマンドで変更することができます。 このユーザーIDは指定されたゲートウェイ・インスタンスのすべてのユーザーに対して同一なので、このオプションの用途は限定されています。
注意:
SNA通信パッケージは送信されたユーザーIDを大文字に変換しません。 OLTPが英小文字のユーザーIDを使用できないシステム上(たとえばz/OS)で稼働している場合、ゲートウェイ実行可能ファイルの所有者であるためには、プラットフォーム上で大文字のユーザーIDを設定する必要があります。
SECURITY=SAME
プラットフォーム・オペレーティング・システム認証に類似しています。 この場合、OLTPは、ユーザーが対話の開始側ですでに認証されたていると通知されます。 SECURITY=SAME
の対話が許可されているかどうかに影響を与えるサーバー側の構成パラメータまたはオプションがある可能性があります。 正しく構成されると、OLTPはただユーザーIDが有効であることを確認して接続を受け入れます。 SECURITY=PROGRAM
の場合と同様に、これは多くのOLTPで変更可能です。
TCP/IPセキュリティ
この項のセキュリティ情報は、TCP/IP for IMS Connectを使用しているOracle Database Gateway for APPCのユーザーにのみ該当します。 ゲートウェイがRPCリクエストを受信してリモート・トランザクション・プログラムを起動する際、IMS ConnectとのTCP/IP対話を起動しようと試みます。 IMS ConnectはOTMAとXCFを介してOLTP(IMS)に接触します。 詳細については、IBM I「MS接続ガイドとリファレンス」を参照してください。 ゲートウェイと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アプリケーション・プログラムが対話を開始し、対話レベルのセキュリティ・データを処理する前に、ネットワーク・ソフトウェアにより完全実行されます。 セッション・レベル・セキュリティを使用する場合、使用するプラットフォーム、およびアクセスされるOLTP内の類似のパラメータ構造で、正確なパスワード情報が確立される必要があります。
TCP/IP対話セキュリティの指定
ゲートウェイ初期化ファイルのPGA_SECURITY_TYPE
パラメータを使用すると、OLTPのゲートウェイによって割り当てられる対話のセキュリティ動作を指定できます。 「TCP/IP通信プロトコルのゲートウェイ初期化パラメータ」を参照してください。
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ユーザーズ・ガイド」を参照してください。
ゲートウェイ初期化ファイルのパスワード
初期化パラメータには、IDやパスワードなどの機密情報が含まれている場合があります。 初期化パラメータはプレーンテキスト・ファイルに格納されますが、これは安全ではありません。 異機種間サービスに暗号化機能が追加されたため、パラメータ値を暗号化することが可能です。 暗号化には、dg4pwd
ユーティリティが使用されます。 このユーティリティの詳細については、「Oracle Database異機種間接続ユーザーズ・ガイド」を参照してください。