管理使用者、角色和權限

Edge for Private Cloud 4.17.05 版

Apigee 說明文件網站提供管理使用者角色和權限的詳細資訊。使用者可以透過 Edge UI 和 Management API 進行管理,但角色和權限只能透過 Management API 進行管理。

如要瞭解使用者和建立使用者,請參閱:

管理使用者時,許多操作都需要系統管理員權限。在雲端安裝 Edge 時,Apigee 會扮演系統管理員的角色。在 Edge for 私有雲 安裝作業中,系統管理員必須執行下列工作。

新增使用者

您可以使用 Edge API、Edge UI 或 Edge 指令建立使用者。本節說明如何使用 Edge API 和 Edge 指令。如要瞭解如何在 Edge UI 中建立使用者,請參閱「建立全域使用者」。

在組織中建立使用者後,您必須為使用者指派角色。角色會決定使用者在 Edge 上的存取權。

使用下列指令,透過 Edge API 建立使用者:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<passwd> \
-X POST http://<ms_IP>:8080/v1/users \
-d '<User> \
   <FirstName>New</FirstName> \
   <LastName>User</LastName> \
   <Password>newUserPWord</Password> \
   <EmailId>foo@bar.com</EmailId> \
</User>'

或使用下列 Edge 指令建立使用者:

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-user -f configFile

其中 configFile 包含建立使用者所需的資訊:

APIGEE_ADMINPW=sysAdminPW    # If omitted, you will be prompted.
USER_NAME=foo@bar.com
FIRST_NAME=New
LAST_NAME=User
USER_PWD="newUserPWord"
ORG_NAME=myorg  

接著,您可以使用這個呼叫來查看使用者相關資訊:

curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com

將使用者指派給組織中的角色

新使用者必須先獲派組織中的角色,才能執行任何操作。您可以將使用者指派給不同角色,包括:orgadmin、businessuser、opsadmin、user,或組織中定義的自訂角色。

將使用者指派給組織中的角色,會自動將該使用者新增至組織。如要將使用者指派給多個機構,請在各機構中為他們指派角色。

使用下列指令,將使用者指派給組織中的角色:

curl -X POST -H "Content-Type:application/x-www-form-urlencoded" /
http://<ms_IP>:8080/v1/o/<org_name>/userroles/<role>/users?id=foo@bar.com /
-u <sysAdminEmail>:<passwd> 

這項呼叫會顯示指派給使用者的所有角色。如要新增使用者,但只顯示新角色,請使用下列呼叫:

curl -X POST -H "Content-Type: application/xml" /
http://<ms_IP>:8080/v1/o/<org_name>/users/foo@bar.com/userroles /
-d '<Roles><Role name="role"/></Roles>' /
-u <sysAdminEmail>:<passwd>

您可以使用下列指令查看使用者的角色:

curl -u <sysAdminEmail>:<passwd> /
http://<ms_IP>:8080/v1/users/foo@bar.com/userroles

如要將使用者從組織中移除,請移除該使用者在該組織中的所有角色。使用下列指令,移除使用者的角色:

curl -X DELETE -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/o/<org_name>/userroles/<role>/users/foo@bar.com

新增系統管理員

系統管理員可以:

  • 建立機構
  • 在 Edge 安裝作業中新增路由器、訊息處理器和其他元件
  • 設定 TLS/SSL
  • 建立其他系統管理員
  • 執行所有 Edge 管理工作

雖然只有一位使用者是管理工作的預設使用者,但系統管理員可以不只一位。凡是具備 sysadmin 角色的使用者,都擁有所有資源的完整權限。

您可以在 Edge UI 或 API 中建立系統管理員使用者。不過,您必須使用 Edge API,才能將使用者指派為 sysadmin 角色。您無法在 Edge UI 中將使用者指派給 sysadmin 角色。

如要新增系統管理員,請按照下列步驟操作:

  1. 在 Edge UI 或 API 中建立使用者。
  2. 將使用者新增至 sysadmin 角色:
    curl -u <sysAdminEmail>:<passwd> \
    -X POST http://<ms_IP>:8080/v1/userroles/sysadmin/users \
    -d 'id=foo@bar.com'
  3. 確認新使用者具備 sysadmin 角色:
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/userroles/sysadmin/users

    傳回使用者的電子郵件地址:
    [ " foo@bar.com " ]
  4. 檢查新使用者的權限:
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com/permissions

    傳回:
    {
    "resourcePermission" : [ {
    "path" : "/",
    "permissions" : [ "get", "put", "delete" ]
    } ]
    }
  5. 新增系統管理員後,您可以將使用者加入任何組織。
    注意:您必須將新的系統管理員使用者新增至至少一個組織,該使用者才能登入 Edge UI。
  6. 如果日後想移除使用者的系統管理員角色,可以使用下列 API:
    curl -X DELETE -u <sysadminEmail:pword>
    http://<ms_IP>:8080/v1/userroles/sysadmin/users/foo@bar.com


    請注意,這項呼叫只會移除使用者的角色,不會刪除使用者。

