重設 Edge 密碼

安裝完成後,您可以重設下列密碼:

如需重設這些密碼的操作說明,請參閱下文。

重設 SymasLDAP 密碼

重設 SymasLDAP 密碼的方式取決於您的設定。視 Edge 設定而定,SymasLDAP 可以安裝為:

  • 安裝在管理伺服器節點上的單一 SymasLDAP 例項。例如,在 2 節點、5 節點或 9 節點的 Edge 設定中。
  • 管理伺服器節點上安裝了多個 SymasLDAP 執行個體,並設定 SymasLDAP 複寫。舉例來說,在 12 節點的 Edge 設定中。
  • 多個 SymasLDAP 執行個體安裝在各自的節點上,並設定 SymasLDAP 複寫。舉例來說,在 13 節點的 Edge 設定中。

如果管理伺服器上安裝了單一 SymasLDAP 執行個體,請執行下列步驟:

  1. 在管理伺服器節點上執行下列指令,建立新的 SymasLDAP 密碼:
    /opt/apigee/apigee‑service/bin/apigee‑service apigee‑openldap \ 
      change‑ldap‑password ‑o OLD_PASSWORD ‑n NEW_PASSWORD
  2. 執行下列指令,儲存供管理伺服器存取的新密碼:
    /opt/apigee/apigee‑service/bin/apigee‑service edge‑management‑server \ 
      store_ldap_credentials ‑p NEW_PASSWORD

    這項指令會重新啟動管理伺服器。

管理伺服器節點上安裝 SymasLDAP 的 SymasLDAP 複寫設定中,請在兩個管理伺服器節點上按照上述步驟更新密碼。

SymasLDAP 複寫設定中,如果 SymasLDAP 位於管理伺服器以外的節點上,請務必先變更兩個 SymasLDAP 節點上的密碼,然後再變更兩個管理伺服器節點上的密碼。

重設系統管理員密碼

如要重設系統管理員密碼,您必須在兩個位置重設密碼:

  • 管理伺服器
  • UI

如何重設系統管理員密碼:

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

    請注意,傳遞新密碼時必須包含 SMTP 屬性,因為使用者介面上的所有屬性都會重設。

  2. 在 UI 節點上停止 Edge UI:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
  3. 使用 apigee-setup 公用程式,透過設定檔重設 Edge UI 的密碼:
    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
  4. (僅限在使用者介面中啟用 TLS 時) 按照「為管理使用者介面設定 TLS」一文的說明,在 Edge 使用者介面中重新啟用 TLS。
  5. 在管理伺服器上建立新的 XML 檔案。在這個檔案中,將使用者 ID 設為「admin」,並使用下列格式定義密碼、名字、姓氏和電子郵件地址:
    <User id="admin">
      <Password><![CDATA[password]]></Password>
      <FirstName>first_name</FirstName>
      <LastName>last_name</LastName>
      <EmailId>email_address</EmailId>
    </User>
  6. 在管理伺服器上執行下列指令:
    curl -u "admin_email_address:admin_password" -H \
    "Content-Type: application/xml" -H "Accept: application/json" -X POST \
    "http://localhost:8080/v1/users/admin_email_address" -d @your_data_file
    

    其中 your_data_file 是您在上一個步驟中建立的檔案。

    Edge 會更新管理伺服器上的管理員密碼。

  7. 刪除您建立的 XML 檔案。密碼絕不應以明文永久儲存。

在具有多個管理伺服器的 SymasLDAP 複製環境中,重設其中一個管理伺服器的密碼時,系統會自動更新其他管理伺服器。不過,您必須分別更新所有 Edge UI 節點。

重設機構使用者密碼

如要重設機構使用者的密碼,請使用 apigee-servce 公用程式叫用 apigee-setup,如下列範例所示:

/opt/apigee/apigee-service/bin/apigee-service apigee-setup reset_user_password
  [-h]
  [-u USER_EMAIL]
  [-p USER_PWD]
  [-a ADMIN_EMAIL]
  [-P APIGEE_ADMINPW]
  [-f configFile]

例如:

