最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
postgresql角色的簡(jiǎn)單介紹

Postgresql數(shù)據(jù)庫(kù)如何新建登錄用戶(hù)

我們使用Postgresql數(shù)據(jù)庫(kù)的時(shí)候,默認(rèn)都是用postgres用戶(hù)進(jìn)行數(shù)據(jù)操作。但是有時(shí)為了數(shù)據(jù)安全,我們會(huì)另外建一些賬號(hào)給相關(guān)的工作人員使用。那么Postgresql數(shù)據(jù)庫(kù)中如何新建登錄用戶(hù)呢?下面我給大家分享一下。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出固始免費(fèi)做網(wǎng)站回饋大家。

工具/材料

pgAdmin4

01

首先打開(kāi)Postgresql的管理工具pgAdmin4,接著雙擊服務(wù)器名稱(chēng),如下圖所示

02

在彈出的Connect to Server界面中輸入postgres用戶(hù)的密碼,然后點(diǎn)擊OK按鈕,如下圖所示

03

進(jìn)入到數(shù)據(jù)庫(kù)以后右鍵單擊"登錄/組角色"選項(xiàng),選擇Create下面的Login/Group Role選項(xiàng),如下圖所示

04

接下來(lái)會(huì)彈出創(chuàng)建登錄用戶(hù)的界面,我們先給用戶(hù)起一個(gè)名字,盡量是英文,如下圖所示

05

然后切換到Definition頁(yè)卡,給登錄用戶(hù)設(shè)置一個(gè)登錄密碼,如下圖所示,注意Connection limit要設(shè)置為-1

06

接著切換到Privileges界面,這里需要給登錄用戶(hù)設(shè)置一下操作權(quán)限,大家可以根據(jù)自己的需要設(shè)置即可,如下圖所示

07

接下來(lái)切換到Membership頁(yè)卡,給登錄用戶(hù)設(shè)置一個(gè)角色,這里我直接把管理員的角色給它了,如下圖所示

08

上述設(shè)置完畢以后回到數(shù)據(jù)庫(kù)主界面,我們就可以看到"登錄/組角色"下面就已經(jīng)有我們新建的登錄用戶(hù)了,如下圖所示

09

最后我們斷開(kāi)當(dāng)前的連接,用新建的用戶(hù)進(jìn)行登錄,如果登錄正常的話則代表一切設(shè)置成功,如下圖所示

PostgreSQL 怎樣給一個(gè)用戶(hù)授予只讀角色

postgresql 設(shè)置只讀用戶(hù)

`

CREATE USER readonly WITH ENCRYPTED PASSWORD 'ropass';

alter user readonly set default_transaction_read_only=on;

GRANT USAGE ON SCHEMA public to readonly;

ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly;

-- repeat code below for each database:

GRANT CONNECT ON DATABASE foo to readonly;

\c foo

GRANT USAGE ON SCHEMA public to readonly;

GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO readonly;

GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;

`

postgresql用戶(hù)和角色的區(qū)別

用戶(hù)是系統(tǒng)的使用者,而角色是指在企業(yè)管理中擁有某一類(lèi)職能的組織,這個(gè)角色組織可以是實(shí)際的部門(mén),可以是由擁有同一類(lèi)職能的人構(gòu)成的虛擬組織。

一個(gè)角色可以擁有多個(gè)用戶(hù),一個(gè)用戶(hù)也可以分屬于多個(gè)不同的角色 。

PostgreSQL的用戶(hù),角色跟權(quán)限管理怎么解決

Pg權(quán)限分為兩部分,一部分是“系統(tǒng)權(quán)限”或者數(shù)據(jù)庫(kù)用戶(hù)的屬性,可以授予role或user(兩者區(qū)別在于login權(quán)限);一部分為數(shù)據(jù)庫(kù)對(duì)象上的操作權(quán)限。對(duì)超級(jí)用戶(hù)不做權(quán)限檢查,其它走acl。對(duì)于數(shù)據(jù)庫(kù)對(duì)象,開(kāi)始只有所有者和超級(jí)用戶(hù)可以做任何操作,其它走acl。在pg里,對(duì)acl模型做了簡(jiǎn)化,組和角色都是role,用戶(hù)和角色的區(qū)別是角色沒(méi)有l(wèi)ogin權(quán)限。

可以用下面的命令創(chuàng)建和刪除角色,

CREATE ROLE name;

DROP ROLE name;

為了方便,也可以在 shell 命令上直接調(diào)用程序 createuser 和 dropuser,這些工具對(duì)相應(yīng)命令提供了封裝:

createuser name

dropuser name

數(shù)據(jù)庫(kù)對(duì)象上的權(quán)限有:SELECT,INSERT, UPDATE,DELETE,RULE, REFERENCES,TRIGGER,CREATE, TEMPORARY,EXECUTE,和 USAGE等,具體見(jiàn)下面定義

typedefuint32AclMode; /* a bitmask of privilege bits */

#define ACL_INSERT (10) /* forrelations */

#defineACL_SELECT (11)

#defineACL_UPDATE (12)

#defineACL_DELETE (13)

#defineACL_TRUNCATE (14)

#defineACL_REFERENCES (15)

#defineACL_TRIGGER (16)

#defineACL_EXECUTE (17) /* for functions */

#defineACL_USAGE (18) /* for languages, namespaces, FDWs, and

* servers */

#defineACL_CREATE (19) /* for namespaces and databases */

#defineACL_CREATE_TEMP (110) /* for databases */

#defineACL_CONNECT (111) /* for databases */

#defineN_ACL_RIGHTS 12 /* 1plus the last 1

#defineACL_NO_RIGHTS 0

/*Currently, SELECT ... FOR UPDATE/FOR SHARE requires UPDATE privileges */

#defineACL_SELECT_FOR_UPDATE ACL_UPDATE

我們可以用特殊的名字 PUBLIC 把對(duì)象的權(quán)限賦予系統(tǒng)中的所有角色。 在權(quán)限聲明的位置上寫(xiě) ALL,表示把適用于該對(duì)象的所有權(quán)限都賦予目標(biāo)角色。

beigang=# grantall on schema csm_ca to public;

GRANT

beigang=# revoke all on schema csm_ca frompublic;

REVOKE

beigang=#

每種對(duì)象的all權(quán)限定義如下:

/*

* Bitmasks defining "allrights" for each supported object type

*/

#defineACL_ALL_RIGHTS_COLUMN (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_REFERENCES)

#defineACL_ALL_RIGHTS_RELATION (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_DELETE|ACL_TRUNCATE|ACL_REFERENCES|ACL_TRIGGER)

#defineACL_ALL_RIGHTS_SEQUENCE (ACL_USAGE|ACL_SELECT|ACL_UPDATE)

#defineACL_ALL_RIGHTS_DATABASE (ACL_CREATE|ACL_CREATE_TEMP|ACL_CONNECT)

#define ACL_ALL_RIGHTS_FDW (ACL_USAGE)

#defineACL_ALL_RIGHTS_FOREIGN_SERVER (ACL_USAGE)

#defineACL_ALL_RIGHTS_FUNCTION (ACL_EXECUTE)

#defineACL_ALL_RIGHTS_LANGUAGE (ACL_USAGE)

#defineACL_ALL_RIGHTS_LARGEOBJECT (ACL_SELECT|ACL_UPDATE)

#defineACL_ALL_RIGHTS_NAMESPACE (ACL_USAGE|ACL_CREATE)

#defineACL_ALL_RIGHTS_TABLESPACE (ACL_CREATE)

用戶(hù)的屬性可參見(jiàn)下圖:

視圖 pg_roles提供訪問(wèn)數(shù)據(jù)庫(kù)角色有關(guān)信息的接口。 它只是一個(gè) pg_authid 表的公開(kāi)可讀部分的視圖,把口令字段用空白填充了。

Table 42-39.pg_roles字段

名字

類(lèi)型

引用

描述

rolname

name

角色名

rolsuper

bool

有超級(jí)用戶(hù)權(quán)限的角色

rolcreaterole

bool

可以創(chuàng)建更多角色的角色

rolcreatedb

bool

可以創(chuàng)建數(shù)據(jù)庫(kù)的角色

rolcatupdate

bool

可以直接更新系統(tǒng)表的角色。(除非這個(gè)字段為真,否則超級(jí)用戶(hù)也不能干這個(gè)事情。)

rolcanlogin

bool

可以登錄的角色,也就是說(shuō),這個(gè)角色可以給予初始化會(huì)話認(rèn)證的標(biāo)識(shí)符。

rolpassword

text

不是口令(總是 ********)

rolvaliduntil

timestamptz

口令失效日期(只用于口令認(rèn)證);如果沒(méi)有失效期,為 NULL

rolconfig

text[]

運(yùn)行時(shí)配置變量的會(huì)話缺省


網(wǎng)站名稱(chēng):postgresql角色的簡(jiǎn)單介紹
鏈接URL:http://fisionsoft.com.cn/article/dscdsei.html