管理使用者、角色和權限

Apigee 說明文件網站提供豐富的使用者角色管理資訊 授予其要求的權限。您可以使用 Edge UI 和 Management API 管理使用者;角色和權限則只能透過 Management API 管理。

如要瞭解使用者和建立使用者的相關資訊,請參閱:

您為管理使用者執行的多數作業是由系統管理員執行 權限。在以雲端為基礎的 Edge 安裝過程中,Apigee 扮演系統的角色 管理員。在使用 Edge 安裝的 Edge 中,您的系統管理員必須 來執行這些工作

新增使用者

您可以使用 Edge API、Edge UI 或 Edge 指令建立使用者。這個 一節說明如何使用 Edge API 和 Edge 指令。如要瞭解如何在 Edge UI,請參閱建立 全球使用者

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

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

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

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

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

configFile 會建立使用者的位置,如以下範例所示:

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

這樣您就能透過這項呼叫查看使用者的相關資訊:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD 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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

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

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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/userroles

如要從機構組織中移除使用者,請從使用者身上移除該機構組織中的所有角色。使用以下指令移除使用者的角色:

curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
  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」角色。指派 使用者連結到「sysadmin」角色無法在 Edge UI 中完成

如何新增系統管理員:

  1. 在 Edge UI 或 API 中建立使用者。
  2. 將使用者加入「系統管理員」角色:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      -X POST http://ms_IP:8080/v1/userroles/sysadmin/users -d 'id=foo@bar.com'
  3. 確認新使用者是否具有「sysadmin」角色:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/userroles/sysadmin/users

    傳回使用者的電子郵件地址:

    [ " foo@bar.com " ]
  4. 檢查新使用者的權限:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/permissions

    傳回:

    {
      "resourcePermission" : [ {
      "path" : "/",
        "permissions" : [ "get", "put", "delete" ]
      } ]
    }
  5. 新增系統管理員後,您可以將使用者新增至任何機構。
  6. 如果您之後想將該使用者從系統管理員角色中移除,可以使用 以下 API:
    curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      http://ms_IP:8080/v1/userroles/sysadmin/users/foo@bar.com

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

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

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

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

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD 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=NEW_SYS_ADMIN_EMAIL
    APIGEE_ADMINPW=NEW_SYS_ADMIN_PASSWORD
    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 CURRENT_SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      http://ms_IP:8080/v1/users/CURRENT_SYS_ADMIN_EMAIL \
      -d '{"emailId": "NEW_SYS_ADMIN_EMAIL", "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 建立使用者。不過,您只能 來刪除使用者

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms-IP:8080/v1/users

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD -X DELETE http://ms_IP:8080/v1/users/USER_EMAIL