« PostgreSQL用のJDBCドライバ | Main | Seasar SMART deploy環境でのDaoへのIntercept »

2007.07.09

PostgreSQLのロール設定

 PostgreSQL(8.2.4)のロール設定のメモ。Windows版のPostgreSQLを使用し、pgAdminIIIで設定する場合の例です。なお、設定は全てユーザpostgres(スーパユーザ権限)で行っています。

  • グループロールの作成
      ロール名testrole
      ログイン可チェックなし
      パスワード(空欄)
      アカウントの失効(空欄)
      ロール権限全てオフ

       ここでログイン可をチェックありでロールの作成を行うと、おそらく次の「ログインロールの作成」は不要となるかと思います。詳しく調べたわけではないのですが、グループロールとログインロールを分けることにより、ログインロールを「ログイン用のアカウント」のような感じで扱えるのではないかと思います(複数のログインユーザに対して同じロールを割り当てたり、逆にあるログインユーザに対して複数のロールを割り当てたりすることがしやすくなるのではないかと)。


  • ログインロールの作成
      ロール名testuser
      ログイン可チェックあり(※というか、変更不可ですが)
      パスワードtestuser
      アカウントの失効(空欄)
      ロール権限全てオフ

       これだけだと、「データベースにログインは出来るがアクセスする権限はない」ので、グループロールの割当を行う必要があります。

    • 「ロールメンバー」タブでメンバー以外の列にtestroleが表示されているはずですので、「>>」ボタンを押してメンバーとして登録。
    • 「変数」タブで、変数名:role、変数値:testroleを追加。

  • データベースの作成
      名前testdb
      オーナーtestuser
      エンコーディングUTF-8
      Template(空欄)
      テーブル空間pg_default

  • データベースへのロールの割当
       上記で作成した「testdb」というデータベースに対して、testuserでログインし、各種操作を行えるようにするとした場合、データベースプロパティの「権限」タブでgroup testroleを選択し、ALLにチェックを入れて登録。

  • pg_hba.confの設定
       別端末からアクセスする場合は、(デフォルトでは)localhost以外からのアクセスを拒否するようになっているため、pg_hba.confの設定を変える必要があります。
      「ツール→サーバ構成→pg_hba.conf」を選択すると、「バックエンドアクセス認証エディタ」が表示されるので、空欄の行(最下行でチェックボックスのみが存在する行)でダブルクリック。「クライアントアクセス認証」設定ダイアログが表示されるので、以下のような感じで設定。

      可能チェックあり
      データ型ホスト
      データベースtestdb
      ユーザtestuser
      IPアドレス192.168.0.0/16
      方法password

       設定内容を保存し、サーバリロードを行うと、設定した内容が反映されます。

    IPアドレスは、多くの場合は192.168.x.0/24でOKでしょう。上記設定は、PostgreSQLをVMware等の仮想環境にインストールしている(=異なるセグメントのLANに移動する可能性がある)場合に設定を楽にすることを想定しています。

  • |

    « PostgreSQL用のJDBCドライバ | Main | Seasar SMART deploy環境でのDaoへのIntercept »

    DB」カテゴリの記事

    Comments

    Post a comment



    (Not displayed with comment.)


    Comments are moderated, and will not appear on this weblog until the author has approved them.



    TrackBack

    TrackBack URL for this entry:
    http://app.cocolog-nifty.com/t/trackback/3959/15694767

    Listed below are links to weblogs that reference PostgreSQLのロール設定:

    « PostgreSQL用のJDBCドライバ | Main | Seasar SMART deploy環境でのDaoへのIntercept »