データベース管理権限 (DBADM)
DBADM 権限は、特定のデータベースに対する管理権限です。データベース管理者は、オブジェクトの作成およびデータベース・コマンドの発行に必要な特権を所有します。DBADM 権限は、システム・カタログ表とビューにおける SELECT 特権を持ち、監査ルーチンと SET_MAINT_MODE_RECORD_NO_TEMPORALHISTORY プロシージャーを除くすべての組み込み DB2® ルーチンを実行できます。
DBADM 権限を付与または取り消すことができるのは、セキュリティー管理者 (SECADM 権限を保持する) だけで、この権限はユーザー、グループ、または役割に対して付与できます。PUBLIC は直接にも間接的にも DBADM 権限を取得することはできません。
- 非セキュリティー関連のデータベース・オブジェクトの作成、変更、およびドロップ
- ログ・ファイルの読み取り
- イベント・モニターの作成、活動化、およびドロップ
- 表スペースの状態の照会
- ログ履歴ファイルの更新
- 表スペースの静止
- 任意の表スペースの使用
- 表の再編成
- RUNSTATS ユーティリティーを使用してのカタログ統計の収集
SQLADM 権限と WLMADM 権限は、DBADM 権限のサブセットです。WLMADM 権限には、ワークロードにおける USAGE 特権を付与する付加的な能力もあります。
DBADM 権限とともに DATAACCESS 権限を付与する
セキュリティー管理者は、データベース管理者がデータベース内のデータにアクセスできるかどうかを指定できます。DATAACCESS 権限は、特定のデータベース内のデータに対するアクセスを許可する権限です。セキュリティー管理者は GRANT DBADM ON DATABASE ステートメントの WITH DATAACCESS オプションを使用すると、この権限をデータベース管理者に付与できます。WITH DATAACCCESS または WITHOUT DATAACCCESS のどちらのオプションも指定しないと、デフォルトで DATAACCESS 権限が付与されます。
DATAACCESS 権限なしでデータベース管理者権限を付与するには、SQL ステートメントで GRANT DBADM WITHOUT DATAACCESS を使用します。
DBADM 権限とともに ACCESSCTRL 権限を付与する
セキュリティー管理者は、データベース管理者がデータベース内の特権の付与および取り消しを行えるかどうかを指定できます。ACCESSCTRL 権限は、ユーザーが特定のデータベース内の特権および非管理権限を付与および取り消すことができるようにする権限です。セキュリティー管理者は GRANT DBADM ON DATABASE ステートメントの WITH ACCESSCTRL オプションを使用すると、この権限をデータベース管理者に付与できます。WITH ACCCESSCTRL または WITHOUT ACCCESSCTRL のどちらのオプションも指定しないと、デフォルトで ACCESSCTRL 権限が付与されます。
ACCESSCTRL 権限なしでデータベース管理者権限を付与するには、SQL ステートメントで GRANT DBADM WITHOUT ACCESSCTRL を使用します。
DBADM 権限の取り消し
GRANT DBADM ON DATABASE TO user1
デフォルトで、DATAACCESS 権限と ACCESSCTRL 権限も user1 に付与されます。
REVOKE DBADM ON DATABASE FROM user1
これで、user1 は DBADM 権限を保持しなくなりましたが、DATAACCESS 権限と ACCESSCTRL 権限は依然として保持しています。
REVOKE ACCESSCTRL, DATAACCESS ON DATABASE FROM user1
従来のリリースの DBADM 権限との違い
バージョン 9.7 では、DB2 許可モデルが更新され、システム管理者、データベース管理者、およびセキュリティー管理者の権限が明確に分離されました。この機能拡張の一部として、DBADM 権限によって付与される機能が変更されました。バージョン 9.7 より前のリリースでは、DBADM 権限にはデータにアクセスする機能と、データベースに特権を付与および取り消す機能が自動的に含まれていました。バージョン 9.7 では、既に説明したように、これらの機能は新しい権限 DATAACCESS および ACCESSCTRL によって付与されます。
- BINDADD
- CONNECT
- CREATETAB
- CREATE_EXTERNAL_ROUTINE
- CREATE_NOT_FENCED_ROUTINE
- IMPLICIT_SCHEMA
- QUIESCE_CONNECT
- LOAD
バージョン 9.7 では、これらの権限は DBADM 権限の一部になりました。バージョン 9.7 で DBADM 権限を取り消すと、これらの権限も失われます。
ただし、バージョン 9.7 にアップグレードした際にユーザーが DBADM 権限を保持していた場合、DBADM 権限を取り消してもこれらの権限は失われません。バージョン 9.7 で DBADM 権限を取り消すとユーザーがこれらの権限を失うことになるのは、バージョン 9.7 で付与された DBADM 権限を保持してこうした権限を獲得した場合のみです。