亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > PostgreSQL > 正文

PostgreSQL教程(十二):角色和權限管理介紹

2020-03-12 23:53:04
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PostgreSQL教程(十二):角色和權限管理介紹,本文講解了數據庫角色、角色屬性、權限、角色成員,需要的朋友可以參考下
 

PostgreSQL是通過角色來管理數據庫訪問權限的,我們可以將一個角色看成是一個數據庫用戶,或者一組數據庫用戶。角色可以擁有數據庫對象,如表、索引,也可以把這些對象上的權限賦予其它角色,以控制哪些用戶對哪些對象擁有哪些權限。
    
一、數據庫角色:

    1. 創建角色:
 

復制代碼代碼如下:

    CREATE ROLE role_name;
 

    2. 刪除角色:
 
復制代碼代碼如下:

    DROP ROLE role_name;
   

    3. 查詢角色:

 

    檢查系統表pg_role,如:
 

復制代碼代碼如下:

    SELECT usename FROM pg_role;
 

    也可以在psql中執行/du命令列出所有角色。
    
二、角色屬性:

 

    一個數據庫角色可以有一系列屬性,這些屬性定義他的權限,以及與客戶認證系統的交互。

    1. 登錄權限:

    只有具有LOGIN屬性的角色才可以用于數據庫連接,因此我們可以將具有該屬性的角色視為登錄用戶,創建方法有如下兩種:
 

復制代碼代碼如下:

    CREATE ROLE name LOGIN PASSWORD '123456‘;
    CREATE USER name PASSWORD '123456';
   

    2. 超級用戶:
    數據庫的超級用戶擁有該數據庫的所有權限,為了安全起見,我們最好使用非超級用戶完成我們的正常工作。和創建普通用戶不同,創建超級用戶必須是以超級用戶的身份執行以下命令:
 
復制代碼代碼如下:

    CREATE ROLE name SUPERUSER;
   

    3. 創建數據庫:
    角色要想創建數據庫,必須明確賦予創建數據庫的屬性,見如下命令:
 
復制代碼代碼如下:

    CREATE ROLE name CREATEDB;
   

    4. 創建角色:
    一個角色要想創建更多角色,必須明確給予創建角色的屬性,見如下命令:
 
復制代碼代碼如下:

    CREATE ROLE name CREATEROLE;
 

    
三、權限:

 

    數據庫對象在被創建時都會被賦予一個所有者,通常而言,所有者就是執行對象創建語句的角色。對于大多數類型的對象,其初始狀態是只有所有者(或超級用戶)可以對該對象做任何事情。如果要允許其它用戶可以使用該對象,必須賦予適當的權限。PostgreSQL中預定義了許多不同類型的內置權限,如:SELECT、INSERT、UPDATE、DELETE、RULE、REFERENCES、TRIGGER、CREATE、TEMPORARY、EXECUTE和USAGE。

    我們可以使用GRANT命令來賦予權限,如:
 

復制代碼代碼如下:

    GRANT UPDATE ON accounts TO joe;
 

    對于上面的命令,其含義為將accounts表的update權限賦予joe角色。此外,我們也可以用特殊的名字PUBLIC把對象的權限賦予系統中的所有角色。在權限聲明的位置上寫ALL,表示把適用于該對象的所有權限都賦予目標角色。
    要撤銷權限,使用合適的REVOKE命令:
 
復制代碼代碼如下:

    REVOKE ALL ON accounts FROM PUBLIC;
 

    其含義為:對所有角色(PUBLIC)撤銷在accounts對象上的所有權限(ALL)。

 

四、角色成員:

    在系統的用戶管理中,通常會把多個用戶賦予一個組,這樣在設置權限時只需給該組設置即可,撤銷權限時也是從該組撤消。在PostgreSQL中,首先需要創建一個代表組的角色,之后再將該角色的membership權限賦給獨立的用戶角色即可。
    1. 創建一個組角色,通常而言,該角色不應該具有LOGIN屬性,如:
 

復制代碼代碼如下:

    CREATE ROLE name;   
 

    2. 使用GRANT和REVOKE命令添加和撤消權限:
 
