真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

這篇文章主要為大家展示了“PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限”這篇文章吧。

公司專注于為企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、購(gòu)物商城網(wǎng)站建設(shè),成都微信小程序,軟件按需開(kāi)發(fā)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。

應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

針對(duì)這個(gè)測(cè)評(píng)項(xiàng),首先我們要搞清楚postgresql數(shù)據(jù)庫(kù)的相應(yīng)權(quán)限問(wèn)題

在postgresqll數(shù)據(jù)庫(kù)中,認(rèn)為用戶就是一個(gè)相應(yīng)的role,PostgreSQL使用角色的概念管理數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限。一個(gè)角色可以被看成是一個(gè)數(shù)據(jù)庫(kù)用戶或者是一個(gè)數(shù)據(jù)庫(kù)用戶組,這取決于角色被怎樣設(shè)置。角色可以擁有數(shù)據(jù)庫(kù)對(duì)象(例如,表和函數(shù))并且能夠把那些對(duì)象上的權(quán)限賦予給其他角色來(lái)控制誰(shuí)能訪問(wèn)哪些對(duì)象。此外,還可以把一個(gè)角色中的成員資格授予給另一個(gè)角色,這樣允許成員角色使用被賦予給另一個(gè)角色的權(quán)限。

1.系統(tǒng)權(quán)限

1.1 role屬性

可以認(rèn)為是這個(gè)用戶所具有的系統(tǒng)權(quán)限.

  • LOGIN --具有登錄權(quán)限

  • SUPERUSER --超級(jí)用戶,具有所有系統(tǒng)權(quán)限,除了登錄驗(yàn)證

  • CREATEDB --創(chuàng)建數(shù)據(jù)庫(kù)權(quán)限

  • CREATEROLE --創(chuàng)建role權(quán)限

  • PASSWORD --設(shè)置密碼

1.2 修改屬性

創(chuàng)建test角色

create role test login;

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

alter role test createdb createrole password '****@123';

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

alter role test nocreatedb nocreaterole superuser;

通過(guò)psql程序登錄可使用\du命令列出現(xiàn)有角色,以及相應(yīng)的角色權(quán)限

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

2.role成員權(quán)限

role membership(role成員)為了管理上的方便,我們可以創(chuàng)建一個(gè)role group,然后可以將各用戶或者有特殊權(quán)限的role組織在一起,各個(gè)role就是這個(gè)role group的membership.

role group 是不帶login的role,因?yàn)閜g使用role來(lái)表示所有的角色、用戶、用戶組,所以不要混淆,創(chuàng)建語(yǔ)句都是create role.

2.1 繼承role group

1)直接繼承

我們創(chuàng)建一個(gè)用戶,兩個(gè)角色,分別有直屬一個(gè)表的查詢權(quán)限create role jack login inherit;create role r1;create role r2;PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

然后創(chuàng)建對(duì)應(yīng)的表

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

授予查詢權(quán)限

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限進(jìn)行g(shù)rant授權(quán),使jack成為r1,r2的membershipPostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

測(cè)試角色切換

jack 繼承了r1,r2的權(quán)限

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

2)間接繼承

移除membership

可以使用revoke group_role from role1,…命令

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限此時(shí),r1屬于r2,然后jack又屬于r1PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

關(guān)閉r1的繼承

alter role r1 noinherit;

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限然后再嘗試訪問(wèn)tab,發(fā)現(xiàn)tab2無(wú)法訪問(wèn)PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限取消繼承權(quán)限后,r1也無(wú)權(quán)限訪問(wèn)PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

移除后將無(wú)權(quán)限

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

注意:授權(quán)不能形成回路

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

3)系統(tǒng)權(quán)限任何時(shí)候都不會(huì)主動(dòng)繼承

系統(tǒng)權(quán)限不會(huì)繼承,只有主動(dòng)set才生效

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

使用set命令后,該會(huì)話會(huì)具有g(shù)roup_role的臨時(shí)系統(tǒng)權(quán)限,且會(huì)被認(rèn)為是group_role角色,創(chuàng)建的表之類的均為set role的權(quán)限

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

重新開(kāi)啟會(huì)話后,無(wú)權(quán)限

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

三種方式還原到最初的jack角色:

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

綜上所述:角色屬性login、superuser、createdb和createrole可以被認(rèn)為是一種特殊權(quán)限,但是它們從來(lái)不會(huì)像數(shù)據(jù)庫(kù)對(duì)象上的普通權(quán)限那樣被繼承。要使用這些屬性,你必須實(shí)際set role到一個(gè)有這些屬性之一的特定角色。