/opt/apigee/apigee‑service/bin/apigee‑service apigee‑setup reset_user_password 
  ‑u user@myCo.com ‑p Foo12345 ‑a admin@myCo.com ‑P adminPword
cp ~/Documents/tmp/hybrid_root/apigeectl_beta2_a00ae58_linux_64/README.md 
  ~/Documents/utilities/README.md

以下是可搭配「-f」選項使用的設定檔範例:

USER_NAME=user@myCo.com
USER_PWD="Foo12345"
APIGEE_ADMINPW=ADMIN_PASSWORD

您也可以使用「更新使用者」API 變更使用者密碼。

系統管理員和機構使用者密碼規則

您可以在這個部分,為 API 管理使用者強制設定密碼長度和強度。這些設定會使用一系列預先設定 (且編號不重複) 的規則運算式,檢查密碼內容 (例如大寫、小寫、數字和特殊字元)。將這些設定寫入 /opt/apigee/customer/application/management-server.properties 檔案。如果該檔案不存在,請建立檔案。

編輯 management-server.properties 後,請重新啟動管理伺服器:

/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

然後,您可以將不同的規則運算式組合分組,設定密碼強度評分。舉例來說,您可以判斷密碼至少要包含一個大寫字母和一個小寫字母,強度評分才會是「3」,但如果密碼至少包含一個小寫字母和一個數字,強度評分就會是「4」。

屬性 說明
conf_security_password.validation.minimum.password.length=8
conf_security_password.validation.default.rating=2
conf_security_password.validation.minimum.rating.required=3

您可以使用這些屬性判斷有效密碼的整體特徵。密碼強度的預設最低評分 (詳見下表) 為 3。

請注意,password.validation.default.rating=2 低於規定的最低評分,這表示如果輸入的密碼不符合您設定的規則,密碼評分會是 2,因此無效 (低於最低評分 3)。

以下是可識別密碼特徵的規則運算式。請注意,每個步驟都有編號。例如,password.validation.regex.5=... 是運算式編號 5。您會在檔案的後續章節中使用這些數字,設定決定整體密碼強度的不同組合。

conf_security_password.validation.regex.1=^(.)\\1+$

1:所有字元都會重複

conf_security_password.validation.regex.2=^.*[a-z]+.*$

2:至少一個小寫字母

conf_security_password.validation.regex.3=^.*[A-Z]+.*$

3:至少要有一個大寫字母

conf_security_password.validation.regex.4=^.*[0-9]+.*$

4:至少一個數字

conf_security_password.validation.regex.5=^.*[^a-zA-z0-9]+.*$

5:至少一個特殊字元 (不含底線「_」)

conf_security_password.validation.regex.6=^.*[_]+.*$

6:至少一個底線

conf_security_password.validation.regex.7=^.*[a-z]{2,}.*$

7:有多個小寫字母

conf_security_password.validation.regex.8=^.*[A-Z]{2,}.*$

8:多個大寫字母

conf_security_password.validation.regex.9=^.*[0-9]{2,}.*$

9:超過一位數

conf_security_password.validation.regex.10=^.*[^a-zA-z0-9]{2,}.*$

10:多個特殊字元 (不含底線)

conf_security_password.validation.regex.11=^.*[_]{2,}.*$

11:底線超過一個

系統會根據密碼內容,依下列規則判斷密碼強度。 每項規則都包含前一節的一或多個規則運算式,並指派數值強度。系統會將密碼的數值強度與這個檔案頂端的 conf_security_password.validation.minimum.rating.required 數字進行比較,判斷密碼是否有效。

conf_security_password.validation.rule.1=1,AND,0
conf_security_password.validation.rule.2=2,3,4,AND,4
conf_security_password.validation.rule.3=2,9,AND,4
conf_security_password.validation.rule.4=3,9,AND,4
conf_security_password.validation.rule.5=5,6,OR,4
conf_security_password.validation.rule.6=3,2,AND,3
conf_security_password.validation.rule.7=2,9,AND,3
conf_security_password.validation.rule.8=3,9,AND,3

每項規則都有編號。例如: password.validation.rule.3=... 是規則編號 3。

