管理の手引き


統合データベースの認証処理

配布された結合インストール機能をインストールしてあり、 統合された DBM 構成変数を 'YES' に設定してある場合、 DB2 システムは統合システムとして機能します。 統合システム中のデータベース認証設定は、標準の DB2 定義と少し異なります。 最も重要な点として、 統合システムではデータ・ソースの認証要件を考慮する必要があります。 一般には、データ・ソース (DB2、 Oracle、 DB2 (OS/390 版) など) は、 必須認証にセットアップされます。 つまり、ID およびパスワード (必須) が、 必ずデータ・ソースに流れるようにする必要があります。 ここでは DB2 が提供する、 データ・ソースで認証をサポートするための方法をすべて説明します。

認証の設定

SERVER
DB2 に接続するクライアントが、 DB2 にアクセスするためのユーザー ID とパスワードを提供することを指定します。 この場合、ユーザー ID とパスワードは、データ・ソースへの伝送に使用できます。 実際にはサーバー・オプションとユーザー・マッピングを介して データ・ソースに渡されるものを制御しますが、 データ・ソースへの伝送には認証情報が使用可能です。

CLIENT
オペレーティング・システムの機密保護を使用して、 アプリケーションが呼び出されたデータベース区画上で認証が行われることを指定します。 データ・ソースへの直接の伝送に、パスワードは使用できません。 この場合、データ・ソースに認証が必要であれば、 1 つ以上のユーザー・マッピングを作成する必要があります。 また、サーバー・オプションが、確実に正しいユーザー ID およびパスワード情報をデータ・ソースに伝送するように設定する必要もあります。

CLIENT 認証の使用時には、細心の注意を払ってください。 この形式の認証は、ネットワークの保護の場合のみ考慮します。 次の条件が満たされる場合、ユーザーには統合データベースの SYSADM 権限があります。

DCS
認証が、DB2 ではなくデータ・ソースで行われるように指定します。 この場合、標準 DB2 認証処理はう回されます。 ユーザー ID およびパスワードは、 サーバー・オプション設定に基づいてデータ・ソースに直接渡されます。 認証は、Oracle または DB2 ファミリーのデータ・ソースでのみ行われます。

認証が DCS に設定される場合、細心の注意を払ってください。 認証は、クライアントでも DB2 でも行われません。 SYSADM 許可名を知っているユーザーは、 統合サーバー用の SYSADM 権限を持っているとみなすことができます。

DCE
認証が DCE に設定されると、 ユーザー ID だけがデータ・ソースへの伝送に使用可能になります。 パスワードは使用できません。 データ・ソースに認証処理 (ユーザー ID およびパスワード) が必要な場合、 パスワード (およびおそらくユーザー ID も) をデータ・ソースに伝送する、 ユーザー・マッピングを定義することが必要です。 データ・ソースが DB2 接続を承認する場合、 外部機密保護システムから受け取る ID をデータ・ソースに渡すことができるので、 ユーザー・マッピングは必要ありません。

他の DB2 認証設定も可能であり、1 つ以上がデータ・ソースへの伝送用の DB2 で、 パスワードが使用可能であるという結果になります。 DB2 およびクライアント認証設定が DB2 へのパスワードの伝送という結果になる場合、 そのパスワードはデータ・ソースでの付加的な認証処理で使用可能です。 詳細については、表 25 を参照してください。

ID とパスワードをデータ・ソースに渡す

データ・ソースへの認証情報の伝送を制御するには、4 つの方法があります。 DB2 認証設定、ユーザー・マッピング、サーバー・オプション、および APPC 機密保護設定です。

認証の設定

この節の目的は、認証の設定が統合システムのグローバル認証処理に、 どのような影響を与えるかを分かりやすく説明することです (認証の設定の定義については、 認証の設定を参照してください)。 たとえば、DB2 認証が SERVER または DCS である場合、 ユーザー ID とパスワードが接続に必要です。 したがってユーザー ID とパスワードは、データ・ソースへの伝送に使用できます。 認証が DCE または CLIENT に設定され、 認証が統合データベースを含む DB2 システムでは行われない場合、 ユーザー ID だけが使用可能になります。 データ・ソース認証処理にパスワード (または、 場合によっては異なるユーザー ID とパスワード) が必要な場合、 ユーザー・マッピングを作成する必要があります。 認証が CLIENT に設定され、 trust_clntauth パラメーター設定が SERVER である場合、 DB2 にパスワードを送信し、データ・ソースへの伝送に使用可能にすることができます。

ユーザー・マッピング

DB2 は、DB2 への接続に使用する許可名、 または DB2 で定義される許可名のどちらかを送信できます。 ユーザー・マッピングは DB2 で定義された許可名を保管します。 これらの名前は CREATE USER MAPPING ステートメントで作成されます。

ユーザー・マッピングは柔軟です。ID を新しい ID とパスワード、 または単にパスワードだけにマップすることができます。 これらを使って欠落している情報を提供したり、 ID およびパスワードをデータ・ソースが受け入れる値に変更したりすることができます。

ユーザー・マッピングを作成または変更するには、 SYSADM または DBADM 権限のうちの 1 つを保持しているか、 または認証 ID がステートメントに指定される許可名と一致していなければなりません。

ユーザー・マッピングのステートメント例を次に示します。

   CREATE USER MAPPING FOR "SHAWN" SERVER DB21 OPTIONS (REMOTE_AUTHID "SHAWNBCA",
   REMOTE_PASSWORD "MAPLELEAF")

ここで、DB2 認証 ID (SHAWN) が、リモート ID SHAWNBCA と、 DB21 という名前のサーバーのリモート・パスワード MAPLELEAF にマッピングされます。

DB2 での許可名 (またはパスワード) とデータ・ソースでの許可名 (またはパスワード) の相違点が、 渡されるストリングが大文字か小文字かというだけのものである場合、 新しい ID とパスワードを作成するよりも、サーバー・オプションを使用して、 必要な設定に文字を変換することを考慮してください。 詳細については、サーバー・オプションを参照してください。

認証設定が DCE で、データ・ソースに認証処理 (パスワードが求められる) が必要な場合、 ユーザー・マッピングを作成する必要があります。 DB2 は DCE ユーザー ID をデータ・ソースに渡すだけです。 パスワードをそのユーザー ID にマップしてから、データ・ソースに送信することが必要です。

サーバー・オプション

サーバー・オプションは、全体的な認証サポートを提供するのに使用できます。 サーバー・オプションを使って、パスワードがデータ・ソースに渡されるかどうか (通常は渡される)、 およびユーザー ID とパスワードを大文字または小文字に変換する必要があるかどうかを示します。 サーバー・オプションは、CREATE SERVER、ALTER SERVER、 および SET SERVER OPTION ステートメントを使って設定します。

認証処理に特定のサーバー・オプションについては、この節の残りの部分で説明します。 サーバー・オプションのより完全なリストは、データ・ソースの定義に役立ち、認証処理を容易にするサーバー・オプションの使用に掲載されています。

パスワード・サーバー・オプション

パスワードの省略時設定は 'Y' です (パスワードはデータ・ソースに送信されます)。 データ・ソースが認証を実行し、暗号化されたパスワードを要請していない場合はすべて、 このオプションを 'Y' のままに、または 'Y' に設定してください。

DB2 は、暗号化されたパスワードを伝送できます。 パスワードが暗号化された形式で DB2 ファミリーのデータ・ソースに送信される必要がある場合、 サーバー・オプション・パスワードを 'ENCRYPTION' に設定します。 DB2 での認証設定が DCS_ENCRYPT または SERVER_ENCRYPT である場合、 パスワードを 'ENCRYPTION' に設定することをお勧めします。

ユーザー ID は常にデータ・ソースに送信されます。

ID およびパスワードの大文字への変換オプション

許可名とパスワードには、場合によっては変更が必要です。 異なるデータ・ソースの許可名およびパスワード要件では、 ID およびパスワードが (大文字または小文字の使用に関して) 異なることがあります。

DB2 は、名前の相違を解決するのに役立つ 2 つのオプションを備えています。 オプション名は fold_id および fold_pw で、設定は次のとおりです。

'U'
DB2 は、パスワードをデータ・ソースに送信する前に、 許可名またはパスワードを大文字に変換します。

'N'
DB2 は許可名またはパスワードの大文字小文字を変換しません。

'L'
DB2 は、パスワードをデータ・ソースに送信する前に、 許可名またはパスワードを小文字に変換します。