4)角色刪除

刪除role,role下有權(quán)限或者是對(duì)象屬于此role,則刪除不了

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

移除掉相關(guān)權(quán)限關(guān)聯(lián)后進(jìn)行刪除,然后涉及到r1的成員或者是group_role自動(dòng)釋放

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

5)role總結(jié)
  • pg中的role包含了用戶,角色,角色組,成員等所有含義,如使用create role來(lái)創(chuàng)建

  • 一個(gè)role可以成為多個(gè)role的成員,根據(jù)role的inherit屬性來(lái)決定是否集成其他role的各種權(quán)限

  • 繼承關(guān)系不能形成回路

  • 刪除role需要先清理此role關(guān)聯(lián)的各種權(quán)限

3.等保查看相應(yīng)點(diǎn)

查看當(dāng)前數(shù)據(jù)庫(kù)內(nèi)有哪些角色,可通過(guò)工具進(jìn)行查看

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

然后再查看對(duì)應(yīng)角色對(duì)應(yīng)的權(quán)限

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

命令行界面可以通過(guò)\du命令列出現(xiàn)有角色和權(quán)限

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

個(gè)人認(rèn)為,針對(duì)第一個(gè)條款,不管權(quán)限分配是否合理,只要給用戶分配權(quán)限了就算符合

這條條款主要是為了防止匿名用戶的登錄,像NTP匿名登錄那種

至于權(quán)限是否合理,已在后面的最小權(quán)限,管理用戶的權(quán)限分離,訪問(wèn)控制粒度的地方體現(xiàn),應(yīng)在那些條款內(nèi)去判斷,所以對(duì)于第一條我們只要看他是否為用戶分配了相應(yīng)的賬戶和權(quán)限即可。

應(yīng)重命名或刪除默認(rèn)賬戶,修改默認(rèn)賬戶的默認(rèn)口令

1.默認(rèn)角色

可以通過(guò)工具進(jìn)行查看

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

PostgreSQL提供一組默認(rèn)角色, 他們可以訪問(wèn)特定的、通常需要的特權(quán)功能和信息。 管理員可以將這些角色 GRANT 給用戶和/或其環(huán)境中的其他角色, 為這些用戶提供對(duì)指定功能和信息的訪問(wèn)權(quán)限。請(qǐng)注意,每個(gè)默認(rèn)角色的特定權(quán)限可能會(huì)因?yàn)閷?lái)添加額外的功能而發(fā)生變化。 管理員應(yīng)監(jiān)控發(fā)行說(shuō)明以進(jìn)行更改,如下圖:

角色允許的權(quá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í)行可能對(duì)表進(jìn)行可能需要很長(zhǎng)時(shí)間ACCESS SHARE鎖定的監(jiān)視功能。
pg_signal_backend給其他后端發(fā)送信號(hào)(比如: 取消查詢、終止)。
pg_monitor讀取/執(zhí)行各種監(jiān)視視圖和函數(shù)。 此角色是pg_read_all_settings、 pg_read_all_stats和 pg_stat_scan_tables的成員。

pg_mointor、pg_read_all_settings、pg_read_all_stats和pg_scan_tables角色旨在允許管理員輕松配置角色以見(jiàn)識(shí)數(shù)據(jù)庫(kù)服務(wù)器。他們授予一組通用權(quán)限,允許角色讀取通常僅限于超級(jí)用戶的各種有用的配置設(shè)置,統(tǒng)計(jì)和其他系統(tǒng)信息。應(yīng)小心授予這些角色,以確保只在需要執(zhí)行所需監(jiān)視的情況下才會(huì)使用這些角色。管理員可以使用grant命令給這些用戶授予訪問(wèn)權(quán)限:grant pg_signal_backend to admin_user;上述的的默認(rèn)角色默認(rèn)都是不可登錄的。PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

2. 等保查看相應(yīng)點(diǎn)

默認(rèn)賬戶為postgres,查看其是否設(shè)置禁止登錄,或?qū)⑵渲孛?img src="/upload/otherpic45/318244.jpg" alt="PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限">在psql的程序下可以通過(guò)\du命令查看,無(wú)法登錄將有cannot login字樣

PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限

以上是“PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)頁(yè)名稱:PostgreSQL數(shù)據(jù)庫(kù)中如何應(yīng)對(duì)登錄的用戶分配賬戶和權(quán)限
當(dāng)前地址:http://weahome.cn/article/ipoeds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部