每項規則都採用下列格式 (等號右側):

regex-index-list,[AND|OR],rating

regex-index-list 是規則運算式清單 (依前一節的編號),以及 AND|OR 運算子 (表示考慮列出的所有或任何運算式)。

rating 是指派給每項規則的強度評分。

舉例來說,規則 5 表示任何含有至少一個特殊字元或一個底線的密碼,強度評分都會是 4。如果檔案頂端有 password.validation.minimum.rating.required=3,則評等為 4 的密碼有效。

conf_security_rbac.password.validation.enabled=true

啟用單一登入 (SSO) 時,請將角色型存取權控管密碼驗證設為 false。預設值為 true。

重設 Cassandra 密碼

根據預設,Cassandra 出貨時會停用驗證功能。啟用驗證後,系統會使用預先定義的使用者 (名稱為 cassandra,密碼為 cassandra)。您可以使用這個帳戶、為這個帳戶設定其他密碼,或是建立新的 Cassandra 使用者。使用 Cassandra CREATE/ALTER/DROP USER 陳述式新增、移除及修改使用者。

如要瞭解如何啟用 Cassandra 驗證,請參閱「啟用 Cassandra 驗證」。

如要重設 Cassandra 密碼,請按照下列步驟操作:

  • 在任一 Cassandra 節點上設定密碼,密碼就會廣播至環狀拓撲中的所有 Cassandra 節點
  • 在每個節點上,使用新密碼更新管理伺服器、訊息處理器、路由器、Qpid 伺服器和 Postgres 伺服器

詳情請參閱「CQL 指令」。

如要重設 Cassandra 密碼,請按照下列步驟操作:

  1. 使用 cqlsh 工具和預設憑證登入任一 Cassandra 節點。您只需要在一個 Cassandra 節點上變更密碼,系統就會將密碼廣播至環狀拓撲中的所有 Cassandra 節點:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p 'cassandra'

    在此情況下:

    • cassIP 是 Cassandra 節點的 IP 位址。
    • 9042 是 Cassandra 通訊埠。
    • 預設使用者為 cassandra
    • 預設密碼為「cassandra」。如果先前變更過密碼,請使用目前的密碼。如果密碼含有任何特殊字元,請務必以單引號括住密碼。
  2. cqlsh> 提示執行下列指令,更新密碼:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';

    如果新密碼包含單引號字元,請在單引號字元前面加上單引號字元,藉此逸出該字元。

  3. 結束 cqlsh 工具:
    exit
  4. 在管理伺服器節點上執行下列指令:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u CASS_USERNAME -p 'CASS_PASSWORD'

    您也可以視需要將含有新使用者名稱和密碼的檔案傳遞至指令:

    apigee-service edge-management-server store_cassandra_credentials -f configFile

    其中 configFile 包含下列項目:

    CASS_USERNAME=CASS_USERNAME
    CASS_PASSWORD='CASS_PASSWROD'

    這個指令會自動重新啟動管理伺服器。

  5. 在下列裝置上重複步驟 4:
    • 所有訊息處理器
    • 所有路由器
    • 所有 Qpid 伺服器 (edge-qpid-server)
    • Postgres 伺服器 (edge-postgres-server)

Cassandra 密碼現已變更。

重設 PostgreSQL 密碼

根據預設,PostgreSQL 資料庫會定義兩個使用者:postgresapigee。 兩位使用者的預設密碼都是 postgres。請按照下列程序變更預設密碼。

