Data Virtualization にデータソース接続を追加して、個人認証情報で接続する
Data Virtualization における個人認証情報の使用によるパススルー認証は、初期プレビュー版としてのみご利用いただけます。 本番環境ではこの機能を使用しないでください。
パススルー認証を有効にすると、ユーザーは接続を追加し、定義することができます。これにより、仮想テーブルが照会された際に、プラットフォーム接続で定義されたユーザーの個人認証情報がデータソースに渡され、認証が行われるようになります。
パススルー認証が無効になっている場合、どのユーザーが接続してクエリを実行しているかに関係なく、1つのアカウントの共有認証情報がすべてのクエリに使用されます。 ユーザーが個人認証情報を使用するプラットフォーム接続を作成し、それを Data Virtualization に追加すると、その接続を追加したユーザーの認証情報を使用して、すべてのユーザーがデータソースに接続します。
パススルー認証が有効になっている場合、個人認証情報を使用するデータソースに対しては、キャッシュ(ユーザーキャッシュや自動生成キャッシュを含む)を作成できません。 キャッシュ作成を有効にするには、 TOGGLEPERSONALCREDENTIALSUSEINCACHE ストアドプロシージャ Data Virtualization を参照してください。
また、仮想オブジェクト上にキャッシュが作成された場合、データは Data Virtualization のアクセスおよびガバナンスモデル内に配置され、データソースに実装されている可能性のある制御を回避します。 データを適切に保護するためには、管理者はキャッシュを作成する前に、 Data Virtualization 内の仮想オブジェクトおよび管理対象カタログに適切なアクセスリストとガバナンスポリシーが定義されていることを確認する必要があります。
- パススルー認証が有効になっている場合の例
- Ginaは Data Virtualization の管理者ユーザーであり、 Data Virtualization の接続を Db2 for z/OS に追加します。 この接続を追加するには、Ginaはデータソースのテーブルへのアクセス権限を持つ個人認証情報を使用する必要があります。 ジーナが接続を追加した後、 Data Virtualization のエンジニアであるリーは、ジーナの個人認証情報にアクセスできるソーステーブルのデータを仮想化します。 Data Virtualization ユーザーであるカイルは、プラットフォーム接続で設定した自身の個人認証情報を使用して、リーが作成した仮想化を追加し、使用します。
- パススルー認証が無効になっている場合の例
- Ginaは Data Virtualization の管理者ユーザーであり、 Data Virtualization の接続を Db2 for z/OS に追加します。 この接続を追加するには、Ginaはデータソースのテーブルへのアクセス権限を持つ個人認証情報を使用する必要があります。 ジーナが接続を追加した後、 Data Virtualization のエンジニアであるリーは、ジーナの個人認証情報にアクセスできるソーステーブルのデータを仮想化します。 Data Virtualization ユーザーであるカイルは、次にジーナの認証情報を使用して、リーが作成した仮想化を使用します。
始める前に
個人認証情報を使ってデータソースのテーブルに問い合わせを行う場合は、以下の要件が満たされていることを確認してください- パススルー認証は、管理者によって有効化されている必要があります。 詳細については、 パススルー認証の有効化と無効化 Data Virtualization をご覧ください。
- プラットフォーム接続でデータソースにアクセスできなければ、データソースに認証情報を追加できません。 詳細は、「プラットフォーム接続におけるコラボレータの管理 」を参照してください。
- 個人認証を有効にするには、まずプラットフォームの接続ページで接続を作成する必要があります。 Personal を認証オプションとして選択してください。これにより、各ユーザーはデータにアクセスするために各自の認証情報を入力する必要があります。 接続を作成した後は、このオプションを変更することはできません。注: 個人認証情報では、各ユーザーは に各自の認証情報を入力する必要があります。そうしないと、 関連のタスクを仮想化またはプレビューしようとした際にエラーが発生します。 Data Virtualization
- 個人認証情報を使用するには、以下の手順に従って、IAMでAPIキーを設定する必要があります。
- IAMで、 [アクセス] に移動します。
- APIキーに移動し、次に 「作成」 を選択します。
- DVAASUSERAPIKEYストアドプロシージャを実行します。 詳細は、 DVAASUSERAPIKEY ストアドプロシージャを参照してください。
call dvsys.setDVAASUSERAPIKEY(<USER_API_KEY>)`
- ホスト名
- データソースのホスト名。
- ポート
- データソースサービスのネットワークポート。
- データベース名
接続に使用するデータベースの名前。
- 「接続オプション」
- 追加オプションのコンマ区切りリストを
の形式で指定します。'<key1>=<value1>, <key2>=<value2>, ...'
- ユーザー
- データソースのユーザー名。 接続先のデータソースでは、ユーザー名とパスワードの権限をより高く設定する必要があります。 ユーザ名とパスワードは、データベースのメタデータの取得や、カタログまたはクエリによる統計情報の収集などの操作で使用されます。
- パスワード
指定されたユーザーのパスワード。
- SSL
- データベース接続で SSL を使用するかどうかを指定します。 有効な値は、0 (接続は SSL を使用しない) および 1 (接続は SSL を使用する) です。
- ノード名
- データソースを追加するノード。 有効なノード名を見つけるには、以下のクエリを実行します
SELECT * FROM DVSYS.LISTNODES;
注: 同じノードに多数のデータソースを追加すると、パフォーマンスに影響します。 どのノードにすでにデータソースが関連付けられているかを確認するには、以下のクエリを実行しますSELECT * FROM DVSYS.LISTRDBC;
- CCID
- プラットフォーム接続のユニークな識別子は、接続の URL に含まれています。
- CID
- データソース接続のユニークな識別子。
テーブルからdvsys.rdb_connections
を取得するには、次のコマンドを実行しますcid
この識別子はUIでも確認できます。 に移動し、 データソースページで接続を展開すると、CIDが表示されます。select cid, url from dvsys.rdb_connections;
- CCDEFINER
- ユーザーを識別するためのプラットフォーム独自のID。 この識別子は、 Data Virtualization に接続を追加するユーザーを識別するために使用されるものと同じです。 このユーザーは、プラットフォーム接続で接続を作成したユーザーでもあり、データソースへの認証情報は、 User および Password パラメータで渡されます。 ユーザーの固有の識別子を確認するには に移動します。 識別子は、 ユーザーID列の値です。
CCDEFINERは Db2 セッションユーザーであり、次のコマンドを実行することで取得できます
SELECT SESSION_USER FROM SYSIBM.SYSDUMMY1
Data Virtualization に個人認証情報を使用して接続を追加する
接続を追加するには、 SQLを実行 インターフェースで setrdbcx SQLコマンドを実行し、 Data Virtualization 接続の設定オプションを設定します。次の例を参照してください
call dvsys.setrdbcx('DB2','9.30.167.128',50000,'SAMPLE','','<user>','<password>',0,0,'','','qpendpoint_1:6415','CCID=611335a2-164b-4873-be5e-074989d12dee,CCDEFINER=1000330999,USE_PERSONAL_CREDENTIALS=TRUE',?,?,?)
setrdbcx ストアドプロシージャの詳細については、 setRdbcX ストアドプロシージャ(バリエーション1) または setRdbcX ストアドプロシージャ(バリエーション2) を参照してください。
Data Virtualization に追加された接続を、個人認証情報を使って編集する
個人認証情報を使ってデータソース接続を Data Virtualization に追加した後、 Data Virtualization のユーザーインターフェースでデータソース接続を編集しないでください。OPTIONS_CSVが上書きされてしまうためです。 を使用して追加した接続を編集するには、 setrdbcx次の例に示すように、 編集するデータ ソースの追加オプション EDITCID= CID (接続 ID) を使用します。
dvsys.setrdbcx('DB2','9.30.167.128',50000,'SAMPLE','','db2inst1','db2inst1',0,0,'','','qpendpoint_1:6415','CCID=611335a2-164b-4873-be5e-074989d12dee,CCDEFINER=1000330999,USE_PERSONAL_CREDENTIALS=TRUE,EDITCID=DB210000',?,?,?)
setrdbcx ストアドプロシージャの詳細については、 setRdbcX ストアドプロシージャ(バリエーション1) または setRdbcX ストアドプロシージャ(バリエーション2) を参照してください。
制限事項と既知の問題
- Data Virtualization ウェブクライアントの 全体表示 は、個人認証が有効になっているデータソースに対してユーザーがアクセス権限を持つテーブルとビューのみを表示します。
- Virtualizeページのリスト表示で、テーブルやビューが常に表示されない。