日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

賬號權限管理

本文介紹如何在AnalyticDB PostgreSQL版中管理數(shù)據(jù)庫賬號權限。

前提條件

已創(chuàng)建數(shù)據(jù)庫賬號。詳情請參見創(chuàng)建數(shù)據(jù)庫賬號

權限管理

創(chuàng)建完數(shù)據(jù)庫賬號后,您可以進行以下操作:

  • 通過ALTER ROLE修改數(shù)據(jù)庫角色。

  • 通過GRANT定義用戶訪問權限,或通過REVOKE撤銷訪問權限。

  • 通過GRANT對數(shù)據(jù)庫對象授權。

修改數(shù)據(jù)庫角色

  • ALTER ROLE示例如下:

    ALTER ROLE jsmith WITH PASSWORD 'passwd123';
    ALTER ROLE admin VALID UNTIL 'infinity';
    ALTER ROLE jsmith LOGIN;
    ALTER ROLE jsmith RESOURCE QUEUE adhoc;
    ALTER ROLE jsmith DENY DAY 'Sunday';
  • 您也可以設置ROLE級別的服務端配置,例如search_path:

    ALTER ROLE admin SET search_path TO myschema, public;

授權用戶權限

  • 當CREATE ROLE沒有指定LOGIN屬性時,可視為GROUP(組),使用GROUP可以方便管理一批用戶的權限。創(chuàng)建一個擁有CREATEROLE和CREATEDB權限的ROLE(GROUP),叫做admin。示例如下:

    CREATE ROLE admin CREATEROLE CREATEDB;
  • 添加用戶john和sally到GROUP。示例如下:

    GRANT admin TO john, sally;
  • 從GROUP中移除用戶bob。示例如下:

    REVOKE admin FROM bob;
  • 當對GROUP進行數(shù)據(jù)庫對象授權時,屬于該GROUP的用戶都將繼承該授權。

    GRANT ALL ON TABLE mytable TO admin;
    GRANT ALL ON SCHEMA myschema TO admin;
    GRANT ALL ON DATABASE mydb TO admin;

授權數(shù)據(jù)庫對象權限

當數(shù)據(jù)庫對象(庫,模式,表,視圖,序列,函數(shù)等)被創(chuàng)建時,所有權限歸屬于該對象的創(chuàng)建者(Owner)。默認只有對象Owner和RDS_SUPERUSER有權限操作該對象。當其他用戶需要相應權限來操作該對象時,需要授權。下表列出了每種對象的相應權限。

數(shù)據(jù)庫對象

權限

Tables,Views,Sequences

SELECT INSERT UPDATE DELETE RULE ALL

External Tables

SELECT RULE ALL

Databases

CONNECT CREATE TEMPORARY | TEMP ALL

Functions

EXECUTE

Procedural Languages

USAGE

Schemas

CREATE USAGE ALL

重要

每種對象需要單獨授權。例如,對Database進行GRANT ALL并不代表可以訪問該Database內(nèi)部的表,只是授予了對該Database的CONNECT、CREATE和TEMP權限。

  • 對mytable授權INSERT給jsmith。示例如下:

    GRANT INSERT ON mytable TO jsmith;
  • 對table2的col1列授權SELECT給jsmith。示例如下:

    GRANT SELECT (col1) on TABLE table2 TO jsmith;
  • 從jsmith回收mytable的所有權限。示例如下:

    REVOKE ALL PRIVILEGES ON mytable FROM jsmith;
  • 表的Owner或者RDS_SUPERUSER也可以通過如下SQL進行Owner的重新指定或者刪除Owner。

    REASSIGN OWNED BY sally TO bob;
    DROP OWNED BY visitor;