安裝完成後,您可以重設下列密碼:
以下各節將說明如何重設這些密碼。
重設 OpenLDAP 密碼
重設 OpenLDAP 密碼的方式取決於您的設定。視 Edge 設定而定,OpenLDAP 可安裝為:
- 在管理伺服器節點上安裝的單一 OpenLDAP 例項。例如在 2 個節點、5 個節點或 9 節點 Edge 設定中。
- 在管理伺服器節點中安裝多個 OpenLDAP 執行個體,已設定 OpenLDAP 複製功能。例如,在 12 個 Edge 節點的 Edge 設定中。
- 在各個節點上安裝多個 OpenLDAP 執行個體,並設定 OpenLDAP 複製功能。例如,在 13 個 Edge 節點的 Edge 設定中。
針對安裝在管理伺服器上的單一 OpenLDAP 執行個體,請執行下列步驟:
- 在管理伺服器節點上執行下列指令,建立新的 OpenLDAP 密碼:
/opt/apigee/apigee‑service/bin/apigee‑service apigee‑openldap \ change‑ldap‑password ‑o OLD_PASSWORD ‑n NEW_PASSWORD
- 執行下列指令來儲存新密碼,供 Management Server 存取:
/opt/apigee/apigee‑service/bin/apigee‑service edge‑management‑server \ store_ldap_credentials ‑p NEW_PASSWORD
這個指令會重新啟動管理伺服器。
在「在管理伺服器節點上安裝 OpenLDAP 的 OpenLDAP 複製設定」中,按照上方兩個管理伺服器節點上的步驟更新密碼。
在 OpenLDAP 複製設定 (OpenLDAP 位於管理伺服器以外的節點上) 中,請務必先變更這兩個 OpenLDAP 節點上的密碼,再變更兩個管理伺服器節點上的密碼。
重設系統管理員密碼
如要重設系統管理員密碼,您必須在兩個地方重設密碼:
- 管理伺服器
- UI
如何重設系統管理員密碼:
- 編輯您用來安裝 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 屬性,因為 UI 上的所有屬性都會重設。
- 在 UI 節點上停止 Edge UI:
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
- 使用
apigee-setup
公用程式從設定檔重設 Edge UI 的密碼:/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
- (只有在 UI 已啟用 TLS 的情況下) 按照為管理 UI 設定 TLS 的說明,在 Edge UI 上重新啟用 TLS。
- 在管理伺服器上建立新的 XML 檔案。在這個檔案中,將使用者 ID 設為「admin」,並使用以下格式定義密碼、名字、姓氏和電子郵件地址:
<User id="admin"> <Password><![CDATA[password]]></Password> <FirstName>first_name</FirstName> <LastName>last_name</LastName> <EmailId>email_address</EmailId> </User>
- 在管理伺服器上執行下列指令:
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 會在管理伺服器上更新管理員密碼。
- 刪除您建立的 XML 檔案。密碼絕不應永久儲存在明文中。
在有多個管理伺服器的 OpenLDAP 複製環境中,如果在一個管理伺服器上重設密碼,系統會自動更新其他管理伺服器。不過,您必須個別更新所有 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
您也可以使用 Update user 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 分)。 |
以下是用來識別密碼特徵的規則運算式。請注意,每個檔案都有編號。例如, |
|
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:至少 1 個底線 |
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 |
每項規則都有編號。例如, 每個規則都會採用下列格式 (等號右側): regex-index-list,[AND|OR],rating regex-index-list 是規則運算式的清單 (依前一個部分的編號排序),以及 rating 是指每個規則的數值強度評分。 舉例來說,規則 5 表示任何密碼只要包含至少一個特殊字元或一個底線,強度評分就會是 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 伺服器
詳情請參閱 http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html。
如何重設 Cassandra 密碼:
- 使用
cqlsh
工具和預設憑證登入任一 Cassandra 節點。您只需變更一個 Cassandra 節點的密碼,系統就會將密碼廣播至環中的所有 Cassandra 節點:/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p 'cassandra'
在此情況下:
cassIP
是 Cassandra 節點的 IP 位址。9042
是 Cassandra 通訊埠。- 預設使用者為
cassandra
。 - 預設密碼為「
cassandra
」。如果您先前變更了密碼,請使用目前的密碼。如果密碼含有任何特殊字元,您必須以單引號括住密碼。
- 以
cqlsh>
提示字元執行下列指令,更新密碼:ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
如果新密碼包含單一引號,請在前面加上單引號字元,將其逸出。
- 結束
cqlsh
工具:exit
- 在管理伺服器節點上執行下列指令:
/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'
這個指令會自動重新啟動管理伺服器。
- 重複執行步驟 4:
- 所有訊息處理器
- 所有路由器
- 所有 Qpid 伺服器 (edge-qpid-server)
- Postgres 伺服器 (edge-postgres-server)
Cassandra 密碼已變更。
重設 PostgreSQL 密碼
根據預設,PostgreSQL 資料庫有兩組使用者定義:「postgres」和「apigee」。兩者的預設密碼都是「postgres」。請按照下列程序變更預設密碼。
變更所有 Postgres 主節點的密碼。如果您已將兩個 Postgres 伺服器設為主/備用模式,則只需變更主節點的密碼即可。詳情請參閱「為 Postgres 設定主/備援複寫」。
- 在主 Postgres 節點上,將目錄變更為
/opt/apigee/apigee-postgresql/pgsql/bin
。 - 設定 PostgreSQL「postgres」使用者密碼:
- 使用下列指令登入 PostgreSQL 資料庫:
psql -h localhost -d apigee -U postgres
- 出現提示時,請輸入現有的「postgres」使用者密碼「postgres」。
- 在 PostgreSQL 命令提示字元中輸入下列指令,變更預設密碼:
ALTER USER postgres WITH PASSWORD 'new_password';
成功後,PostgreSQL 會傳回以下內容:
ALTER ROLE
- 使用下列指令退出 PostgreSQL 資料庫:
\q
- 使用下列指令登入 PostgreSQL 資料庫:
- 設定 PostgreSQL「apigee」使用者密碼:
- 使用下列指令登入 PostgreSQL 資料庫:
psql -h localhost -d apigee -U apigee
- 系統提示時,請輸入「apigee」使用者密碼「postgres」。
- 在 PostgreSQL 命令提示字元中輸入下列指令,即可變更預設密碼:
ALTER USER apigee WITH PASSWORD 'new_password';
- 使用以下指令退出 PostgreSQL 資料庫:
\q
您可以將「postgres」和「apigee」使用者的密碼設為相同或不同的值。
- 使用下列指令登入 PostgreSQL 資料庫:
- 設定
APIGEE_HOME
:export APIGEE_HOME=/opt/apigee/edge-postgres-server
- 為新密碼加密:
sh /opt/apigee/edge-analytics/utils/scripts/utilities/passwordgen.sh new_password
這個指令會傳回已加密的密碼。加密的密碼開頭為「:」字元,且不含「:」,例如「apigee1234」的加密密碼如下:
Encrypted string:WheaR8U4OeMEM11erxA3Cw==
- 為「postgres」和「apigee」使用者更新管理伺服器節點的已加密密碼。
- 在管理伺服器上,將目錄變更為
/opt/apigee/customer/application
。 - 編輯
management-server.properties
檔案,設定下列屬性。如果這個檔案不存在,請建立這個檔案。 - 確認檔案的擁有者為「apigee」使用者:
chown apigee:apigee management-server.properties
- 在管理伺服器上,將目錄變更為
- 使用新的加密密碼更新所有 Postgres 伺服器和 Qpid 伺服器節點。
- 在 Postgres 伺服器或 Qpid 伺服器節點上,變更至以下目錄:
/opt/apigee/customer/application
- 開啟下列檔案進行編輯:
postgres-server.properties
qpid-server.properties
如果這些檔案不存在,請建立這些檔案。
- 將下列屬性新增至檔案:
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
- 確認檔案的擁有者為「apigee」使用者:
chown apigee:apigee postgres-server.properties
chown apigee:apigee qpid-server.properties
- 在 Postgres 伺服器或 Qpid 伺服器節點上,變更至以下目錄:
- 更新 SSO 元件 (如果已啟用 SSO):
連線至或登入
apigee-sso
元件執行中的節點。也稱為「SSO 伺服器」。在 AIO 或 3 個節點安裝中,這個節點與管理伺服器相同。
如果您有多個執行
apigee-sso
元件的節點,則必須在每個節點上執行這些步驟。- 開啟下列檔案進行編輯:
/opt/apigee/customer/application/sso.properties
如果檔案不存在,請建立檔案。
- 在檔案中新增下列這行文字:
conf_uaa_database_password=new_password_in_plain_text
例如:
conf_uaa_database_password=apigee1234
- 執行下列指令,將設定變更套用至
apigee-sso
元件:/opt/apigee/apigee-service/bin/apigee-service apigee-sso configure
- 針對每個單一登入 (SSO) 伺服器重複上述步驟。
- 依下列順序重新啟動下列元件:
- PostgreSQL 資料庫:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
- Qpid 伺服器:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Postgres 伺服器:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- 管理伺服器:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- SSO 伺服器:
/opt/apigee/apigee-service/bin/apigee-service apigee-sso restart
- PostgreSQL 資料庫: