使用角色的概念管理數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限。
角色可以是數(shù)據(jù)庫(kù)用戶和一組數(shù)據(jù)庫(kù)用戶,可擁有數(shù)據(jù)庫(kù)對(duì)象。
- 1.數(shù)據(jù)庫(kù)角色
獨(dú)立于操作系統(tǒng)用戶。
創(chuàng)建角色: create role name;
刪除角色: drop role name;
確定現(xiàn)有角色: select * from pg_roles; 或者\(yùn)du 列出現(xiàn)有角色。
新安裝的數(shù)據(jù)庫(kù)默認(rèn)有一個(gè)預(yù)定義角色:postgres.
給定客戶端連接可以連接的數(shù)據(jù)庫(kù)角色集,由客戶端身份驗(yàn)證設(shè)置決定.
- 2. 角色屬性
這些屬性定義其權(quán)限并與客戶端身份驗(yàn)證系統(tǒng)交互。
登錄權(quán)限(login privilege):
具有l(wèi)ogin屬性的角色才能用作數(shù)據(jù)庫(kù)連接的初始角色名稱。create role name login;
超級(jí)用戶狀態(tài)(superuser status):
數(shù)據(jù)庫(kù)超級(jí)用戶繞過(guò)所有權(quán)限檢查,但登錄權(quán)限除外. create role name superuser;
database creation
授予角色創(chuàng)建數(shù)據(jù)庫(kù)的權(quán)限: create role name createdb;
role creation
授予角色創(chuàng)建更多角色的權(quán)限: create role name createrole;
initiating replication
授予角色啟動(dòng)流復(fù)制的權(quán)限: create role name REPLICATION LOGIN;
password
數(shù)據(jù)庫(kù)密碼與操作系統(tǒng)密碼分開(kāi) 使用時(shí)創(chuàng)建角色時(shí)指定密碼。CREATE ROLE name PASSWORD 'string';
優(yōu)秀做法:
創(chuàng)建具有CREATEDB和CREATEROLE權(quán)限但不是超級(jí)用戶的角色,然后將此角色用于數(shù)據(jù)庫(kù)和角色的所有日常管理.
- 3 角色成員:
可以將權(quán)限授予整個(gè)組或從組中撤銷。
先創(chuàng)建角色: create role name;
組角色存在后,可使用grant和revoke命令添加和刪除成員。
grant grouprole to role1...;
revoke grouprole from role1...;
數(shù)據(jù)庫(kù)不允許您設(shè)置循環(huán)成員資格循環(huán)。此外,不允許授予角色成員資格 PUBLIC。
例如:
CREATE ROLE joe LOGIN INHERIT;
CREATE ROLE admin NOINHERIT;
CREATE ROLE wheel NOINHERIT;
GRANT admin TO joe;
GRANT wheel TO admin;
組角色的成員可以通過(guò)兩種方式使用角色的權(quán)限.
設(shè)置臨時(shí)組角色: set role name;
重置角色: reset role;
刪除組角色: drop role name;
數(shù)據(jù)庫(kù)會(huì)話可以訪問(wèn)組角色的權(quán)限,創(chuàng)建的任何數(shù)據(jù)庫(kù)對(duì)象都被組角色擁有。
成員角色會(huì)繼承組角色的權(quán)限。
用戶在角色執(zhí)行時(shí)不會(huì)自動(dòng)繼承權(quán)限。PostgreSQL默認(rèn)為所有角色提供 INHERIT屬性.
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),清河門企業(yè)網(wǎng)站建設(shè),清河門品牌網(wǎng)站建設(shè),網(wǎng)站定制,清河門網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,
清河門網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。- 4 刪除角色:
角色可以擁有數(shù)據(jù)庫(kù)對(duì)象并且可以擁有訪問(wèn)其他對(duì)象的權(quán)限。
刪除角色前,先刪除該角色擁有的任何對(duì)象或?qū)⑵渲匦路峙浣o其他所有者; 并且必須撤消授予該角色的任何權(quán)限。
ALTER TABLE bobs_table OWNER TO alice;
或者:
REASSIGN OWNED命令可用于將要?jiǎng)h除的角色所擁有的所有對(duì)象的所有權(quán)重新分配給單個(gè)其他角色.必須在包含該角色所擁有的對(duì)象的每個(gè)數(shù)據(jù)庫(kù)中運(yùn)行它.
DROP OWNED不會(huì)刪除整個(gè)數(shù)據(jù)庫(kù)或表空間.
刪除已用于擁有對(duì)象的角色的最常用方法是:
REASSIGN OWNED BY doomed_role TO successor_role;
DROP OWNED BY doomed_role;
-- 在集群
DROP ROLE doomed_role;
- 5. 默認(rèn)角色:
可訪問(wèn)常用的功能和信息。
角色 允許訪問(wèn)
pg_read_all_settings 讀取所有配置變量,僅對(duì)超級(jí)用戶可見(jiàn)的變量。
pg_read_all_stats 閱讀所有pg_stat_ *視圖并使用各種與統(tǒng)計(jì)相關(guān)的擴(kuò)展,僅對(duì)超級(jí)用戶可見(jiàn)的擴(kuò)展。
pg_stat_scan_tables 執(zhí)行可能ACCESS SHARE會(huì)對(duì)表進(jìn)行鎖定的監(jiān)視函數(shù)。
pg_signal_backend 將信號(hào)發(fā)送到其他后端(例如:取消查詢,終止)。
pg_monitor 讀取/執(zhí)行各種監(jiān)視視圖和功能。這個(gè)角色的成員pg_read_all_settings,pg_read_all_stats和pg_stat_scan_tables。
管理員監(jiān)控?cái)?shù)據(jù)庫(kù)服務(wù)器的目的配置:
pg_monitor,pg_read_all_settings,pg_read_all_stats和pg_stat_scan_tables角色,它們授予一組公共權(quán)限,允許角色讀取通常僅限于超級(jí)用戶的各種有用的配置設(shè)置,統(tǒng)計(jì)信息和其他系統(tǒng)信息。
管理員可以使用GRANT命令向用戶授予對(duì)這些角色的訪問(wèn)權(quán)限:
GRANT pg_signal_backend TO admin_user;
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享名稱:PostgreSQL數(shù)據(jù)庫(kù)角色(五)-創(chuàng)新互聯(lián)
地址分享:
http://weahome.cn/article/dcpsho.html