您可以使用Hologres管理主控台的使用者管理模組,新增或刪除使用者,以及為使用者授權。方便您以可視化方式更細緻的管理執行個體內的使用者。
購買執行個體的阿里雲帳號預設為當前執行個體的超級管理員Superuser,擁有執行個體的所有許可權。在未添加其他使用者之前,使用者管理頁面只顯示當前阿里雲帳號的相關資訊。使用者管理介面顯示項目如下表所示。
顯示項目 | 描述 |
成員 | 當前執行個體中的使用者名稱,包括阿里雲帳號、RAM使用者和自訂帳號。 |
雲帳號 | 當前執行個體中使用者的阿里雲帳號ID。 樣本如下:
|
帳號類型 | 當前執行個體的使用者的帳號類型。
|
角色類型 | 當前執行個體的使用者擁有的權限類別型。
|
操作 | 您可以單擊目標成員操作列的刪除,將該使用者從執行個體內刪除,刪除後使用者將沒有執行個體的任何存取權限。 |
使用限制
自訂帳號預設不能查詢MaxCompute外表,如需查詢,請配置USER MAPPING,具體配置方式請參見常見問題。
新增使用者
您可以在使用者管理頁面,使用可視化方式為執行個體新增使用者。
在使用者管理頁面選擇目標執行個體名稱,在頁面右上方單擊新增使用者。
在新增使用者對話方塊,選擇添加當前阿里雲帳號下已有的RAM使用者,並選擇執行個體超級管理員(superuser)或普通使用者使用者類型。
說明如果當前阿里雲帳號沒有RAM使用者,您需要建立一個RAM使用者,詳情請參見RAM使用者權限授權快速入門。
Hologres支援使用阿里雲帳號和被設為執行個體超級管理員(Superuser)的RAM帳號新增使用者,其中RAM帳號需要被授予AliyunRAMReadOnlyAccess許可權,詳情請參見授予RAM使用者權限。
執行個體超級管理員(Superuser):擁有執行個體的所有許可權,如果子帳號被授予為Superuser,則無需再額外進行其他授權。
普通使用者:僅被建立至執行個體中,沒有執行個體內任何對象(例如資料庫、Schema和表等)的查看及操作許可權,需要授予相應的許可權,才可以查看或操作執行個體。
推薦您前往DB管理頁面,使用可視化方式進行授權。您也可以選擇SQL語句授權,詳情請參見RAM使用者權限授權快速入門。
刪除使用者
您可以在使用者管理頁面選擇目標執行個體名稱,在列表中單擊目標成員操作列的刪除,將該使用者從執行個體內刪除,刪除後使用者將沒有執行個體的任何存取權限。
建立自訂使用者
控制台操作。
您可以在使用者管理頁面,使用可視化方式為執行個體建立自訂使用者。
在使用者管理頁面選擇目標執行個體名稱,在頁面右上方單擊建立自訂使用者。
在建立自訂使用者對話方塊,配置如下參數。
參數
說明
自訂帳號
請自訂帳號名稱。最大長度為57個字元,由小寫字母,數字和底線組成。
選擇成員角色
請選擇使用者類型。
執行個體超級管理員(Superuser):擁有執行個體的所有許可權,如果子帳號被授予為Superuser,則無需再額外進行其他授權。
普通使用者:僅被建立至執行個體中,沒有執行個體內任何對象(例如資料庫、Schema和表等)的查看及操作許可權,需要授予相應的許可權,才可以查看或操作執行個體。
密碼
請設定密碼,密碼需符合如下要求。
由大寫字母、小寫字母、數字、特殊字元其中三種及以上組成。
密碼長度為8~32個字元。
支援的特殊字元包含
!@#$%^&*()_+-=
。
確認密碼
請再次輸入密碼。
單擊確認,完成建立自訂使用者。
SQL方式操作。
create user "BASIC$<user_name>" with password '<password>';
user_name為自訂使用者帳號名稱;password為自訂使用者密碼。
其他相關操作
修改自訂使用者密碼。
說明僅自訂使用者支援修改密碼,阿里雲帳號及RAM帳號會自動產生AK/SK。
如果您需要修改自訂使用者密碼,有如下兩種方式:
控制台操作。
在使用者管理頁面的使用者帳號列表,單擊目標自訂使用者操作列的重設密碼。
在重設密碼對話方塊,輸入新密碼和確認新密碼後,單擊確認。
SQL方式操作。
alter user "BASIC$<user_name>" with password '<password>';
user_name為自訂使用者帳號名稱;password為自訂使用者新密碼。
刪除自訂使用者。
如果您需要刪除自訂使用者,有如下兩種方式:
控制台操作。
在使用者管理頁面的使用者帳號列表,單擊目標自訂使用者操作列的刪除。
在刪除使用者對話方塊,單擊確認。
SQL方式操作。
drop user "BASIC$<user_name>";
user_name為自訂使用者帳號名稱。
常見問題
問題現象
自訂帳號訪問MaxCompute外部表格時出現如下報錯。
ERROR: Query:[xxxxxx] Build desc failed: failed to check permission: Authorization Failed [4002], You don't exist in project hologres_test. Context ID:xxxxxx-xxxx-xxxx-xxxx-xxxxxxx. --->Tips: Pricipal:INVALID$BASIC$xxx; You don't exist in project xxx
問題原因
建立的自訂帳號僅存在Hologres內部,所以預設情況下無法訪問MaxCompute外部表格。
解決方案
請在Hologres中建立
User Mapping
,即將一個自訂帳號綁定至一個擁有MaxCompute對應專案和Hologres內部表資料許可權的阿里雲RAM帳號。文法樣本
CREATE USER MAPPING FOR "<user_name>" SERVER odps_server OPTIONS ( access_id '<Access_id>', access_key '<Access_key>' );
參數說明
參數
說明
user_name
自訂賬戶的使用者名稱。
Access_id
具有當前資料庫登入許可權帳號的AccessKey ID。
您可以單擊AccessKey 管理,擷取AccessKey ID。
Access_key
具有當前資料庫登入許可權帳號的AccessKey Secret。
您可以單擊AccessKey 管理,擷取AccessKey Secret。
使用樣本
--為使用者BASIC$test建立USER MAPPING CREATE USER MAPPING FOR "BASIC$test" SERVER odps_server OPTIONS ( access_id 'LTxxxxxxxxxx', access_key 'y8xxxxxxxxxxxxx'); --為目前使用者建立USER MAPPING CREATE USER MAPPING FOR CURRENT_USER SERVER odps_server OPTIONS ( access_id 'LTxxxxxxxxxx', access_key 'y8xxxxxxxxxxxxx');