DB2ADMNS と DB2USERS グループの使用による拡張 Windows セキュリティー

拡張セキュリティーは、 IBM® Data Server Runtime Client および Db2 ドライバーを除く、Windows オペレーティング・システム上のすべての Db2® データベース製品でデフォルトで有効になっています。 IBM Data Server Runtime Client および Db2 Drivers は、Windows プラットフォームで拡張セキュリティーをサポートしていません。

Db2 データベース製品をインストールすると、 Db2 オブジェクトのオペレーティング・システム・セキュリティーを有効にする」 パネルに 「オペレーティング・システム・セキュリティーを有効にする」 チェック・ボックスが表示されます。 このオプションを使用不可にしない限りは、インストーラーは、Db2ADMNS と Db2USERS という 2 つの新規グループを作成します。 DB2ADMNS は Db2 管理者グループであり、 DB2USERS は Db2 ユーザー・グループです。 Db2ADMNS と Db2USERS はデフォルトのグループ名です。必要に応じて、インストール時にこれらのグループに別の名前を付けることもできます。サイレント・インストールを選択した場合は、インストール応答ファイル内でこれらの名前を変更することができます。 システム上に存在するグループを使用することを選択すると、それらのグループの特権が変更されるので注意してください。 必要に応じて、下記の表にリストされている特権が与えられます。

これらのグループはオペレーティング・システム・レベルでの保護に使用され、 Db2 権限レベルに関連付けられていないことを理解することが重要です。 ただし、 Db2 管理者グループ (例: DB2ADMNS) は、データベース・マネージャー構成パラメーター SYSADM_GROUP、SYSMAINT_GROUP、および SYSCTRL_GROUP に値が指定されていない場合に、SYSADM、SYSMAINT、および SYSCTRL のデフォルト・グループとして使用されます。 SYSADM グループを指定する場合は、そのグループを Db2 管理者グループにすることをお勧めします。 この設定は、インストール後に管理者が行えます。

注: Db2 管理者グループ (DB2ADMNS またはインストール時に選択した名前) および Db2 ユーザー・グループ (DB2USERS またはインストール時に選択した名前) は、ローカル・グループまたはドメイン・グループのいずれかとして指定できます。 ただし、両方のグループを同じタイプにする必要があります (つまり、両方をローカルにするか、両方をドメインにするかのどちらかです)。
コンピューター名を変更する場合に、そのコンピューターのグループ Db2ADMNS と Db2USERS がローカル・コンピューター・グループであれば、グローバル・レジストリー Db2_ADMINGROUP と Db2_USERSGROUP を更新する必要があります。 レジストリー変数を更新するには、コンピューターの名前を変更し、コンピューターを再始動させた後で、次のコマンドを実行します。
  1. コマンド・プロンプトを開きます。
  2. db2extsec コマンドを実行して、セキュリティー設定を更新します。
    db2extsec -a new computer name\DB2ADMNS -u new computer name\DB2USERS
注: Windows 7 上の Db2 データベース製品で拡張セキュリティーが有効になっている場合、 DB2ADMNS グループに属するユーザーのみがグラフィカル Db2 管理ツールを実行できます。 加えて、Db2ADMNS グループのメンバーは、完全な管理者特権を使用してツールを起動する必要があります。 管理者特権を使用してツールを起動するには、ショートカットを右クリックして「管理者として実行 (Run as administrator)」を選択します。

Db2ADMNS グループと Db2USERS グループによって取得される権限

Db2ADMNS と Db2USERS グループはメンバーに、以下の機能を提供します。
  • DB2ADMNS

    すべての Db2 オブジェクトに対するフル・コントロール (保護されるオブジェクトについては次のリストを参照)

  • DB2USERS

    インストール・ディレクトリーとインスタンス・ディレクトリーに配置されたすべての Db2 オブジェクトに対する読み取りおよび実行アクセス。ただし、データベース・システム・ディレクトリー以下のオブジェクトにはアクセスできません。また IPC リソースに対しては限定されたアクセスになります。

    特定のオブジェクトに対して、必要に応じて追加的な特権が選択可能です (例えば、書き込み特権、ファイルの追加特権、ファイルの更新特権など)。 このグループのメンバーは、データベース・システム・ディレクトリー以下のオブジェクトにはアクセスできません。
    注: 実行アクセスの意味はオブジェクトによって異なります。例えば、実行アクセス権を持つ .dll または .exe ファイルの場合は、ファイルを実行する権限があることを意味しますが、ディレクトリーの場合は、ディレクトリーを全探索する権限があることを意味します。
すべての Db2 管理者は、Db2ADMNS グループのメンバー (かつローカル Administrators グループのメンバー) にするのが理想です。ただし、これは必須要件ではありません。 Db2 データベース・システムへのアクセス要求をする他のすべてのメンバーは、Db2USERS グループのメンバーである必要 があります。 ユーザーをこれらのグループに追加するには、以下のようにします。
  1. 「ユーザー/パスワード・マネージャー・ツール」を起動します。
  2. ユーザー名を選択し、リストから追加します
  3. 「プロパティー」をクリックします。 「プロパティー」ウィンドウで、「グループ・メンバーシップ」タブをクリックします。
  4. 「その他」ラジオ・ボタンを選択します。
  5. ドロップダウン・リストから適切なグループを選択します。

