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

通過命令管理用戶權限

在MaxCompute項目中添加用戶后,需要給該用戶授權,只有用戶獲得相應的權限后,才能在項目內執行操作。MaxCompute支持通過角色為用戶授權,也支持直接為用戶授權。本文為您介紹用戶授權命令語法并提供示例供參考。

通過綁定項目級角色為用戶授權

MaxCompute推薦將項目級別自定義的角色或內置管理角色賦予用戶,使用戶具備與角色一樣的權限,方便批量用戶的權限變更與回收。

說明

將MaxCompute項目級角色賦予用戶

將項目級別的內置角色或自定義角色綁定至用戶,用戶會同時具備角色相應的權限。

  • 命令格式

    grant <role_name> to <user_name>;
  • 注意事項

    多個用戶可以同時存在于一個項目級角色下,一個用戶也可以隸屬于多個項目級角色。

  • 參數說明

    參數名稱

    是否必填

    說明

    role_name

    指定待賦予用戶的角色名稱。

    您可以通過MaxCompute客戶端執行list roles;命令查看角色信息。

    user_name

    指定待綁定角色的已加入MaxCompute項目的用戶名稱,格式如下:

    您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

  • 使用示例

    將項目級角色Worker綁定至已添加到MaxCompute項目的阿里云用戶Kate@aliyun.com、RAM用戶RAM$Bob@aliyun.com:Allen及RAM角色RAM$Bob@aliyun.com:role/ram_role

    --Bob進入test_project_a項目。
    use test_project_a;
    --Bob將角色賦予阿里云賬號。
    grant Worker to ALIYUN$Kate@aliyun.com;
    --Bob將角色賦予RAM用戶。
    grant Worker to RAM$Bob@aliyun.com:Allen;
    --Bob將角色賦予RAM角色。
    grant Worker to `RAM$Bob@aliyun.com:role/ram_role`;

收回賦予用戶的MaxCompute項目級角色

解綁賦予用戶的角色,用戶將不再具備角色相應的權限。

  • 命令格式

    revoke <role_name> from <user_name>;
  • 參數說明

    參數名稱

    是否必填

    說明

    role_name

    指定待收回的角色名稱。

    您可以通過MaxCompute客戶端執行list roles;命令獲取角色名稱。

    user_name

    指定待收回角色相應的用戶名稱,格式如下:

    您可以通過MaxCompute客戶端執行list users;命令獲取用戶名稱。

  • 使用示例

    收回賦予用戶Kate@aliyun.comRAM$Bob@aliyun.com:AllenRAM$Bob@aliyun.com:role/ram_roleR的角色Worker。

    --Bob進入test_project_a項目。
    use test_project_a;
    --Bob收回賦予阿里云賬號的角色。
    revoke Worker from ALIYUN$Kate@aliyun.com;
    --Bob收回賦予RAM用戶的角色。
    revoke Worker from RAM$Bob@aliyun.com:Allen;
    --Bob收回賦予RAM角色的角色。
    revoke Worker from `RAM$Bob@aliyun.com:role/ram_role`;

常見的授權場景及語法示例

用戶授權場景

授權方式

授權人

授權操作入口

通過角色為用戶授予對象的操作權限

先通過ACL權限控制Policy權限控制為角色授權,再將角色賦予用戶。

請參見權限一覽表的支持的授權人列。

撤銷通過角色為用戶授予的對象的操作權限

通過角色為用戶授予Download權限

先通過Download權限控制為角色授權,再將角色賦予用戶。

撤銷通過角色為用戶授予的Download權限

通過角色為用戶授予訪問相同高敏感等級數據的權限

先通過Label權限控制為角色授權,再將角色賦予用戶。

撤銷通過角色為用戶授予的訪問相同高敏感等級數據的權限

通過角色為用戶授予對象的操作權限

通過ACL授權機制或Policy授權機制為角色授權,然后將角色賦予多個用戶。