復制代碼代碼如下:

    GRANT group_role TO role1, ... ;
    REVOKE group_role FROM role1, ... ;
 

  一個角色成員可以通過兩種方法使用組角色的權限,如:
    1. 每個組成員都可以用SET ROLE命令將自己臨時"變成"該組成員,此后再創建的任何對象的所有者將屬于該組,而不是原有的登錄用戶。
    2. 擁有INHERIT屬性的角色成員自動繼承它們所屬角色的權限。
    見如下示例:
 
復制代碼代碼如下:

    CREATE ROLE joe LOGIN INHERIT;  --INHERIT是缺省屬性。
    CREATE ROLE admin NOINHERIT;
    CREATE ROLE wheel NOINHERIT;
    GRANT admin TO joe;
    GRANT wheel TO admin;
 

    現在我們以角色joe的身份與數據庫建立連接,那么該數據庫會話將同時擁有角色joe和角色admin的權限,這是因為joe"繼承(INHERIT)"了admin的權限。然而與此不同的是,賦予wheel角色的權限在該會話中將不可用,因為joe角色只是wheel角色的一個間接成員,它是通過admin角色間接傳遞過來的,而admin角色卻含有NOINHERIT屬性,這樣wheel角色的權限將無法被joe繼承。
  這樣wheel角色的權限將無法被joe繼承。此時,我們可以在該會話中執行下面的命令:
復制代碼代碼如下:

    SET ROLE admin;
 

    在執行之后,該會話將只擁有admin角色的權限,而不再包括賦予joe角色的權限。同樣,在執行下面的命令之后,該會話只能使用賦予wheel的權限。
 
復制代碼代碼如下:

    SET ROLE wheel;
 

    在執行一段時間之后,如果仍然希望將該會話恢復為原有權限,可以使用下列恢復方式之一:
 