變更所有 Postgres 主要節點的密碼。如果您已在主要/待命模式中設定兩個 Postgres 伺服器,則只需要變更主要節點的密碼。詳情請參閱為 Postgres 設定主要待命複寫

  1. 在 Master Postgres 節點上,將目錄變更為 /opt/apigee/apigee-postgresql/pgsql/bin
  2. 設定 PostgreSQL postgres 使用者密碼:
    1. 使用下列指令登入 PostgreSQL 資料庫:
      psql -h localhost -d apigee -U postgres
    2. 系統顯示提示時,請輸入現有的 postgres 使用者密碼做為 postgres
    3. 在 PostgreSQL 命令提示字元中,輸入下列指令來變更預設密碼:
      ALTER USER postgres WITH PASSWORD 'new_password';

      成功後,PostgreSQL 會傳回下列內容:

      ALTER ROLE
    4. 使用下列指令退出 PostgreSQL 資料庫:
      \q
  3. 設定 PostgreSQL apigee 使用者密碼:
    1. 使用下列指令登入 PostgreSQL 資料庫:
      psql -h localhost -d apigee -U apigee
    2. 系統提示時,請輸入 apigee 使用者密碼 (postgres)。
    3. 在 PostgreSQL 命令提示字元中,輸入下列指令來變更預設密碼:
      ALTER USER apigee WITH PASSWORD 'new_password';
    4. 使用下列指令退出 PostgreSQL 資料庫:
      \q

    您可以將 postgresapigee 使用者的密碼設為相同或不同的值。

  4. 設定 APIGEE_HOME
    export APIGEE_HOME=/opt/apigee/edge-postgres-server
  5. 加密新密碼:
    sh /opt/apigee/edge-analytics/utils/scripts/utilities/passwordgen.sh new_password

    這項指令會傳回加密密碼。加密密碼位於「:」字元之後,且不包含「:」;舉例來說,「apigee1234」的加密密碼為:

    Encrypted string:WheaR8U4OeMEM11erxA3Cw==
  6. 使用 加密密碼更新管理伺服器節點,適用於 postgresapigee 使用者。
    1. 在管理伺服器上,將目錄變更為 /opt/apigee/customer/application
    2. 編輯 management-server.properties 檔案,設定下列屬性。 如果這個檔案不存在,請建立該檔案。
    3. 確認檔案擁有者是 apigee 使用者:
      chown apigee:apigee management-server.properties
  7. 使用新的加密密碼更新所有 Postgres 伺服器和 Qpid 伺服器節點。
    1. 在 Postgres 伺服器或 Qpid 伺服器節點上,切換至下列目錄:
      /opt/apigee/customer/application
    2. 開啟下列檔案進行編輯:
      • postgres-server.properties
      • qpid-server.properties

      如果這些檔案不存在,請建立檔案。

    3. 在檔案中新增下列屬性:
      • conf_pg-agent_password=newEncryptedPasswordForPostgresUser
      • conf_pg-ingest_password=newEncryptedPasswordForPostgresUser
      • conf_query-service_pgDefaultPwd=newEncryptedPasswordForPostgresUser
      • conf_query-service_dwDefaultPwd=newEncryptedPasswordForPostgresUser
      • conf_analytics_aries.pg.password=newEncryptedPasswordForPostgresUser
    4. 確認檔案的擁有者是 apigee 使用者:
      chown apigee:apigee postgres-server.properties
      chown apigee:apigee qpid-server.properties
  8. 更新單一登入 (SSO) 元件 (如果已啟用單一登入):
    1. 連線至或登入執行 apigee-sso 元件的節點。這也稱為「SSO 伺服器」

      在 AIO 或 3 節點安裝中,這個節點與管理伺服器是同一個節點。

      如果有多個節點執行 apigee-sso 元件,您必須在每個節點上執行這些步驟。

    2. 開啟下列檔案進行編輯:
      /opt/apigee/customer/application/sso.properties 

      如果檔案不存在,請建立該檔案。

    3. 在檔案中新增下列這行文字:
      conf_uaa_database_password=new_password_in_plain_text

      例如:

      conf_uaa_database_password=apigee1234
    4. 執行下列指令,將設定變更套用至 apigee-sso 元件:
      /opt/apigee/apigee-service/bin/apigee-service apigee-sso configure
    5. 針對每個 SSO 伺服器重複執行這些步驟。
  9. 依下列順序重新啟動下列元件:
    1. PostgreSQL 資料庫:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
    2. Qpid 伺服器:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    3. Postgres 伺服器:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    4. 管理伺服器:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    5. SSO 伺服器:
      /opt/apigee/apigee-service/bin/apigee-service apigee-sso restart