變更預設系統管理員使用者

安裝 Edge 時,您會指定系統管理員的電子郵件地址。Edge 會使用該電子郵件地址建立使用者,並將該使用者設為預設系統管理員。之後可以按照上述步驟新增其他系統管理員。

本節說明如何將預設系統管理員變更為其他使用者,以及如何變更目前預設系統管理員的使用者帳戶電子郵件地址。

如要查看目前設為系統管理員的使用者清單,請使用下列 API 呼叫:

curl -u sysAdminEmail:passwd http://<ms_IP>:8080/v1/userroles/sysadmin/users

如要判斷目前的預設系統管理員,請查看 /opt/apigee/customer/defaults.sh 檔案。檔案中包含下列程式碼,顯示目前預設系統管理員的電子郵件地址:

ADMIN_EMAIL=foo@bar.com

如要將預設系統管理員變更為其他使用者,請按照下列步驟操作:

  1. 按照上述步驟建立新的系統管理員,或確認新系統管理員的使用者帳戶已設為系統管理員。
  2. 編輯 /opt/apigee/customer/defaults.sh,將 ADMIN_EMAIL 設為新系統管理員的電子郵件地址。
  3. 編輯您用來安裝 Edge UI 的靜音設定檔,設定下列屬性:
    ADMIN_EMAIL=emailAddressOfNewSysAdmin
    APIGEE_ADMINPW=pwOfNewSysAdmin

    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y
    請注意,您必須加入 SMTP 屬性,因為 UI 上的所有屬性都會重設。
  4. 重新設定 Edge UI:
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui start

如果只想變更目前預設系統管理員的使用者帳戶電子郵件地址,請先更新使用者帳戶,設定新的電子郵件地址,然後變更預設系統管理員電子郵件地址:

  1. 使用新的電子郵件地址更新目前預設系統管理員使用者的使用者帳戶:
    > curl -H content-type:application/json -X PUT /
    -u currentSysAdminEmail:passwd /
    http://<ms_IP>:8080/v1/users/currentSysAdminEmail /
    -d '{"emailId": "newSysAdminEmail", "lastName": "admin", "firstName": "admin"}'
  2. 重複執行上述程序中的步驟 2、3 和 4,更新 /opt/apigee/customer/defaults.sh 檔案,並更新 Edge UI。

指定系統管理員的電子郵件網域

為多添一層安全防護,您可以指定 Edge 系統管理員必須使用的電子郵件網域。新增系統管理員時,如果使用者的電子郵件地址不在指定網域中,則無法將使用者新增至 sysadmin 角色。

根據預設,必要網域為空白,這表示您可以將任何電子郵件地址新增至 sysadmin 角色。

如何設定電子郵件網域:

  1. 在編輯器中開啟 management-server.properties:
    vi /opt/apigee/customer/application/management-server.properties

    如果這個檔案不存在,請建立檔案。
  2. 將 conf_security_rbac.global.roles.allowed.domains 屬性設為允許網域的逗號分隔的清單。例如:
    conf_security_rbac.global.roles.allowed.domains=myCo.com,yourCo.com
  3. 儲存變更。
  4. 重新啟動 Edge Management Server:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

    如果現在嘗試將使用者新增至 sysadmin 角色,且使用者的電子郵件地址不在其中一個指定網域中,新增作業就會失敗。

刪除使用者

您可以使用 Edge API 或 Edge UI 建立使用者。不過,您只能使用 API 刪除使用者。

如要查看目前的使用者清單 (包括電子郵件地址),請使用下列 cURL 指令:

curl -u <sysAdminEmail>:<passwd> http://<ms-IP>:8080/v1/users

使用下列 cURL 指令刪除使用者:

curl -u <sysAdminEmail>:<passwd> -X DELETE http://<ms-IP>:8080/v1/users/<userEmail>