horioの雑記帳

データ分析屋さんが、気の向いた事を色々メモってる雑記帳。

DB2 V10.5の権限

 忘れそう&案外資料がないのでメモっておく。地味なネタで誰得なのは承知済。

話の前提

ORACLEを念頭にした際の留意点

本題:V10.5の権限関係

 DB2の権限は、V9.7以降大幅に変わっており、管理者が3人必要。ポイントは、それぞれの出来る事が、互いに背反であること
例えば、SYSADMはDBを作成できるものの、作成したDBの中身に対してはLOAD(他DBで言うBULK INSERT)が打てないとか。

  • SYSADM:インスタンスレベルでの操作に関する管理者。例えば、DBの作成など
  • SECADM:与えられたDBに対する、セキュリティ関連の管理者。例えば、GRANT, REVOKEなど
  • DBADM:与えられたDBに対する、DBレベルでの操作関連の管理者。例えば、DROP/CREATE TABLE, REORG, RUNSTATS, LOAD、等々。

 と文字で書くより、以下の図を見た方が早い。
f:id:horihorio:20150109233329p:plain
f:id:horihorio:20150109233643p:plain

 なおこの図は、以下DB2 V10.5公式マニュアル(日本語訳)の、PDFでのページ数p.42とp.44よりコピペ。
http://public.dhe.ibm.com/ps/products/db2/info/vr105/pdf/ja_JP/DB2Security-db2secj1051.pdf

留意点

 DBを作る際にIDが3つ必要。同一IDで、異なる系統の権限を兼任しようとしたら怒られた。そのため、DBADMで投げたクエリの実行状況を取得するために、そのままSYSIBMADMスキーマが触れずに大騒ぎが発生とか。業務では、運用設計や書類、各所への調整などで結構高いハードルかも。

(ついで)~V9.5までと、V9.7との権限の比較

http://www.ibm.com/developerworks/jp/data/products/db2/pdf/db2v97_security.pdf
これの、PDFでのページ数pp.5-6を参照。