DB2 10.5 for Linux, UNIX, and Windows

データベース管理権限 (DBADM)

DBADM 権限は、特定のデータベースに対する管理権限です。データベース管理者は、オブジェクトの作成およびデータベース・コマンドの発行に必要な特権を所有します。DBADM 権限は、システム・カタログ表とビューにおける SELECT 特権を持ち、監査ルーチンと SET_MAINT_MODE_RECORD_NO_TEMPORALHISTORY プロシージャーを除くすべての組み込み DB2® ルーチンを実行できます。

DBADM 権限を付与または取り消すことができるのは、セキュリティー管理者 (SECADM 権限を保持する) だけで、この権限はユーザー、グループ、または役割に対して付与できます。PUBLIC は直接にも間接的にも DBADM 権限を取得することはできません。

データベースに対して 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 権限の取り消し

セキュリティー管理者が DATAACCESS 権限または ACCESSCTRL 権限が含まれる DBADM 権限を付与した場合、こうした権限を取り消すには、DATAACCESS 権限または ACCESSCTRL 権限をセキュリティー管理者は明示的に取り消す必要があります。例えば、以下のようにセキュリティー管理者がユーザーに DBADM 権限を付与するとします。
GRANT DBADM ON DATABASE TO user1

デフォルトで、DATAACCESS 権限と ACCESSCTRL 権限も user1 に付与されます。

後ほど、以下のようにしてセキュリティー管理者は user1 から DBADM 権限を取り消します。
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 によって付与されます。

またバージョン 9.7 より前のリリースでは、DBADM 権限を付与すると以下の権限も自動的に付与されていました。
  • BINDADD
  • CONNECT
  • CREATETAB
  • CREATE_EXTERNAL_ROUTINE
  • CREATE_NOT_FENCED_ROUTINE
  • IMPLICIT_SCHEMA
  • QUIESCE_CONNECT
  • LOAD
バージョン 9.7 より前では、DBADM 権限を取り消しても、これらの権限は取り消されませんでした。

バージョン 9.7 では、これらの権限は DBADM 権限の一部になりました。バージョン 9.7 で DBADM 権限を取り消すと、これらの権限も失われます。

ただし、バージョン 9.7 にアップグレードした際にユーザーが DBADM 権限を保持していた場合、DBADM 権限を取り消してもこれらの権限は失われません。バージョン 9.7 で DBADM 権限を取り消すとユーザーがこれらの権限を失うことになるのは、バージョン 9.7 で付与された DBADM 権限を保持してこうした権限を獲得した場合のみです。