DB2 のデータ プロバイダーのセキュリティと保護

DB2 のデータ プロバイダー (データ プロバイダー) を使用して、Windows データ コンシューマー アプリケーションをリモートの IBM DB2 リレーショナル データベース管理サーバーに接続することができます。 データ プロバイダーは、分散型リレーショナル データベース アーキテクチャ (DRDA) アプリケーション リクエスター クライアントとして機能し、DRDA アプリケーション サーバーとして機能する IBM DB2 サーバー製品と互換性のある DRDA のプロトコルおよび形式をサポートします。

構造化照会言語ステートメントを発行することによって、データ プロバイダーを使用できます。 これらのステートメントには、管理用のデータ定義言語ステートメントや、読み取りおよび書き込み操作用のデータ操作管理ステートメントが含まれます。 データ プロバイダーでは、このトピックの後半で説明するオプションのセキュリティ機能を 1 つ以上使用する Transmission Control Protocol over an Internet Protocol (TCP/IP) ネットワークまたは Systems Network Architecture (SNA) の High Performance Routing over Internet Protocol (HPR/IP) 経由で、Windows クライアント アプリケーションを DB2 サーバー データベースに接続します。

セキュリティ

ユーザー アカウント

データ プロバイダー ツール、データ アクセス ツールおよびデータ リンクは、ユーザー アカウントのコンテキストで実行されます。 ユーザー アカウントは、HIS Administrators ローカル グループと HIS Runtime Users ローカル グループのメンバーである必要があります。

フォルダー アクセス制御リスト

ユーザー アカウントには、HIS Administrators ローカル グループおよび HIS Runtime Users ローカル グループに関連付けられているフォルダー アクセス制御リストの設定が必要です。

Program Files\Microsoft Host Integration Server 2020
Program Files\Microsoft Host Integration Server 2020\system
Program Files\Microsoft Host Integration Server 2020\ SysWOW64
Program Files\Microsoft Host Integration Server 2020\traces
Documents\Host Integration Server\Data Sources

保護

データ プロバイダーでは、DB2 の PUBLIC グループに DB2 パッケージで EXECUTE 権限が付与される

DB2 パッケージの作成時に、データ アクセス ツールおよびデータ プロバイダーでは、DB2 パッケージで EXECUTE 権限が PUBLIC に設定されます。この場合、すべての DB2 ユーザーが含まれます。 DB2 サーバーのセキュリティを向上させるため、これらのパッケージで PUBLIC に対する EXECUTE 権限を取り消し、選択した DB2 ユーザーまたはグループのみに EXECUTE 権限を付与することをお勧めします。

データ ソース ウィザードおよびデータ リンクでは、認証用の資格情報 (ユーザー名およびパスワード) が Universal Data Link (UDL) ファイルまたは接続文字列 (TXT) ファイルにプレーン テキストで格納されます。 データ プロバイダーは、エンタープライズ シングル サインオン (ESSO) を使用するように構成することをお勧めします。これにより、Windows Active Directory アカウントから IBM DB2 資格情報へのマッピングが安全に格納されます。 データ プロバイダーでは、これらのマッピングを実行時に取得することにより、Windows ユーザーをリモート IBM DB2 データベース サーバーに対して安全に認証できます。 データ プロバイダーは、データ コンシューマーおよびデータ ツールと連携して実行する必要があります。

DRDA では、DES に基づく弱い組み込み暗号化をサポートする

DRDA では弱い 56 ビット データ暗号化標準 (DES) テクノロジを使用する組み込み認証およびデータ暗号化がサポートされます。 Secure Sockets Layer (SSL) V3.0 またはトランスポート層セキュリティ (TLS) V2.0 を使用して、強力なデータ暗号化を使用するようにデータ プロバイダーを構成することをお勧めします。 認証だけを暗号化する場合は、強い 256 ビット暗号化をサポートするために Advanced Encryption Standard (AES) を利用できます。

データ プロバイダーでは、暗号化されていないプレーン テキストのユーザー名とパスワードが接続に使用される

データ プロバイダーは基本認証を使用して、TCP/IP ネットワークまたは SNA ネットワーク経由でリモート DB2 サーバー コンピューターに接続します。この際に、ユーザー名とパスワードは暗号化されず、プレーン テキストで送信されます。 データ プロバイダーを構成して、Kerberos、Secure Sockets Layer (SSL) V3.0、トランスポート層セキュリティ (TLS) V1.0、または AES による認証暗号化を使用するよう設定することをお勧めします。

データ プロバイダーでは、暗号化されていないデータが送受信される

データ プロバイダーでは、暗号化されていないデータが送受信されます。 データ プロバイダーを構成して、Secure Sockets Layer (SSL) V3.0 またはトランスポート層セキュリティ (TLS) V1.0 によるデータ暗号化を使用するよう設定することをお勧めします。

DB2 の暗号化標準

DB2 でサポートされる暗号化標準の一覧を次の表に示します。

暗号化 認証 Data
Kerberos はい いいえ
SSL V3 はい はい
TLS V2 はい はい
AES はい いいえ

データ コンシューマーおよびデータ ツールでは、セキュリティ保護されていないフォルダーとの間で接続ファイルの読み書きを行う

データ コンシューマーおよびデータ ツールでは、セキュリティ保護されていないフォルダーとの間で接続ファイルの読み書きを行います。 Universal Data Link (UDL) ファイルまたは接続文字列 (TXT) ファイルを Host Integration Server\Data Sources またはプログラム ディレクトリに格納してから、ローカル管理者権限でフォルダーをセキュリティ保護する必要があります。 接続情報をデータ コンシューマーおよびデータ ツールの Secure Store に保存してから、データ プロバイダーをデータ コンシューマーおよびデータ ツールと連携して実行する必要があります。

データ コンシューマーおよびデータ ツールでは、無効なプロパティを使用して接続を要求できる

データ コンシューマーおよびデータ ツールでは、無効な接続プロパティ値を使用して接続を要求できます。 未確認の接続文字列引数の名前値ペアを渡すのではなく、データ プロバイダーの接続オブジェクトを使用して接続を作成するデータ コンシューマーを使用する必要があります。 無効な接続試行をキャンセルするために、接続タイムアウト値を設定する必要があります。

データ コンシューマーおよびデータ ツールでは、無効なデータを使用してコマンドを要求できる

データ コンシューマーおよびデータ ツールでは、無効なデータを使用してコマンドを要求できます。 未確認のコマンド文字列をインラインのデータ値と一緒に渡すのではなく、データ プロバイダー コマンドとパラメーター オブジェクトを使用してパラメーターの種類を検証するためのコマンドを作成するデータ コンシューマーを使用する必要があります。 無効なコマンド試行を取り消すには、コマンド タイムアウト値を設定する必要があります。 2 フェーズ コミット トランザクションを使用してデータ コンシューマーを保護するには、リモート作業単位 (RUW) ではなく DRDA 分散作業単位 (DUW) を使用する必要があります。

参照

セキュリティと保護