更多為角色授權信息,請參見為角色授予對象的操作權限

假設Bob@aliyun.com是test_project_a的項目所有者,Allen、Alice、Tom是隸屬于Bob@aliyun.com的RAM用戶。現需要為三個RAM用戶授予創建表、函數、實例、查看項目所有類型的對象列表的權限。命令示例如下。

--Bob進入test_project_a項目。
use test_project_a;
--Bob將Allen、Alice、Tom添加至test_project_a項目。
add user RAM$Bob@aliyun.com:Allen;
add user RAM$Bob@aliyun.com:Alice;
add user RAM$Bob@aliyun.com:Tom;
--Bob創建角色Worker。
create role Worker;
--Bob為角色Worker授權。
   --方式一:ACL授權。
grant CreateTable, CreateFunction, CreateInstance, List on project test_project_a to ROLE Worker;
   --方式二:Policy授權。
grant CreateTable, CreateFunction, CreateInstance, List 
      on project test_project_a  
      to ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
--將角色Worker賦予用戶。
grant Worker to RAM$Bob@aliyun.com:Allen;
grant Worker to RAM$Bob@aliyun.com:Alice;
grant Worker to RAM$Bob@aliyun.com:Tom;

撤銷通過角色為用戶授予的對象的操作權限

您可以通過如下方式撤銷授權:

  • 撤銷授予角色的權限

    原本被賦予角色的所有用戶都不再具備角色相應的權限。

  • 收回賦予用戶的角色

    只有被收回角色的用戶不再具備角色相應的權限。其他用戶的權限不受影響。

假設Bob@aliyun.com是test_project_a的項目所有者,Allen、Alice、Tom是隸屬于Bob@aliyun.com的RAM用戶。已為三個RAM用戶通過角色Worker授予創建表、函數、實例、查看項目所有類型的對象列表的權限。現需要撤銷對象的操作權限,命令示例如下。

  • 方式一:撤銷授予角色Worker的權限。

    --進入test_project_a項目。
    use test_project_a;
    --為角色Worker撤銷授權。此時Allen、Alice、Tom都不再具備CreateTable, CreateFunction, CreateInstance, List權限。
       --撤銷ACL授權。
    revoke CreateTable, CreateFunction, CreateInstance, List on project test_project_a from ROLE Worker;
       --撤銷Policy授權。
    revoke CreateTable, CreateFunction, CreateInstance, List 
          on project test_project_a  
          from ROLE Worker privilegeproperties("policy" = "true", "allow"="true");
  • 方式二:收回賦予用戶的角色Worker。

    --進入test_project_a項目。
    use test_project_a;
    --收回賦予用戶的角色Worker。此時僅Allen不具備CreateTable, CreateFunction, CreateInstance, List權限。
    revoke Worker from RAM$Bob@aliyun.com:Allen;

通過角色為用戶授予Download權限

通過Download授權機制為角色授權,然后將角色賦予用戶。

更多為角色授權信息,請參見為角色授予Download權限

假設Bob@aliyun.com是test_project_a的項目所有者,Allen、Alice、Tom是隸屬于Bob@aliyun.com的RAM用戶。現需要為三個RAM用戶授予下載指定表數據的權限。命令示例如下。

--Bob進入test_project_a項目。
use test_project_a;
--Bob將Allen、Alice、Tom添加至test_project_a項目。
add user RAM$Bob@aliyun.com:Allen;
add user RAM$Bob@aliyun.com:Alice;
add user RAM$Bob@aliyun.com:Tom;
--Bob創建角色Worker。
create role Worker;
--Bob為角色Worker授權。
grant download on table sale_detail to ROLE Worker;
--將角色Worker賦予用戶。
grant Worker to RAM$Bob@aliyun.com:Allen;
grant Worker to RAM$Bob@aliyun.com:Alice;
grant Worker to RAM$Bob@aliyun.com:Tom;

