不同的 sysadmin 憑證需要設定

Edge for Private Cloud 4.19.01 版

首次安裝 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

    您必須在所有 Edge 節點的所有 Edge 元件上執行這個指令,包括:Management Server、Router、訊息處理器、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"
} ]