インストール後の拡張セキュリティー追加 (db2extsec コマンド)

拡張セキュリティーを有効にせずに Db2 データベース・システムをインストールした場合は、コマンド db2extsecを実行して使用可能にすることができます。 db2extsec コマンドを実行するには、ローカルの Administrators グループのメンバーであり、保護されたオブジェクトの ACL を変更する権限を持つ必要があります。

必要に応じて、db2extsec コマンドを複数回実行することができます。ただしその場合、db2extsec実行するたびに 直後に db2extsec -r コマンドを実行をしない限り、拡張セキュリティーを使用不可に設定することはできません。

拡張セキュリティーの削除

注意:
拡張セキュリティーを使用可能にした後に削除する操作は、絶対に必要な場合以外は実行しないでください。

db2extsec -r コマンドを実行して拡張セキュリティーを削除できますが、削除が正常に完了するのは、拡張セキュリティーを有効にした後、データベースの作成、新規インスタンスの作成、表スペースの追加などの他のデータベース操作がされていない場合に限ります。 拡張セキュリティー・オプションを削除する最も安全な方法は、Db2 データベース・システムをアンインストールし、データベース・ディレクトリーを含むすべての関連する Db2 ディレクトリーをすべて削除し、それから拡張セキュリティーを有効にしないで、Db2 データベース・システムを再インストールする方法です。

保護されたオブジェクト

Db2ADMNS と Db2USERS グループを使用して保護することができる静的 オブジェクトには次のものがあります。
  • ファイル・システム
    • ファイル
    • ディレクトリー
  • サービス
  • レジストリー・キー
Db2ADMNS と Db2USERS グループを使用して保護することができる動的 オブジェクトには次のものがあります。
  • 以下を含む IPC リソース
    • パイプ
    • セマフォー
    • イベント
  • 共有メモリー

Db2ADMNS と Db2USERS グループの所有特権

Db2ADMNS と Db2USERS グループに割り当てられた特権を次の表に掲載します。
表 1. Db2ADMNS と Db2USERS グループの特権
特権 DB2ADMNS DB2USERS 理由
トークン・オブジェクトの作成 (SeCreateTokenPrivilege) Y N トークン操作 (一定のトークン操作が要求され、認証と許可に使用されます)
処理レベル・トークンの置換 (SeAssignPrimaryTokenPrivilege) Y N 他のユーザーとして処理の作成
割り当て量の引き上げ (SeIncreaseQuotaPrivilege) Y N 他のユーザーとして処理の作成
オペレーティング・システムの一部としての活動 Y N LogonUser
セキュリティー監査の生成 (SeSecurityPrivilege) Y N 監査とセキュリティー・ログの操作
ファイルと他のオブジェクトの所有権 (SeTakeOwnershipPrivilege) Y N オブジェクト ACL の変更
スケジューリング優先順位の引き上げ (SeIncreaseBasePriorityPrivilege) Y N 処理作業セットの変更
ファイルとディレクトリーのバックアップ (SeBackupPrivilege) Y N プロファイル/レジストリー操作 (次の特定のユーザー・プロファイルとレジストリー操作ルーチンが必要です。LoadUserProfile、RegSaveKey(Ex)、RegRestoreKey、RegReplaceKey、RegLoadKey(Ex))
ファイルとディレクトリーのリストア (SeRestorePrivilege) Y N プロファイル/レジストリー操作 (次の特定のユーザー・プロファイルとレジストリー操作ルーチンが必要です。LoadUserProfile、RegSaveKey(Ex)、RegRestoreKey、RegReplaceKey、RegLoadKey(Ex))
デバッグ・プログラム (SeDebugPrivilege) Y N トークン操作 (一定のトークン操作が要求され、認証と許可に使用されます)
監査とセキュリティー・ログの管理 (SeAuditPrivilege) Y N 監査ログ・エントリーの生成
サービスとしてログオン (SeServiceLogonRight) Y N サービスとして Db2 を実行します。
ネットワークからコンピューターにアクセス (SeNetworkLogonRight) Y Y ネットワーク・クレデンシャルを許可します。(Db2 データベース・マネージャーに LOGON32_LOGON_NETWORK オプションを認証のため使用することを許可します。これは、パフォーマンスに影響します。)
認証後クライアントの偽装 (SeImpersonatePrivilege) Y N クライアントの偽装 (Windows で DB2 クライアントの偽名を使用するため、ImpersonateLoggedOnUser、ImpersonateSelf、RevertToSelf などの特定の API の使用を許可する場合に必要)
メモリー内のロックされたページ (SeLockMemoryPrivilege) Y N ラージ・ページのサポート
グローバル・オブジェクトの作成 (SeCreateGlobalPrivilege) Y Y 端末サーバー・サポート (Windows で必要)