撤銷通過角色為用戶授予的Download權限

您可以通過如下方式撤銷授權:

  • 撤銷授予角色的權限

    原本被賦予角色的所有用戶都不再具備角色相應的權限。

  • 收回賦予用戶的角色

    只有被收回角色的用戶不再具備角色相應的權限。其他用戶的權限不受影響。

假設Bob@aliyun.com是test_project_a的項目所有者,Allen、Alice、Tom是隸屬于Bob@aliyun.com的RAM用戶。已為三個RAM用戶通過角色Worker授予下載所有表數據的權限。現需要撤銷授予用戶的下載權限,命令示例如下。

  • 方式一:撤銷授予角色Worker的權限。

    --進入test_project_a項目。
    use test_project_a;
    --為角色Worker撤銷授權。此時Allen、Alice、Tom都不再具備Download權限。
    revoke Download on table sale_detail from ROLE Worker;
  • 方式二:收回賦予用戶的角色Worker。

    --進入test_project_a項目。
    use test_project_a;
    --收回賦予用戶的角色Worker。此時僅Allen不再具備Download權限。
    revoke Worker from RAM$Bob@aliyun.com:Allen;

通過角色為用戶授予訪問相同高敏感等級數據的權限

通過Label授權機制或Policy授權機制為角色授權,然后將角色賦予多個用戶。

更多為角色授權信息,請參見為角色授予訪問高敏感等級數據的權限

假設Bob@aliyun.com是test_project_a的項目所有者,Allen、Alice、Tom是隸屬于Bob@aliyun.com的RAM用戶。三個RAM用戶的許可訪問標簽等級為2,現需要授予訪問項目中目標表的敏感等級為4的數據權限。命令示例如下。

--Bob進入test_project_a項目。
use test_project_a;
--Bob創建角色Worker。
create role Worker;
--Bob為角色Worker授權。
grant Label 4 on table <table_name> to ROLE Worker;  --table_name為目標表的表名稱
--將角色Worker賦予用戶。
grant Worker to RAM$Bob@aliyun.com:Allen;
grant Worker to RAM$Bob@aliyun.com:Alice;
grant Worker to RAM$Bob@aliyun.com:Tom;

撤銷通過角色為用戶授予的訪問相同高敏感等級數據的權限

您可以通過如下方式撤銷授權:

  • 撤銷授予角色的權限

    原本被賦予角色的所有用戶都不再具備角色相應的權限。

  • 收回賦予用戶的角色

    只有被收回角色的用戶不再具備角色相應的權限。其他用戶的權限不受影響。

假設Bob@aliyun.com是test_project_a的項目所有者,Allen、Alice、Tom是隸屬于Bob@aliyun.com的RAM用戶。已為三個RAM用戶授予訪問項目中目標表的敏感等級為4的數據權限。現需要撤銷用戶的訪問高敏感等級數據權限,命令示例如下。

  • 方式一:撤銷授予角色Worker的權限。

    --進入test_project_a項目。
    use test_project_a;
    --為角色Worker撤銷授權。此時Allen、Alice、Tom僅能訪問最高敏感等級為2的數據。
    revoke Label on table <table_name> from ROLE Worker;     --table_name為目標表的表名稱
  • 方式二:收回賦予用戶的角色Worker。

    --進入test_project_a項目。
    use test_project_a;
    --收回賦予用戶的角色Worker。此時Allen僅能訪問最高敏感等級為2的數據,Alice、Tom仍然可以訪問最高敏感等級為4的數據。
    revoke Worker from RAM$Bob@aliyun.com:Allen;

直接為用戶授權

MaxCompute支持直接為用戶授權,常見的授權場景及語法示例如下。

說明

用戶授權場景

授權方式

授權人

授權操作入口

為用戶授予對象的操作權限

ACL權限控制

請參見權限一覽表的支持的授權人列。

撤銷為用戶授予的對象的操作權限

為用戶授予Download權限

