PostgreSQLスキルアップノート(自己啓発のための個人サイト)

グループの作成(グループロール)


【一覧に戻る】



━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■■■■ PostgreSQL スキルアップノート
■■■■
■◆■■ グループの作成(グループロール)
■■■■
■■■■
■■■■ 2013/01/27
■■■■ 使用環境:PostgreSQL9.1.7 (CentOS6.2)
                                                                   (C) 2013 ohdb
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★自己都合により実機確認は9.1、マニュアルへのリンクは9.2としています。ご了承下さい。

【マニュアル】

第 20章データベースロール→●[マニュアル]

CREATE ROLE→●[マニュアル]


【記事】
−



■1■ 実施する内容
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


・オブジェクトの所有者となるユーザu0、及び利用者となるユーザu1,u2を作成する。
・ユーザu0と同名のスキーマu0を作成する。
・u0がu0スキーマの中にテーブルt1を作成する。
・その利用者をまとめて権限管理するためのグループgr0を作成する。
・u1とu2を同じグループに属させる(gr0)
・グループgr0にt1テーブルへのSELECT権限を与える。


ユーザ  u0  スキーマu0とテーブルu0.t1を所有
gr0のメンバ   ユーザu1
              ユーザu2
gr0のメンバはu0.t1への参照権限をもつ。



■2■ ユーザu0の作成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【□】 createuser -P -S -D -R u0

【□】 createuser -P -S -D -R u1

【□】 createuser -P -S -D -R u2



※本ページではユーザの作成はcreateuserコマンドの使用で統一。



■3■ スキーマu0の作成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【□】 psql database1 dba01

【□】 CREATE SCHEMA AUTHORIZATION u0;



■4■ テーブルu0.t1の作成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【□】 \c - u0

【□】 CREATE TABLE u0.t1 (c1 TEXT);INSERT INTO u0.t1 VALUES('test');



■5■ グループ(グループロール)の作成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ここではCREATE ROLEを使用する。


【□】 \c - dba01

【□】 CREATE ROLE gr0;



【参考】グループを作成する場合はLOGIN権限を与えない。




■6■ グループへのメンバ追加
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


【□】 GRANT gr0 TO u1,u2;




■7■ グループロールに権限を付与
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

・gr0にt1テーブルへのSELECT権限を与える。
・しかしt1テーブルはu0というスキーマ内にあるのでそのスキーマへのUSAGE権限も与える必要がある。

【□】 GRANT USAGE ON SCHEMA u0 TO gr0;

【□】 GRANT SELECT ON u0.t1 TO gr0;



■8■ 確認1・メンバu1,u2によるテスト
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


【□】 \c - u1

【□】 select * from u0.t1;

  c1
------
 test
(1 行)


【□】 \c - u2

【□】 select * from u0.t1;


  c1
------
 test
(1 行)



■9■ 確認2・各設定状況
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


ロールの作成状況(\du・・ユーザのu)


【□】 \du+ u[012]*|gr0    uで始まり次が012のいずれかまたはgr0(今回*は本来不要)


                  ロール一覧
 ロール名 |       属性       | メンバー | 説明
----------+------------------+----------+------
 gr0      | ログインできない | {}       |
 u0       |                  | {}       |
 u1       |                  | {gr0}    |
 u2       |                  | {gr0}    |




スキーマの作成状況(\dn・・名前空間のn)

【□】 \dn+ u0


           スキーマ一覧
 名前 | 所有者 | アクセス権 | 説明
------+--------+------------+------
 u0   | u0     | u0=UC/u0  +|
      |        | gr0=U/u0   |




テーブルなどのアクセス権(\dp・・privilegeのp) \zも同じ

【□】 \dp u0.*

                            アクセス権
 スキーマ | 名前 |    型    |  アクセス権   | カラムのアクセス権限
----------+------+----------+---------------+----------------------
 u0       | t1   | テーブル | u0=arwdDxt/u0+|
          |      |          | gr0=r/u0      |





以上 
inserted by FC2 system