天天看點

postgresql 使用者安全配置

一、配置說明:

角色名稱:user01 

1.user01權限說明:

連接配接test資料庫,未授權時無法連接配接其它資料庫;

在指定schema,建立\檢視\删除表,檢視schema中對象;

2.其它普通使用者:

無法連接配接test資料庫及schema(sales)中對象,需要授權;

二、操作步驟:

instance(執行個體級): role(角色)

$ psql postgres

postgres=# CREATE ROLE user01 LOGIN NOSUPERUSER NOCREATEDB;

2.database(資料庫級): CREATE(schemas) and CONNECT(database)

postgres=# CREATE DATABASE test;

postgres=# REVOKE ALL ON DATABASE test FROM public; -- 禁止其它普通role連接配接test

postgres=# GRANT CONNECT ON DATABASE test TO user01;

3.schema(架構級):

CREATE(put object into schema)

USAGE (allow us to actually look into a schema and see which objects are present).

$psql test

test=# REVOKE ALL ON SCHEMA public FROM public;-- 其它普通role無法連接配接test

test=# CREATE SCHEMA sales;

CREATE SCHEMA

test=# GRANT CREATE,USAGE ON SCHEMA sales TO user01; -- user01 可以在sales中建立、檢視對象

GRANT

test=# \q

$ psql test -U user01

test=> CREATE TABLE sales.t_sales (id int4);

CREATE TABLE

4.table(表級): grant 

預設user01建立、drop表和DML表内容

5.column(列級):grant

預設user01建立、drop表和DML列内容

本文轉自 pgmia 51CTO部落格,原文連結:http://blog.51cto.com/heyiyi/1871200