Download權限控制

撤銷為用戶授予的Download權限

為用戶授予訪問高敏感等級數據的權限

Label權限控制

撤銷為用戶授予的訪問高敏感等級數據的權限

為用戶授予對象的操作權限

通過ACL授權機制為用戶授予項目、表、資源、函數或實例的操作權限。

  • 為用戶授予項目的操作權限

    • 命令格式

      grant Read|Write|List|CreateTable|CreateInstance|CreateFunction|CreateResource|All 
            on project <project_name> 
            to USER <user_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];
    • 參數說明

      參數名稱

      是否必填

      說明

      project_name

      項目名稱:您可以登錄MaxCompute控制臺,左上角切換地域后,即可在項目管理頁簽獲取具體的MaxCompute項目名稱。

      user_name

      指定待綁定角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

      privilegeproperties

      conditions

      從請求消息來源及訪問方式等維度進行權限控制。格式為"<var_name> <Operation> 常量" and "<var_name> <Operation> 常量" and ...,支持的var_nameOperation列表,請參見Conditions

      days

      指定權限過期時間,單位為天。未指定該參數時,權限默認長期有效。指定該參數時,權限到期后,MaxCompute會自動清除權限信息。

  • 為用戶授予表的操作權限

    • 命令格式

      grant Describe|Select|Alter|Update|Drop|ShowHistory|All 
            on table <table_name> [(<column_list>)] 
            to USER <user_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];
    • 參數說明

      參數名稱

      是否必填

      說明

      table_name

      表名稱:您可以通過MaxCompute客戶端執行show tables;命令獲取表或視圖名稱。

      user_name

      指定待綁定角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

      privilegeproperties

      conditions

      從請求消息來源及訪問方式等維度進行權限控制。格式為"<var_name> <Operation> 常量" and "<var_name> <Operation> 常量" and ...,支持的var_nameOperation列表,請參見Conditions

      days

      指定權限過期時間,單位為天。未指定該參數時,權限默認長期有效。指定該參數時,權限到期后,MaxCompute會自動清除權限信息。

  • 為用戶授予資源的操作權限

    • 命令格式

      grant Read|Write|Delete|All 
            on resource <resource_name> 
            to USER <user_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];
    • 參數說明

      參數名稱

      是否必填

      說明

      resource_name

      資源名稱:您可以通過MaxCompute客戶端執行list resources;命令獲取資源名稱。

      user_name

      指定待綁定角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

      privilegeproperties

      conditions

      從請求消息來源及訪問方式等維度進行權限控制。格式為"<var_name> <Operation> 常量" and "<var_name> <Operation> 常量" and ...,支持的var_nameOperation列表,請參見Conditions

      days

      指定權限過期時間,單位為天。未指定該參數時,權限默認長期有效。指定該參數時,權限到期后,MaxCompute會自動清除權限信息。

  • 為用戶授予函數的操作權限

    • 命令格式

      grant Read|Write|Delete|Execute|All 
            on function <function_name> 
            to USER <user_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];
    • 參數說明

      參數名稱

      是否必填

      說明

      function_name

      函數名稱:您可以通過MaxCompute客戶端執行list functions;命令獲取函數名稱。

      user_name

      指定待綁定角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

      privilegeproperties

      conditions

      從請求消息來源及訪問方式等維度進行權限控制。格式為"<var_name> <Operation> 常量" and "<var_name> <Operation> 常量" and ...,支持的var_nameOperation列表,請參見Conditions

      days

      指定權限過期時間,單位為天。未指定該參數時,權限默認長期有效。指定該參數時,權限到期后,MaxCompute會自動清除權限信息。

  • 為用戶授予實例的操作權限

    • 命令格式

      grant Read|Write|All 
            on instance <instance_id> 
            to USER <user_name> [privilegeproperties("conditions" = "<conditions>", "expires"="<days>")];
    • 參數說明

      參數名稱

      是否必填

      說明

      instance_id

      實例ID:您可以通過MaxCompute客戶端執行show instances;命令獲取實例ID。

      user_name

      指定待綁定角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

      privilegeproperties

      conditions

      從請求消息來源及訪問方式等維度進行權限控制。格式為"<var_name> <Operation> 常量" and "<var_name> <Operation> 常量" and ...,支持的var_nameOperation列表,請參見Conditions

      days

      指定權限過期時間,單位為天。未指定該參數時,權限默認長期有效。指定該參數時,權限到期后,MaxCompute會自動清除權限信息。

  • 使用示例

    假設Bob@aliyun.com是test_project_a的項目所有者,Allen、Alice、Tom是隸屬于Bob@aliyun.com的RAM用戶。BI_Analyst是隸屬于Bob@aliyun.com的RAM角色。Kate@aliyun.com是其他阿里云賬號,待加入test_project_a項目。

    • 示例一:為阿里云賬號Kate授予在項目中創建表、函數、實例、查看項目所有類型的對象列表的權限。

      --Bob進入test_project_a項目。
      use test_project_a;
      --將Kate加入MaxCompute項目。
      add user ALIYUN$Kate@aliyun.com;
      --Bob為Kate授權。
      grant CreateTable, CreateFunction, CreateInstance, List on project test_project_a to user ALIYUN$Kate@aliyun.com;
    • 示例二:為RAM用戶Allen、RAM角色授予在項目中創建表、查看項目所有類型、讀取的元信息和表數據的權限。

      --Bob進入test_project_a項目。
      use test_project_a;
      --Bob將Allen添加至test_project_a項目。
      add user RAM$Bob@aliyun.com:Allen;
      --Bob將RAM角色BI_Analyst添加至test_project_a項目。
      add user `RAM$Bob@aliyun.com:role/BI_Analyst`;
      --Bob為RAM用戶Allen授權。
      grant CreateTable, List on project test_project_a to USER RAM$Bob@aliyun.com:Allen;
      grant Describe, Select on table sale_detail to USER RAM$Bob@aliyun.com:Allen;
      --Bob為RAM角色BI_Analyst授權。
      grant CreateTable, List on project test_project_a to USER `RAM$Bob@aliyun.com:role/BI_Analyst`;
      grant Describe, Select on table sale_detail to USER `RAM$Bob@aliyun.com:role/BI_Analyst`;
    • 示例三:為RAM用戶Alice授予讀取、更新資源的權限。

      --Bob進入test_project_a項目。
      use test_project_a;
      --Bob將Alice添加至test_project_a項目。
      add user RAM$Bob@aliyun.com:Alice;
      --Bob為Alice授權。
      grant Read, Write on resource udtf.jar to USER RAM$Bob@aliyun.com:Alice;
    • 示例四:為RAM用戶Tom授予讀取、更新函數的權限。

      --Bob進入test_project_a項目。
      use test_project_a;
      --Bob將Tom添加至test_project_a項目。
      add user RAM$Bob@aliyun.com:Tom;
      --Bob為Tom授權。
      grant Read, Write on function udf_test to USER RAM$Bob@aliyun.com:Tom;
    • 示例五:為RAM用戶Tom授予實例的所有操作權限。

      --Bob進入test_project_a項目。
      use test_project_a;
      --Bob將Tom添加至test_project_a項目。
      add user RAM$Bob@aliyun.com:Tom;
      --Bob為Tom授權。
      grant All on instance 202112300224**** to USER RAM$Bob@aliyun.com:Tom;

