![]() | |
Sun Java™ System Identity Manager 7.0 リソースリファレンス |
データベーステーブルデータベーステーブルアダプタは、com.waveset.adapter.DatabaseTableResourceAdapter クラスで定義されます。
このアダプタは、JDBC ドライバを備えたリレーショナルデータベースをすべてサポートします。
データベーステーブルリソースアダプタは、単一のカスタムデータベーステーブルに配置されたユーザーに接続して管理するための一連の手順を実行できるように設計されています。このアダプタは、アカウント変更をポーリングする Active Sync もサポートします。
注
このリソースは、多数のテーブルに通常みられる DBMS システムアカウントを管理するようには設計されていません (アダプタはジョイン操作をサポートしていない)。DBMS システムアカウントを管理したい場合には、Oracle、SQL Server、DB2、Sybase、および MySQL リソースを引き続き使用してください。
リソースを設定する際の注意事項
なし
Identity Manager 上で設定する際の注意事項
SQL Server へのすべての接続は、同じバージョンの Microsoft SQL Server JDBC ドライバを使用して実行してください。使用可能なバージョンは 2005 または 2000 です。これには、リポジトリだけではなく、SQL Server のアカウントまたはテーブルを管理または要求するすべてのリソースアダプタ (Microsoft SQL アダプタ、Microsoft Identity Integration Server アダプタ、データベーステーブルアダプタ、スクリプト JDBC アダプタ、これらのアダプタをベースとするすべてのカスタムアダプタなど) が含まれます。異なるバージョンのドライバを使用しようとすると、競合エラーが発生します。
使用上の注意
ここでは、データベースリソースアダプタの使用に関連する次のような設定の注意点について説明します。
一般的な設定
新しくデータベーステーブルリソースを設定するには、次の手順に従います。
- データベースアクセスパラメータを指定します。データベースタイプ、接続情報、管理対象のテーブルが配置されているデータベース名などがあります。
- そのデータベースで使用可能なすべてのテーブルが、「データベーステーブル」ページに表示されます。このリソースのリソースアカウントを格納するテーブルを選択します。
- Identity Manager で管理する列をテーブルから選択します。ウィザードページで表示されている列のうちの 1 つをキー列として指定し、ユーザーのアカウント名属性用に使用します。さらに、別の 1 列をパスワード列として指定し、アカウントパスワード用に使用します。その他の列は、管理対象の属性として選択できます。
- リソーススキーママップページには、管理対象として選択されたこれらの属性が表示されます。このページにはキー属性やパスワード属性は表示されません。これらの属性は暗黙的に管理されます。
- Active Sync 設定ページでは、Active Sync に関連するデータベーステーブル属性を任意で指定できます。アダプタを Active Sync として使用しない場合は、これらの値をスキップできます。詳細については、「ActiveSync 設定」を参照してください。
- このリソースに使用するアイデンティティーテンプレートを指定します。これは、キー属性に使用する Identity Manager の属性名です。
- このリソース用の Identity Manager リソースパラメータを指定します。ここには、リソース名、Active Sync のスケジューリングとロギング、リソースの承認者などの情報が含まれます。
ActiveSync 設定
データベーステーブルアダプタは、Active Sync ポーリングの実行中に、ユーザーフォーム (指定されている場合はワークフロー) に渡すためのリソースアカウントを、指定したデータベーステーブルから選択します。
「静的検索述語」パラメータによって、データベースから返されるアカウントを限定するために使用される任意の静的な述語を指定します。述語は SQL 式として評価されます。このパラメータは、ネイティブな SQL 構文で表してください。
次の例は、このパラメータの使用方法を示したものです。
syncState = 'P'
この例では、syncState という名前の列が存在することと、P が取り得る値であることが必要です。この値を「最後にフェッチされた述語」パラメータと結合させることで、完全な修飾子が形成されます。
「付加する結合子」パラメータの値は、AND または OR です。これは、最後にフェッチされた述語の前に付加される結合を指定します。
「最後にフェッチされた述語」パラメータでは、述語をもう 1 つ任意で指定しますが、この述語には、Identity Manager で定義された 1 つ以上のユーザー属性を含めることができます。この機能によって、前回のポーリングで返された値を現在のポーリングで返された値と比較する述語を、ネイティブ SQL 構文で構築することができます。たとえば、lastMod 列にタイムスタンプが格納されていれば、その値を各ポーリングで比較することができます。次に、現在のポーリングの値が前のポーリングの値より大きい場合は、データベースエントリに関する情報を返します。次の式は、この機能を示しています。
lastMod > '$(lastmod)'
括弧内に指定する値は、スキーママップページで定義された Identity Manager ユーザー属性にします。$(lastmod) トークンは、前のポーリングで返された値に置き換えられます。たとえば、2004-06-20 6:23:00 などの値になります。
データベーステーブルアダプタは、「静的検索述語」、「付加する結合子」、および「最後にフェッチされた述語」リソースパラメータを連結して、次のような検索式を送信します。
syncState = 'P' AND lastMod > '2004-06-20 6:23:00'
ORDER BY パラメータを使用すると、指定した順序で行を処理するためのポーリングを強制する、ネイティブの SQL ORDER BY 節を指定できます。値の中には ORDER BY という単語を含めないでください。たとえば、lastMod の値を指定する場合、行は lastMod 列に基づいて、昇順に並べ替えられます。
オプションで、「変更時に実行するプロセス」パラメータを指定した場合、データベースから返されるそれぞれの修飾アカウントで起動する Identity Manager ワークフローが特定されます。このワークフローに渡される値のマップは、スキーママップの左側の属性によってキー設定されます。この値が指定されていない場合は、標準の Active Sync ユーザーフォーム処理によって更新が実行されます。
セキュリティーに関する注意事項
データベーステーブルに接続するプロキシユーザーには、次の特性が必要です。
- ユーザーは、アクセスされるデータベーステーブルまたはビューを所有している必要があります。修飾子を使用して所有者を指定せずに、接続ユーザー名によってテーブルまたはビューを参照できる必要があります。
- ユーザーには、アダプタがサポートするように設定されている任意のアクションを実行するための権限を与えてください。最低限、ユーザーにはデータベーステーブルまたはビュー (配下のテーブルを含む可能性がある) に対する SELECT 特権が必要です。たとえば、アダプタがユーザーを作成、更新、削除するように設定されている場合、ユーザーには SELECT、INSERT、UPDATE、および DELETE 特権が必要です。
プロビジョニングに関する注意事項
次の表に、このアダプタのプロビジョニング機能の概要を示します。
アカウント属性
リソースユーザー属性は、リソースの作成時または編集時にウィザードによって入力されます。次に、選択したユーザーのこれらの列の値が、Identity Manager ユーザー属性で見つかった対応する属性名でマップされます。
このアダプタでは、Oracle の BLOBなどのバイナリデータ型がサポートされます。対応する属性は、スキーママップでバイナリとしてマークされている必要があります。バイナリ属性の例には、グラフィックスファイル、オーディオファイル、証明書などがあります。
waveset.properties ファイル内の sources.ResourceName.hosts プロパティーを使用して、Active Sync アダプタの同期部分の実行にクラスタ内のどのホストを使用するかを制御できます。ResourceName は、リソースオブジェクトの名前に置き換えてください。
リソースオブジェクトの管理
なし
アイデンティティーテンプレート
$accountId$
サンプルフォーム
なし
トラブルシューティング
Identity Manager のデバッグページを使用して、次のクラスにトレースオプションを設定します。
com.waveset.adapter.DatabaseTableResourceAdapter
さらに、リソースインスタンスに対して次の Identity Manager Active Sync ロギングパラメータを設定できます。