PostgreSQL のアクセス権限

PostgreSQL データベースの作成

Darryl Reeves

Industry Assistant Professor, New York University

PostgreSQL のロールと権限

  • ユーザーはロールの一種
  • グループロールも定義可能
  • データベースオブジェクトのアクセスはロールに付与
PostgreSQL データベースの作成

GRANT コマンド

  • 権限は所有者がロールに「GRANT」する
  • GRANT コマンドで権限を付与
  • 付与できる主な権限:
    • SELECT
    • DELETE
    • UPDATE
      GRANT p ON obj TO grantee;
      
PostgreSQL データベースの作成

例: 個人向け資産管理データベース

CREATE TABLE account (
    id SERIAL PRIMARY KEY,
    short_name VARCHAR(25),
    provider_id INTEGER REFERENCES provider(id),
    balance DECIMAL
);
CREATE USER fin WITH PASSWORD '38\5)uk1+3&}*Y';
PostgreSQL データベースの作成

例: 個人向け資産管理データベース

  • fin ユーザーは account テーブルへのアクセスが必要
  • fin の権限
    • 口座の追加
    • 口座の更新
    • 口座の参照
  • スーパーユーザーが権限を付与
    GRANT INSERT ON account TO fin;
    
GRANT UPDATE ON account TO fin;
GRANT SELECT ON account TO fin;
PostgreSQL データベースの作成

テーブル変更の権限

  • 付与できない権限もある
  • テーブル変更には所有権が必要
ALTER TABLE account ADD COLUMN date_opened DATE;
ALTER TABLE account RENAME COLUMN short_name

TO nickname;
ALTER TABLE account OWNER TO fin;
PostgreSQL データベースの作成

Laten we oefenen!

PostgreSQL データベースの作成

Preparing Video For Download...