ユーザー・マッピング
ユーザー・マッピングは、フェデレーテッド・サーバー上の 許可 ID とリモート・データ・ソースに接続するために必要な情報との間の関連です。
- ローカル許可 ID
- サーバー定義で指定されたリモート・データ・ソース・サーバーのローカル名
- リモート ID およびパスワード
以下に例を示します。
CREATE USER MAPPING FOR <db2inst1>
SERVER <server_name>
OPTIONS (
REMOTE_AUTHID '<admin>',
REMOTE_PASSWORD '<password>);
説明- db2inst1 は、 Db2® インスタンスのローカル許可 ID を指定します。 キーワード USER または PUBLIC、あるいは Db2 インスタンス名を使用する必要があります。 USER は現在の Db2 ユーザー用で、 PUBLIC はすべての Db2 ユーザー用です。
- server_name は、JDBC データ・ソースに対する CREATE SERVER ステートメントで定義したサーバー定義名を指定します。 ユーザー・マッピングはサーバー・ステートメントと対になります。
- admin は、リモート・データ・ソース (MySQL など) のリモート・ユーザー ID を指定します。 CREATE SERVER ステートメントで FOLD_ID サーバー・パラメーターを「U」または「L」に設定しない限り、この値は大/小文字が区別されます。
- password は、リモート・データ・ソース (MySQL など) のリモート・パスワードを指定します。 CREATE SERVER ステートメントで FOLD_PW サーバー・オプションを「U」または「L」に設定しない限り、この値は大/小文字が区別されます。
デフォルトでは、フェデレーテッド・サーバーはユーザー・マッピングを グローバル・カタログ内の SYSCAT.USEROPTIONS ビューに保管して、リモート・パスワードを暗号化します。 代替方法として、ファイルまたは LDAP サーバーなどの外部リポジトリーを使用して、 ユーザー・マッピングを保管することもできます。 フェデレーテッド・サーバーと外部リポジトリーとの間のインターフェースを提供するには、 ユーザー・マッピング・プラグインを作成します。
ユーザー・マッピングをどのように保管する場合でも、それらに対するアクセスを注意深く制限してください。 ユーザー・マッピングで暗号漏えいが発生した場合、リモート・データベース内のデータは、無許可の活動に対してぜい弱になることがあります。
連携コンポーネントでは、パブリック・ユーザー・マッピングを作成して、すべてのローカル・データベース・ユーザーが単一のリモート・ユーザー ID とパスワードを使用してデータ・ソースにアクセスできるようにすることもできます。
ローカル許可 ID は、データベースに接続した許可 ID を指定するシステム・ユーザーか、現行セッションに使用されている現行のランタイム許可 ID を指定するセッション・ユーザーのいずれかにすることができます。
CREATE USER MAPPING FOR Mary SERVER argon OPTIONS (REMOTE_AUTHID 'remote_ID', REMOTE_PASSWORD 'remote_pw')
CREATE USER MAPPING FOR sessionuser1 SERVER argon OPTIONS (REMOTE_AUTHID 'remote_ID', REMOTE_PASSWORD 'remote_pw')
「SET SESSION AUTHORIZATION」ステートメントまたは「SET SESSION_USER=」ステートメントを使用すると、SESSION_USER 特殊レジスターの値は「sessionuser1」に変更されますが、リモート・データベースに接続することはできます。
関連情報: