/bonvhp/webapp2/PostgreSQL       [後へ]   [目次へ]   [次へ] ~ [] ~

PostgreSQL:ログインロール

これからしばらくは、PgAdmin を実際に操作しながら、
データベースを作成していきます。

ログインロールは、
データベースへのアクセス権限を複数用意するために使用します。

もし、
誰でも簡単に
データベースそのものすら消せるとしたら、
安心してデータを入力できません。

PostgreSQL では、
・データベース管理者は何でもでき、
・一般ユーザーは、個々のデータの入出力だけ、
とか、
・ユーザー毎にアクセスできるデータベースを制限する、
など、
柔軟なアクセス権限の制御が可能です。

これらユーザーの区別に用いるのが、
ログインロールです。

# ログインロールを複数まとめてグループ化するための、
# グループロールも作成できますが、本稿では扱いません。

では、ログインロールを作ってみましょう。
# データベースへデータを登録のところで
# 一度、作成していますが、
# 再度、確認の意味で新しいロールを作ってみてください。

PgAdmin を起動していなければ、
"C:\Program Files\PostgreSQL\17\pgAdmin 4\runtime\pgAdmin4.exe"
で起動、
[PostgreSQL 17] をダブルクリックして、
中身を開きます。

・[Login/Group Roles] を右クリック。[Create...]、[Login/Group Roles...]

・「General」タブで、
  Name:sql_sample
・「Definition」タブで、
  Password:sql_sample
・「Privileges」タブで、
  ・「Can login?」
  ・「Create database?」
  だけにチェックを入れます。
  # 他は外しておきます。

下記のようなロールが作成されていれば OK です。


ここで、一旦、データベースを切断し、
sql_sample のロールで接続し直します。
具体的には、
・[PostgreSQL 17] を右クリック。
・「Disconnect from server」、「Disconnect」

・[PostgreSQL 17] を右クリック
・「Properties...」
・「Connection]タブの
  「Username」を postgres から sql_sample に書き換えます。

・[PostgreSQL 17] をダブルクリック。
  パスワードを聞かれるので、sql_sample と入力します。
  これで、ロール sql_sample で、接続しました。

  # 「Save Passowrd」にチェックを付けておけば、
  # 次回からは聞かれなくなります。

doc_list を含め、内容を閲覧する分には支障もない事を確認しておきます。

次に、sql_sample には特定の権限しか与えていないので、
他の権限が使えない事を見ておきましょう。
具体的には、
・[Login/Group Roles]、[postgres] を右クリック
・「Properties...」
・「Privileges」タブを見ます。
  どの設定もグレーアウトしていて、変更できないはずです。
  # Privileges の設定を変更するには、「Create roles」権限が必要です。
/bonvhp/webapp2/PostgreSQL       [後へ]   [目次へ]   [次へ]