[pgsql-jp: 30796] Re: アクセス認証の改造

Tatsuo Ishii t-ishii @ sra.co.jp
2003年 8月 17日 (日) 08:28:25 JST


石井です.

> PostgreSQL 7.3.2 (RedHat 9)では、アクセス権の設定は、テーブル pg_class のカ
> ラム relacl に、タイプ aclitem[]  として格納されています。
> これを、以下のように変更したいのですが、どなたか改造個所をお教え願えませんで
> しょうか?

aclitem[]を持っているシステムカタログはpg_classだけではないので,他も
全部チェックする必要があります.思いつくだけでも pg_namespaceとか
pg_databaseとか.pg_procもかな.

> 新規システムテーブル pg_acl ( relname, usename, access ) を用いてアクセス権
> を設定・管理する。

ここも同じくaclitemを持っているのはテーブルだけではないので,これでは
駄目でしょう.

> 新規システムテーブル pg_member ( grosysid, usesysid ) を用いてグループを設定
> ・管理する。

システムカタログの追加になるので,

> 予想される変更箇所
> システム初期化プロセス
> grant関連
> revoke関連
> クエリー時の認証
> create table関連
> drop table関連
> group関連

ほかにsyscacheの追加とかいりますね.詳しくはutils/cache/syscache.cあた
りを見てください.後はpg_hba.confあたりを管理するルーチンに変更が必要
になるかも知れません.

最後に,もう見ていると思いますが,aclをいじっているモジュールは,
catalog/aclchk.cにあります.
--
Tatsuo Ishii



pgsql-jp メーリングリストの案内