このアダプタを使用して、SQL Server 上の複数のデータベースを管理します。サーバー自体へのログインだけでなく、管理対象のデータベースへのログインも管理できます。
カスタム SQL テーブルがある場合、リソースアダプタウィザードを使用してカスタム Microsoft SQL テーブルリソースを作成する方法については、第 10 章データベーステーブルを参照してください。
なし
Microsoft SQL Server リソースアダプタは、カスタムアダプタです。インストールプロセスを完了するには、次の手順を実行する必要があります。
このリソースを Identity Manager のリソースリストに追加するには、「管理するリソースの設定」ページの「カスタムリソース」セクションに次の値を追加する必要があります。
com.waveset.adapter.MSSQLServerResourceAdapter |
Microsoft SQL Server 2005 Driver for JDBC を使用してリソースに接続する場合は、mssqlserver.jar ファイルを InstallDir\idm\WEB-INF\lib ディレクトリにコピーします。
Microsoft SQL Server 2000 Driver for JDBC を使用してリソースに接続する場合は、次の JAR ファイルを Program Files\2000 Microsoft SQL Server 2000 Driver for JDBC\lib ディレクトリから InstallDir\idm\WEB-INF\lib ディレクトリにコピーします。
msbase.jar
mssqlserver.jar
msutil.jar
SQL Server への接続は、すべて同じバージョンの JDBC ドライバを使用して実行してください。これには、リポジトリだけではなく、SQL Server のアカウントまたはテーブルを管理または要求するすべてのリソースアダプタ (Microsoft SQL アダプタ、Microsoft Identity Integration Server アダプタ、データベーステーブルアダプタ、スクリプト JDBC アダプタ、これらのアダプタをベースとするすべてのカスタムアダプタなど) が含まれます。異なるバージョンのドライバを使用しようとすると、競合エラーが発生します。
Windows 認証。この場合、SQL Server はすべての認証とセキュリティーに関して Windows のメカニズムを信頼します。ユーザーが SQL Server にアクセスすると、SQL Server はユーザーのネットワークセキュリティー属性からユーザーとパスワードの情報を取得します。ユーザーに Windows 内部から SQL Server へのアクセス権が許可されている場合、そのユーザーは SQL Server に自動的にログインします。アダプタに渡されるアカウント ID は、Domain \accountID の形式にする必要があります。Windows 認証では、パススルー認証はサポートされていません。
混合モード認証。このシナリオでは、Windows 認証と SQL Server 認証の両方が有効になります。ユーザーが信頼できない接続から指定されたログイン名とパスワードを使用して接続すると、SQL Server ログインアカウントが設定されているかどうか、および指定されたパスワードが以前に記録されたものと一致するかどうかを確認することにより、SQL Server はそれ自体で認証を行います。SQL Server にログインアカウントが設定されていない場合、認証は失敗し、ユーザーはエラーメッセージを受信します。
SQL Server リソースアダプタの Windows 認証モードを Microsoft SQL Server アダプタで設定できるのは、SQL Server サーバーインスタンスと同じ Windows セキュリティーおよび認証フレームワークに含まれる Windows マシンで Identity Manager サーバーが実行されている場合のみです。
JDBC ドライバでは、integratedSecurity 接続文字列プロパティーを使用して、Windows オペレーティングシステムにおけるタイプ 2 の統合認証の使用をサポートします。統合認証を使用するには、sqljdbc_auth.dll ファイルを JDBC ドライバがインストールされているコンピュータの Windows システムパス上のディレクトリにコピーします。
sqljdbc_auth.dll ファイルは、次の場所にインストールされます。
InstallationDirectory\sqljdbc_Version\Language\auth\
32 ビットプロセッサでは、x86 フォルダの sqljdbc_auth.dll ファイルを使用します。64 ビットプロセッサでは、x64 フォルダの sqljdbc_auth.dll ファイルを使用します。
詳細については、次の記事を参照してください。
http://msdn2.microsoft.com/en-us/library/ms378428.aspx
SQL Server リソースアダプタは、次のシステムプロジージャーを使用してユーザーアカウントを管理します。
sp_addlogin、sp_droplogin
sp_addrole
sp_addrolemember、sp_droprolemember
sp_addsrvrolemember、sp_dropsrvrolemember
sp_grantdbaccess
sp_helplogins
sp_helprole
sp_helpuser
sp_helpsrvrolemember
sp_password
sp_revokedbaccess
ここでは、サポートされる接続と特権の要件について説明します。
Identity Manager は、SSL 経由の JDBC を使用して SQL Server と通信します。
次の表に、システムプロジージャーを実行できるユーザーを示します。
システムプロジージャー |
必要なアクセス権 |
---|---|
sp_addlogin |
sysadmin および securityadmin 固定サーバーロールのメンバー。 |
sp_addrole |
sysadmin 固定サーバーロール、および db_securityadmin 固定データベースロールと db_owner 固定データベースロールのメンバー。 |
sp_addrolemember |
sysadmin 固定サーバーロールと db_owner 固定データベースロールのメンバーは、sp_addrolemember を実行して固定データベースロールにメンバーを追加できます。ロールの所有者は、sp_addrolemember を実行して自分が所有する任意の SQL Server ロールにメンバーを追加できます。db_securityadmin 固定データベースロールのメンバーは、任意のユーザー定義のロールにユーザーを追加できます。 |
sp_addsvrrolemember |
sysadmin 固定サーバーロールのメンバー。 |
sp_droplogin |
sysadmin および securityadmin 固定サーバーロールのメンバー。 |
sp_droprolemember |
sysadmin 固定サーバーロール、db_owner 固定データベースロール、および db_securityadmin 固定データベースロールのメンバーのみが、sp_droprolemember を実行できます。db_owner 固定データベースロールのメンバーのみが固定データベースロールからユーザーを削除できます。 |
sp_dropsvrrolemember |
sysadmin 固定サーバーロールのメンバー。 |
sp_grantdbaccess |
sysadmin 固定サーバーロール、db_accessadmin 固定データベースロール、および db_owner 固定データベースロールのメンバー。 |
sp_helplogins |
sysadmin および securityadmin 固定サーバーロールのメンバー。 |
sp_helprole |
デフォルトでは、public ロールに実行権が設定されます。 |
sp_helpsrvrolemember |
デフォルトでは、public ロールに実行権が設定されます。 |
sp_helpuser |
デフォルトでは、public ロールに実行権が設定されます。 |
sp_password |
自分のログイン用のパスワードを変更するユーザーのために、デフォルトで public ロールに実行権が設定されます。sysadmin ロールのメンバーのみがほかのユーザーのログイン用のパスワードを変更できます。 |
sp_revokedbaccess |
sysadmin 固定サーバーロール、db_accessadmin 固定データベースロール、および db_owner 固定データベースロールのメンバー。 |
次の表に、このアダプタのプロビジョニング機能の概要を示します。
機能 |
サポート状況 |
---|---|
アカウントの有効化/無効化 |
あり |
アカウントの名前の変更 |
なし |
パススルー認証 |
|
前アクションと後アクション |
なし |
データ読み込みメソッド |
|
次の表に、デフォルトのアカウント属性 (すべて文字列) を示します。
Identity Manager ユーザー属性 |
リソースユーザー属性 |
説明 |
---|---|---|
domain |
IGNORE_ATTR |
ユーザーが属するドメイン。 |
defaultDB |
defaultDB |
ユーザーがデフォルトで使用するデータベース。 |
serverRoles |
serverRoles |
ユーザーがメンバーになっているデータベースロール。 |
複数のデータベースを管理する可能性があるため、Identity Manager の管理者は、各データベースを管理するためのアカウント属性を追加する必要があります。ほかの管理対象データベースの属性と区別するため、これらの属性には属性名の一部としてデータベース名を含めてください。
Identity Manager ユーザー属性 |
データ型 |
説明 |
---|---|---|
userNameDBName |
String |
データベース上のアカウントのユーザー名。データベースの userName を設定することによってアカウントにデータベースへのアクセス権が与えられ、データベースの userName を消去することによってアクセス権が削除されます。 |
rolesDBName |
String |
データベース上のアカウントのロール。 |
なし
Identity Manager のデバッグページを使用して、次のクラスでトレースオプションを設定します。
com.waveset.adapter.MSSQLServerResourceAdapter
com.waveset.adapter.JdbcResourceAdapter