小編給大家分享一下postgresql中用戶安全配置的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)客戶idc服務(wù)中心,提供服務(wù)器托管雅安、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價(jià)的產(chǎn)品以及開放、透明、穩(wěn)定、高性價(jià)比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時(shí)標(biāo)準(zhǔn)級(jí)技術(shù)保障。
一、配置說明:
角色名稱:user01
1.user01權(quán)限說明:
連接test數(shù)據(jù)庫,未授權(quán)時(shí)無法連接其它數(shù)據(jù)庫;
在指定schema,建立\查看\刪除表,查看schema中對象;
2.其它普通用戶:
無法連接test數(shù)據(jù)庫及schema(sales)中對象,需要授權(quán);
二、操作步驟:
instance(實(shí)例級(jí)): role(角色)
$ psql postgres
postgres=# CREATE ROLE user01 LOGIN NOSUPERUSER NOCREATEDB;
2.database(數(shù)據(jù)庫級(jí)): CREATE(schemas) and CONNECT(database)
$ psql postgres
postgres=# CREATE DATABASE test;
postgres=# REVOKE ALL ON DATABASE test FROM public; -- 禁止其它普通role連接test
postgres=# GRANT CONNECT ON DATABASE test TO user01;
3.schema(架構(gòu)級(jí)):
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(表級(jí)): grant
默認(rèn)user01創(chuàng)建、drop表和DML表內(nèi)容
5.column(列級(jí)):grant
默認(rèn)user01創(chuàng)建、drop表和DML列內(nèi)容
以上是“postgresql中用戶安全配置的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!