15 セキュリティ上の考慮事項

ゲートウェイ・アーキテクチャには、別個のセキュリティ機能および制限を持つ複数のコンピュータ設定が関連します。この項では、セキュリティ・システムを計画および実装するための情報を提供します。

内容は次のとおりです。

15.1 セキュリティの概要

複数の異なるシステムを接続する場合、一般的にはセキュリティ要件が最も厳格なシステムによりシステム全体が統制および管理されます。

ゲートウェイのセキュリティには、次の2つのグループが関連します。

  • 特定のゲートウェイ・インスタンスおよびDRDAデータベース・サーバーへのアクセスを許可されたユーザーおよびアプリケーション

  • ユーザーおよびアプリケーションにより問合せおよび更新可能なサーバー・データベース・オブジェクト

ゲートウェイ・アーキテクチャにおけるアクセスは、複数の点で制御できます。ユーザーIDに基づくGRANTおよび関連ネイティブ認証メカニズムを持つ各DRDAデータベース・サーバーでは、データベース・オブジェクトへのアクセスを制御できます。

ゲートウェイがSQLリクエストに関連する場合、セキュリティ・メカニズムは、ゲートウェイによって処理される各DRDAシステム・コンポーネントに対して有効です。処理される最初のシステム・コンポーネントは、アプリケーション・ツールまたは3GLプログラムです。処理される最後のシステム・コンポーネントは、DRDAデータベースです。

15.2 アプリケーション・ログオンの認証

アプリケーションは、ゲートウェイを使用する前にOracle Databaseに接続する必要があります。使用するログオン認証のタイプにより、結果としてOracleユーザーIDが決まり、ゲートウェイの動作にも影響します。認証には次の2つの基本タイプがあります。

  • Oracle認証: Oracle認証では、各OracleユーザーIDが、Oracle Databaseにより認識されるパスワードを保持します。アプリケーションは、サーバーに接続すると、ユーザーIDとパスワードを入力します。Oracle Databaseは、そのユーザーIDが存在することと、パスワードがデータベースに保存されているものと一致することを確認します。

  • オペレーティング・システム認証: オペレーティング・システム認証では、サーバーの基礎となるオペレーティング・システムにより認証が行われます。オペレーティング・システム認証では、パスワードのかわりにIDENTIFIED EXTERNALLY属性を使用して作成されたOracleユーザーIDにアクセスします。このユーザーIDにログインする場合、アプリケーションはユーザーIDに対してスラッシュ文字(/)を提供し、パスワードは提供しません。

    オペレーティング・システム認証を実行するには、サーバーがリクエスト元オペレーティング・システムのユーザーIDを決定し、オプションでそれに固定の接頭辞を追加して、その結果をOracleユーザーIDとして使用します。サーバーは、そのユーザーIDが存在し、IDENTIFIED EXTERNALLY属性を備えていることを確認しますが、パスワード・チェックは行いません。この場合の基礎となる前提条件は、オペレーティング・システムへのログイン時にユーザーが認証されていることです。

    オペレーティング・システム認証は、すべてのプラットフォームで使用できるわけではなく、一部のOracle Net(クライアント/サーバー)構成やマルチスレッド・サーバー構成では使用できません。この機能の使用可否を判断するには、Oracle Databaseインストレーション・ガイド11g for UNIX SystemsおよびOracle Netのドキュメントを参照してください。

アプリケーション・ログオンの認証に関する詳細は、Oracle Databaseリファレンスを参照してください。

15.3 データベース・リンクの定義と制御

ここでの情報は、ゲートウェイに固有です。データベース・リンクの詳細は、『Oracle Databaseリファレンス』を参照してください。

15.3.1 リンクのアクセス可能性

データベース・リンクは、特定のユーザーからアクセス可能である必要があります。いずれのユーザーIDもパブリック・データベース・リンクを使用できます。プライベート・データベース・リンクを使用できるのは、それを作成したユーザーのみです。サーバーでは、使用タイプ(読取り専用と更新または書込みなど)またはリモート・オブジェクトへのアクセス可能性に関する区別は行われません。これらの区別を行うのは、アクセスされるDRDAデータベースです。

15.3.2 リンクとCONNECT句

CONNECT句は、また別のデータベース・リンクのセキュリティ関連属性です。CONNECT句を使用して、明示的なユーザーIDおよびパスワードを指定できます(これらはユーザーのOracle DatabaseユーザーIDおよびパスワードとは異なることがあります)。このCONNECTユーザーIDとパスワードの組合せは、データベース・リンク接続が最初にオープンされるときにゲートウェイに送信されます。ユーザーIDとパスワードは、ゲートウェイのオプションによっては、検証のためにゲートウェイからDRDAサーバーに送信されることもあります。

データベース・リンクがCONNECT句なしで作成されると、接続のオープン時に、ユーザーのOracle DatabaseユーザーIDとパスワードがゲートウェイに送信されます。ユーザーがオペレーティング・システム認証を使用してOracle Databaseにログインする場合、ゲートウェイは、Oracle DatabaseからユーザーIDやパスワードを受け取りません。この場合、DRDAサーバーにおけるユーザーIDのマッピング機能が使用され、このような接続が可能になります(同じホスト上のすべてのユーザーが同じDRDAデータベース・ユーザーIDを使用できる場合)。

15.4 ゲートウェイ初期化ファイルのパスワード

ゲートウェイでは、ユーザーIDとパスワードを使用してDRDAサーバー上のリモート・データベースの情報にアクセスします。ユーザーIDおよびパスワードは、リソース・リカバリなどの機能を処理するために、ゲートウェイ初期化ファイルで定義される場合があります。セキュリティを意識した現在の環境では、初期化ファイル上でアクセス可能なプレーン・テキスト・パスワードは、セキュアではないとみなされます。セキュリティを向上するために、異機種間サービスの汎用接続性の一部として暗号化機能が追加されました。この機能には、ゲートウェイからアクセスできます。この機能により、機密値を含む初期化パラメータは、暗号化された形式で格納できます。この機能の使用方法の詳細は、Oracle Database Heterogeneous Connectivityユーザーズ・ガイド4.2.3項「初期化パラメータの暗号化」を参照してください。

関連項目:

詳細は、初期化パラメータのパラメータHS_FDS_RECOVERY_ACCOUNTおよびHS_FDS_RECOVERY_PWDを例として参照してください。