管理使用者、角色和權限

私有雲的邊緣 4.16.05 版

Apigee 說明文件網站提供豐富的資訊管理使用者角色和權限資訊。您可以使用 Edge UI 和 Management API 管理使用者,而且只能透過 Management API 管理角色和權限。

如需瞭解使用者及建立使用者的資訊,請參閱:

您為了管理使用者執行的許多作業都需要系統管理員權限。在以雲端為基礎的 Edge 安裝中,系統管理員扮演的 Apigee 功能。在私有雲安裝的邊緣中,系統管理員必須按照下方說明執行這些工作。

正在新增使用者

您可以使用 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 指令建立使用者:

> /<inst_root>/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

將使用者指派給機構中的角色

必須先將新使用者指派給機構中的角色,他們才能執行任何操作。您可以將使用者指派給不同角色,包括:orgadminbusinessuseropsadminuser 或機構中定義的自訂角色。

為使用者指派機構中的角色時,系統會自動將對方新增至機構。如要將使用者指派給多個機構,您可以將他們指派給各機構中的角色。

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

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 -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

新增系統管理員

系統管理員可執行下列操作:

  • 建立機構
  • 為邊緣安裝作業新增路由器、訊息處理器和其他元件
  • 設定 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}

  5. 新增系統管理員之後,您可以將使用者新增至任何機構。
    注意:新的系統管理員使用者無法登入 Edge UI,您必須先將使用者新增至至少一個機構。
  6. 如果您之後想將使用者從系統管理員角色中移除,可以使用下列 API:
    curl -X DELETE -u <sysadminEmail:pword>
    http://<ms_IP>:8080/v1/userroles/sysadmin/users/foo@bar.com


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

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

如要進一步提升安全性,您可以指定 Edge 系統管理員所需的電子郵件網域。新增系統管理員時,如果使用者的電子郵件地址不在指定網域中,則無法將使用者新增至 sysadmin 角色。

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

如何設定電子郵件網域:

  1. management-server.properties 編輯器中開啟:
    vi /<inst_root>/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:
    /<inst_root>/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>