不同的 sysadmin 憑證需要設定

首次安裝 Edge 時,系統會建立一種特殊的使用者,稱為「sysadmin 使用者」,同時其他設定檔也根據該使用者的詳細資料更新。如果您 將外部 LDAP 設為使用非電子郵件地址的使用者名稱和/,或是您在外部 LDAP 中為這位 sysadmin 使用者設定不同的密碼,則須按照本節說明進行變更。

有兩個位置需要更新:

  • Edge UI 使用儲存在 Edge UI 設定檔中加密的憑證登入管理伺服器。如果您的 sysadmin 使用者的使用者名稱或密碼不同,就必須執行這項更新。
  • Edge 將 sysadmin 使用者名稱儲存在另一個檔案中,用於執行各種公用程式指令碼。只有在 sysadmin 使用者的使用者名稱不同時,才需要執行這項更新。

變更 Edge UI 密碼

Edge UI 密碼的變更方式,取決於外部 LDAP 伺服器代表使用者名稱的方式:

  • 如果使用者名稱是電子郵件地址,請使用 setup.sh 公用程式更新 Edge UI
  • 如果使用者名稱是 ID,而不是電子郵件地址,請使用 API 呼叫和屬性檔案來更新 Edge UI

以下說明這兩項作業的操作。

變更電子郵件地址的 Edge UI 憑證

  1. 編輯您用來安裝 Edge UI 的無訊息設定檔,設定下列屬性:
    ADMIN_EMAIL=newUser
    APIGEE_ADMINPW=newPW
    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y
    SMTPMAILFROM="My Company <myco@company.com>"

    請注意,傳送新密碼時,您必須加入 SMTP 屬性,因為系統會重設使用者介面中的所有屬性。

  2. 透過 apigee-setup 公用程式,從設定檔重設 Edge UI 的密碼:
    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

變更使用者 ID 的 Edge UI 憑證

  1. 加密使用者 ID 和密碼:
    java -cp "/opt/apigee/edge-ui/conf:/opt/apigee/edge-ui/lib/*" utils.EncryptUtil 'userName:PWord'
  2. 在編輯器中開啟 ui.properties 檔案。如果檔案不存在,請建立檔案:
    vi /opt/apigee/customer/application/ui.properties
  3. ui.properties 中,將 conf_apigee_apigee.mgmt.credential 權杖設為步驟 1 中呼叫傳回的值:
    conf_apigee_apigee.mgmt.credential="STRING_RETURNED_IN_STEP_1"
  4. ui.properties 的擁有者設為「apigee」:
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. 重新啟動 Edge UI:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

測試設定

  1. 在瀏覽器中開啟管理 UI,網址為:
    http://management_server_IP:9000/

    例如:

    http://192.168.52.100:9000/
  2. 使用新憑證登入。如果登入成功,設定正確無誤。

編輯適用於 Apigee 公用程式指令碼的 Edge sysadmin 使用者名稱儲存庫

  1. 編輯您用來安裝 Edge UI 的無訊息設定檔,設定下列屬性,將 ADMIN_EMAIL 的值變更為您將在外部 LDAP 中 sysadmin 使用者使用的使用者名稱:
    APIGEE_EMAIL=newUser
    IS_EXTERNAL_AUTH="true"

    IS_EXTERNAL_AUTH 屬性會將 Edge 設為支援帳戶名稱,而非電子郵件地址。

  2. 使用 apigee-setup 公用程式重設設定檔中所有 Edge 元件的使用者名稱:
    /opt/apigee/apigee-setup/bin/setup.sh -p edge -f configFile

    您必須在所有邊緣節點上對所有邊緣元件執行這個指令,包括管理伺服器、路由器、訊息處理器、Qpid 和 Postgres。

測試設定

確認您可以存取中央 POD。在管理伺服器上,執行下列 CURL 指令:

curl -u sysAdminEmail:password http://localhost:8080/v1/servers?pod=central

您應該會看到下列格式的輸出內容:

[ {
  "internalIP" : "192.168.1.11",
  "isUp" : true,
  "pod" : "central",
  "reachable" : true,
  "region" : "dc-1",
  "tags" : {
    "property" : [ ]
  },
  "type" : [
    "application-datastore",
    "scheduler-datastore",
    "management-server",
    "auth-datastore",
    "apimodel-datastore",
    "user-settings-datastore",
    "audit-datastore"
  ],
  "uUID" : "d4bc87c6-2baf-4575-98aa-88c37b260469"
}, {
  "externalHostName" : "localhost",
  "externalIP" : "192.168.1.11",
  "internalHostName" : "localhost",
  "internalIP" : "192.168.1.11",
  "isUp" : true,
  "pod" : "central",
  "reachable" : true,
  "region" : "dc-1",
  "tags" : {
    "property" : [ {
      "name" : "started.at",
      "value" : "1454691312854"
    }, ... ]
  },
  "type" : [ "qpid-server" ],
  "uUID" : "9681202c-8c6e-4da1-b59b-23e3ef092f34"
} ]