null
DB2 は、まず許可名またはパスワードを大文字で送信します。 失敗すると、DB2 はそれを小文字に変換し、再度送信します。

null 設定は、多くの可能性をカバーするので、好ましく思えるかもしれません。 しかし、パフォーマンスの見通しから考えると、 接続に対してなされる試みが 1 つだけになるようにこれらのオプションを設定するのが最善です。 fold_id および fold_pw オプションが null に設定される場合、 DB2 が 4 つの試みを行って許可名とパスワードを送信することが可能です。

  1. 許可名とパスワードの両方を大文字にする。
  2. 許可名を大文字、パスワードを小文字にする。
  3. 許可名を小文字、パスワードを大文字にする。
  4. 許可名とパスワードの両方を小文字にする。

APPC 機密保護設定

APPC を介してユーザー ID とパスワードが必要な DRDA データ・ソースへ接続している場合、 または認証設定が DCS で DRDA データ・ソースで認証を行っている場合、 DB2 およびそのデータ・ソース間の APPC 機密保護設定を、必ず PROGRAM にしてください。

統合データベース認証の例

この節では、統合システムの認証および許可ステップの概要について説明します。 統合データベースの認証および許可処理の概要については、 図 48 を参照してください。

図 48. 統合データベースの認証および許可の処理


SQLD0FAP

このシナリオのタスクは、 ユーザー DJINSTL が 2 つのニックネーム (NN1 と NN2) に対して UNION 操作を実行できるようにすることです。 ニックネームは、2 つの表を表します。 1 つのデータ・ソースは、DJINSTL が異なるユーザー ID と、 MVS1 というパスワード (図 48 を参照) を持つ、DB2 (OS/390 版) です。 MVS1 で情報にアクセスするには、ユーザー・マッピングが必要です。 他のデータ・ソースは、DJINSTL の ID とパスワードが同じである DB2 システムです。 このデータ・ソース、DB21 で必要なのは、 単にユーザー ID とパスワードを大文字で送信することだけです。

DB2 認証は SERVER に設定されます。 DJINSTL は TCP/IP 接続を介して Windows NT クライアントから DB2 にアクセスします。 DB2 から DB2 (OS/390 版) への接続も TCP/IP です。 統合データベース名は DJDB1 です。

まず、DB2 がパスワードを求めていること、 そしてパスワードが送信されていることを確認します。 また、クライアントおよびサーバー認証のタイプは必ず一致させます。 次のコマンドを発行して、DB2 サーバー認証タイプを検査します。

   GET DATABASE MANAGER CONFIGURATION

この検査は DB2 サーバーから行います。 次のコマンドを発行して、クライアント認証タイプを検査します。

   LIST DATABASE DIRECTORY

この検査はクライアントから行います。 どちらの場合も、認証は確実に SERVER に設定してください。 クライアントの設定が DCS または CLIENT である場合、 UNCATALOG DATABASE および CATALOG DATABASE コマンドを使用して設定を変更できます。

次に、パスワードを確実にデータ・ソースに送信します。 統合データベース DJDB1 に接続した後、次のコマンドを発行します。

   ALTER SERVER MVS1 OPTIONS (SET password 'Y')
   ALTER SERVER DB21 OPTIONS (SET password 'Y')

次に、パスワードを適切な文字ケースで DB21 データ・ソースに送信します。

   ALTER SERVER DB21 OPTIONS (ADD fold_id 'U')
   ALTER SERVER DB21 OPTIONS (ADD fold_pw 'U')

次のステップは、統合データベース DJDB1 に接続し、ニックネームを選択するために、 ユーザー DJINSTL を許可する特権を付与することです。

   GRANT CONNECT ON DATABASE DJDB1 TO DJINSTL;

次に、DJINSTL の DB2 ID およびパスワードを、 MVS1 サーバーの正しいユーザー ID およびパスワードにマップします。

   CREATE USER MAPPING FOR "DJINSTL" SERVER MVS1 OPTIONS (REMOTE_AUTHID "SHAWN",
   REMOTE_PASSWORD "MVS4YOU")

この時点で、DB2 ユーザー ID DJINSTL は、データ・ソースに要求を送信できます。 ニックネームが参照するデータ・ソース・オブジェクトにアクセスするには、 さらに付加的なステップが必要になることがあります (ニックネームが参照する表、 および視点には、通常は特権が必要です)。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]