復制代碼代碼如下:

    SET ROLE joe;
    SET ROLE NONE;
    RESET ROLE;
 

    注意: SET ROLE命令總是允許選取當前登錄角色的直接或間接組角色。因此,在變為wheel之前沒必要先變成admin。

 

    角色屬性LOGIN、SUPERUSER和CREATEROLE被視為特殊權限,它們不會像其它數據庫對象的普通權限那樣被繼承。如果需要,必須在調用SET ROLE時顯示指定擁有該屬性的角色。比如,我們也可以給admin角色賦予CREATEDB和CREATEROLE權限,然后再以joe的角色連接數據庫,此時該會話不會立即擁有這些特殊權限,只有當執行SET ROLE admin命令之后當前會話才具有這些權限。

    要刪除一個組角色,執行DROP ROLE group_role命令即可。然而在刪除該組角色之后,它與其成員角色之間的關系將被立即撤銷(成員角色本身不會受影響)。不過需要注意的是,在刪除之前,任何屬于該組角色的對象都必須先被刪除或者將對象的所有者賦予其它角色,與此同時,任何賦予該組角色的權限也都必須被撤消。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲无线码在线一区观看| 久久久精品免费视频| 久热99视频在线观看| 538国产精品一区二区免费视频| 欧美激情一区二区三区成人| 日韩美女视频免费在线观看| 91免费国产网站| 97在线观看视频国产| 搡老女人一区二区三区视频tv| 91精品综合久久久久久五月天| 亚洲中国色老太| 欧美性色视频在线| 午夜精品久久17c| 国产日本欧美一区二区三区| 免费成人高清视频| 日韩中文字幕视频在线| 国产精品一久久香蕉国产线看观看| 北条麻妃一区二区在线观看| xx视频.9999.com| 亚洲激情成人网| 欧美大片免费观看| 狠狠干狠狠久久| 欧美成aaa人片免费看| 欧美激情精品久久久久久大尺度| 亚洲国产日韩欧美在线图片| 国产欧美精品日韩| 亚洲国产精品中文| 91在线视频免费| 国产精品久久av| 久久资源免费视频| 亚洲欧美一区二区精品久久久| 国产成人一区三区| 久久久久中文字幕2018| 亚洲在线免费视频| 亚洲成色999久久网站| 97在线观看视频国产| 成人黄色在线观看| 久久精品国产清自在天天线| 欧美激情久久久久久| 国产一区欧美二区三区| 高清欧美性猛交xxxx黑人猛交| 久久亚洲国产成人| 国产视频自拍一区| 亚洲性av在线| 日韩大陆毛片av| 黄色一区二区在线观看| 成人羞羞国产免费| 亚洲成人xxx| 日韩中文字幕精品| 91精品啪aⅴ在线观看国产| 日本精品免费一区二区三区| www.日韩免费| 九色精品美女在线| 欧美久久精品一级黑人c片| 欧美激情在线一区| 国产精品1234| 在线观看视频亚洲| 欧美日韩国内自拍| 久久久久这里只有精品| 成人精品视频久久久久| 欧美午夜激情在线| 国产专区欧美专区| 萌白酱国产一区二区| 亚洲免费小视频| 国产成人精品久久二区二区| 在线免费观看羞羞视频一区二区| 欧美午夜片在线免费观看| 久久久久久亚洲| 国产综合香蕉五月婷在线| 亚洲欧美综合图区| 亚洲国产日韩精品在线| 国产精品www网站| 国产丝袜视频一区| 国产一区二区三区在线免费观看| 欧美久久精品一级黑人c片| 国产精品白嫩美女在线观看| 一区二区亚洲精品国产| 色综合久久精品亚洲国产| 亚洲免费视频一区二区| 日本午夜人人精品| 疯狂蹂躏欧美一区二区精品| 日韩av中文字幕在线免费观看| 在线性视频日韩欧美| 欧美激情va永久在线播放| 成人激情视频在线| 成人免费福利视频| 这里只有精品丝袜| 久久国产精品久久国产精品| 日韩在线视频中文字幕| 日韩中文字幕在线看| 亚洲色图欧美制服丝袜另类第一页| 欧美午夜宅男影院在线观看| 日韩福利在线播放| 91日韩在线播放| 亚洲2020天天堂在线观看| 国产成人亚洲综合91精品| 色777狠狠综合秋免鲁丝| 91精品国产成人| 成人性生交xxxxx网站| 91精品国产91久久久| 欧美野外wwwxxx| 最新亚洲国产精品| 欧美二区在线播放| 欧美与黑人午夜性猛交久久久| 精品少妇v888av| 亚洲欧洲第一视频| 久久久精品中文字幕| 97香蕉久久超级碰碰高清版| 成人免费视频97| 欧美在线视频免费观看| 欧日韩在线观看| 欧美丰满片xxx777| 欧美亚洲第一区| 国产亚洲精品久久久久久牛牛| 亚洲成色999久久网站| 欧美性极品xxxx做受| 日韩高清免费在线| 亚洲午夜久久久久久久| 亚洲综合国产精品| 91av在线国产| 国产亚洲精品久久| 亚洲成人精品视频| 精品国产欧美一区二区三区成人| 国外成人在线播放| 欧美多人乱p欧美4p久久| 精品欧美aⅴ在线网站| 精品中文字幕在线观看| 亚洲аv电影天堂网| xvideos国产精品| 精品国产91久久久久久老师| 中文字幕综合在线| 日韩av中文字幕在线播放| 日韩成人在线播放| 亚洲性日韩精品一区二区| 九九视频这里只有精品| 91精品国产自产91精品| 国产精品美女网站| 精品亚洲夜色av98在线观看| 国产亚洲成av人片在线观看桃| 欧美视频国产精品| 欧美日韩精品中文字幕| 欧美日韩性视频| 久久精品国产清自在天天线| 欧美激情久久久| 555www成人网| 26uuu久久噜噜噜噜| 国产视频精品久久久| 亚洲女人天堂视频| 精品亚洲va在线va天堂资源站| 日韩精品高清视频| 国产精品白嫩美女在线观看| 亚洲午夜精品久久久久久性色| 青青久久aⅴ北条麻妃| 亚洲专区中文字幕| 中文字幕亚洲一区二区三区五十路| 91精品在线播放| 国产精品丝袜一区二区三区| 久久人人看视频| 一级做a爰片久久毛片美女图片| 日韩av在线免播放器| 亚洲人成网站999久久久综合| 精品国偷自产在线视频| 人九九综合九九宗合| 国产一区二区日韩精品欧美精品|