撤銷為用戶授予的對象的操作權限

撤銷為用戶授予的項目、表、資源、函數或實例的操作權限。

  • 撤銷為用戶授予的項目的操作權限

    • 命令格式

      revoke Read|Write|List|CreateTable|CreateInstance|CreateFunction|CreateResource|All 
            on project <project_name> 
            from USER <user_name>;
    • 參數說明

      參數名稱

      是否必填

      說明

      project_name

      項目名稱:您可以登錄MaxCompute控制臺,左上角切換地域后,即可在項目管理頁簽獲取具體的MaxCompute項目名稱。

      user_name

      指定待收回角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

      privilegeproperties

      conditions

      從請求消息來源及訪問方式等維度進行權限控制。格式為"<var_name> <Operation> 常量" and "<var_name> <Operation> 常量" and ...,支持的var_nameOperation列表,請參見Conditions

      days

      指定權限過期時間,單位為天。未指定該參數時,權限默認長期有效。指定該參數時,權限到期后,MaxCompute會自動清除權限信息。

  • 撤銷為用戶授予的表的操作權限

    • 命令格式

      revoke Describe|Select|Alter|Update|Drop|ShowHistory|All 
            on table <table_name> [(<column_list>)] 
            from USER <user_name>;
    • 參數說明

      參數名稱

      是否必填

      說明

      table_name

      表名稱:您可以通過MaxCompute客戶端執行show tables;命令獲取表或視圖名稱。

      user_name

      指定待收回角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

      privilegeproperties

      conditions

      從請求消息來源及訪問方式等維度進行權限控制。格式為"<var_name> <Operation> 常量" and "<var_name> <Operation> 常量" and ...,支持的var_nameOperation列表,請參見Conditions

      days

      指定權限過期時間,單位為天。未指定該參數時,權限默認長期有效。指定該參數時,權限到期后,MaxCompute會自動清除權限信息。

  • 撤銷為用戶授予的資源的操作權限

    • 命令格式

      revoke Read|Write|Delete|All 
            on resource <resource_name> 
            from USER <user_name>;
    • 參數說明

      參數名稱

      是否必填

      說明

      resource_name

      資源名稱:您可以通過MaxCompute客戶端執行list resources;命令獲取資源名稱。

      user_name

      指定待收回角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

      privilegeproperties

      conditions

      從請求消息來源及訪問方式等維度進行權限控制。格式為"<var_name> <Operation> 常量" and "<var_name> <Operation> 常量" and ...,支持的var_nameOperation列表,請參見Conditions

      days

      指定權限過期時間,單位為天。未指定該參數時,權限默認長期有效。指定該參數時,權限到期后,MaxCompute會自動清除權限信息。

  • 撤銷為用戶授予的函數的操作權限

    • 命令格式

      revoke Read|Write|Delete|Execute|All 
            on function <function_name> 
            from USER <user_name>;
    • 參數說明

      參數名稱

      是否必填

      說明

      function_name

      函數名稱:您可以通過MaxCompute客戶端執行list functions;命令獲取函數名稱。

      user_name

      指定待收回角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

      privilegeproperties

      conditions

      從請求消息來源及訪問方式等維度進行權限控制。格式為"<var_name> <Operation> 常量" and "<var_name> <Operation> 常量" and ...,支持的var_nameOperation列表,請參見Conditions

      days

      指定權限過期時間,單位為天。未指定該參數時,權限默認長期有效。指定該參數時,權限到期后,MaxCompute會自動清除權限信息。

  • 撤銷為用戶授予的實例的操作權限

    • 命令格式

      revoke Read|Write|All 
            on instance <instance_id> 
            from USER <user_name>;
    • 參數說明

      參數名稱

      是否必填

      說明

      instance_id

      實例ID:您可以通過MaxCompute客戶端執行show instances;命令獲取實例ID。

      user_name

      指定待收回角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

      privilegeproperties

      conditions

      從請求消息來源及訪問方式等維度進行權限控制。格式為"<var_name> <Operation> 常量" and "<var_name> <Operation> 常量" and ...,支持的var_nameOperation列表,請參見Conditions

      days

      指定權限過期時間,單位為天。未指定該參數時,權限默認長期有效。指定該參數時,權限到期后,MaxCompute會自動清除權限信息。

  • 使用示例

    撤銷為用戶KateAllen、Alice、Tom授予的對象的操作權限。命令示例如下。

    • 示例一:撤銷為Kate授予的在項目中創建表、函數、實例、查看項目所有類型的對象列表的權限。

      --Bob進入test_project_a項目。
      use test_project_a;
      --Bob為Kate撤銷授權。
      revoke CreateTable, CreateFunction, CreateInstance, List on project test_project_a from user ALIYUN$Kate@aliyun.com;
    • 示例二:撤銷為RAM用戶Allen授予的讀取的元信息和表數據的權限。

      --Bob進入test_project_a項目。
      use test_project_a;
      --Bob為Allen撤銷授權。
      revoke Describe, Select on table sale_detail from USER RAM$Bob@aliyun.com:Allen;
    • 示例三:撤銷為RAM用戶Alice授予的讀取、更新資源的權限。

      --Bob進入test_project_a項目。
      use test_project_a;
      --Bob為Alice撤銷授權。
      revoke Read, Write on resource udtf.jar from USER RAM$Bob@aliyun.com:Alice;
    • 示例四:撤銷為RAM用戶Tom授予的讀取、更新函數的權限。

      --Bob進入test_project_a項目。
      use test_project_a;
      --Bob為Tom撤銷授權。
      revoke Read, Write on function udf_test from USER RAM$Bob@aliyun.com:Tom;
    • 示例五:撤銷為RAM用戶Tom授予的實例的所有操作權限。

      --Bob進入test_project_a項目。
      use test_project_a;
      --Bob為Tom撤銷授權。
      revoke All on instance 202112300224**** from USER RAM$Bob@aliyun.com:Tom;
  • 為用戶授予Download權限

    為用戶授予下載表數據、資源、函數或實例的權限。

    • 命令格式

      grant Download on {Table|Resource|Function|Instance} <object_name> to USER <user_name>;
    • 參數說明

      參數名稱

      是否必填

      說明

      object_name

      指定被授予的對象的名稱。獲取方式如下:

      • 表名稱:您可以通過MaxCompute客戶端執行show tables;命令獲取表或視圖名稱。

      • 資源名稱:您可以通過MaxCompute客戶端執行list resources;命令獲取資源名稱。

      • 函數名稱:您可以通過MaxCompute客戶端執行list functions;命令獲取函數名稱。

      • 實例名稱:您可以通過MaxCompute客戶端執行show instances;命令獲取實例ID。

      user_name

      指定待綁定角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

    • 使用示例

      假設test_project_a項目開啟了Download權限管控,需要為用戶Allen授予下載指定表數據的權限。命令示例如下。

      --Bob進入test_project_a項目。
      use test_project_a;
      --Bob為Allen授權。
      grant Download on table sale_detail to USER RAM$Bob@aliyun.com:Allen;
  • 撤銷為用戶授予的Download權限

    撤銷為用戶授予的下載表數據、資源、函數或實例的權限。

    • 命令格式

      revoke Download on {Table|Resource|Function|Instance} <object_name> from USER <user_name>;
    • 參數說明

      參數名稱

      是否必填

      說明

      object_name

      指定待回收權限的對象的名稱。獲取方式如下:

      • 表名稱:您可以通過MaxCompute客戶端執行show tables;命令獲取表或視圖名稱。

      • 資源名稱:您可以通過MaxCompute客戶端執行list resources;命令獲取資源名稱。

      • 函數名稱:您可以通過MaxCompute客戶端執行list functions;命令獲取函數名稱。

      • 實例名稱:您可以通過MaxCompute客戶端執行show instances;命令獲取實例ID。

      user_name

      指定待收回角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

    • 使用示例

      撤銷為用戶Allen授予的下載指定表數據的權限。命令示例如下。

      --Bob進入test_project_a項目。
      use test_project_a;
      --Bob為Allen撤銷授權。
      revoke Download on table sale_detail from USER RAM$Bob@aliyun.com:Allen;
  • 為用戶授予訪問高敏感等級數據的權限

    通過Label授權機制為用戶授予訪問高敏感等級數據的權限。

    • 命令格式

      grant Label <number> on table <table_name> [(<column_list>)] to USER <user_name> [with exp <days>];
    • 參數說明

      參數名稱

      是否必填

      說明

      number

      指定用戶或角色可訪問的最高數據敏感等級。

      取值范圍為0~9,與數據敏感等級標簽相對應。

      table_name

      指定目標表或視圖的名稱。

      您可以通過MaxCompute客戶端執行show tables;命令獲取表或視圖名稱。

      column_list

      當需要授予目標表或視圖中指定列的訪問權限時,需要配置該參數。單次授權可以指定多個列名,列名之間用英文逗號(,)分隔。

      user_name

      指定待綁定角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

      days

      指定權限過期時間,單位為天。取值范圍為:0~263-1。不指定該參數時,默認過期時間為180天。

    • 使用示例

      假設test_project_a項目中,用戶Allen的許可訪問標簽等級為2,現需要為用戶授予訪問sale_detail表中最高敏感等級為4的數據權限。命令示例如下。

      --Bob進入test_project_a項目。
      use test_project_a;
      --Bob為用戶Allen授權。
      grant Label 4 on table sale_detail to USER RAM$Bob@aliyun.com:Allen;
  • 撤銷為用戶授予的訪問高敏感等級數據的權限

    • 命令格式

      revoke Label <number> on table <table_name> [(<column_list>)] from USER <user_name>;
    • 參數說明

      參數名稱

      是否必填

      說明

      number

      指定用戶或角色待回收訪問權限的最高數據敏感等級。

      取值范圍為0~9,與數據敏感等級標簽相對應。

      table_name

      指定待回收訪問權限的目標表或視圖的名稱。

      您可以通過MaxCompute客戶端執行show tables;命令獲取表或視圖名稱。

      column_list

      當需要撤銷目標表或視圖中指定列的訪問權限時,需要配置該參數。單次授權可以指定多個列名,列名之間用英文逗號(,)分隔。

      user_name

      指定待收回角色的已加入MaxCompute項目的用戶名稱,格式如下:

      您可以通過MaxCompute客戶端執行list users;命令查看用戶信息。

    • 使用示例

      撤銷為用戶Allen授予的訪問sale_detail表中最高敏感等級為4的數據權限。命令示例如下。

      --Bob進入test_project_a項目。
      use test_project_a;
      --Bob為用戶Allen撤銷授權。
      revoke Label 4 on table sale_detail from USER RAM$Bob@aliyun.com:Allen;

徹底清除被刪除用戶遺留的權限信息

用戶被移出項目后,ACL、Policy、Label等權限數據還留存在項目中。當移出的用戶又再次進入該項目時,將會擁有原來的ACL、Policy、Label等權限,即用戶如果被誤刪,被重新加回項目時可以直接使用原先保留的權限。但是,如果用戶以不同的身份被加回原項目時,會有潛在的數據安全風險。

基于如上背景,MaxCompute提供清空用戶權限的功能,如果用戶已經不在項目中,但有ACL、Policy、Label等權限的,項目所有者或擁有Admin、Super_Administrator角色的用戶可以執行如下命令清除遺留的權限信息。

  • 命令格式

purge privs from user <user_name>;
  • 參數說明

    參數名稱

    是否必填

    說明

    user_name

    指定待清除遺留權限信息的已移出MaxCompute項目的用戶名稱,格式如下:

說明

如果未將用戶移出項目,執行該命令會返回"Principal <username> still exist in the project"報錯。因此需要先使用remove user <user_name>命令將用戶移出項目。

后續指引

完成用戶授權后,您可以查詢用戶授權信息,請參見查詢用戶權限信息