Private Cloud 適用的 Edge 4.17.09 版
安裝完成後,您可以重設 OpenLDAP、Apigee Edge 系統管理員、Edge 組織使用者和 Cassandra 密碼。
重設 OpenLDAP 密碼
視 Edge 設定而定,OpenLDAP 可安裝為下列項目:
- 在管理伺服器節點上安裝的單一 OpenLDAP 例項。例如在 2 節點、5 節點或 9 節點的 Edge 設定中。
- 在管理伺服器節點中安裝多個 OpenLDAP 執行個體,已設定 OpenLDAP 複製功能。例如,在 12 個 Edge 節點的 Edge 設定中。
- 在各個節點上安裝多個 OpenLDAP 執行個體,並設定 OpenLDAP 複製功能。例如,在 13 個 Edge 節點的 Edge 設定中。
OpenLDAP 密碼的重設方式取決於您的設定。
針對管理伺服器上安裝的單一 OpenLDAP 例項,請執行下列操作:
- 在管理伺服器節點上執行下列指令,建立新的 OpenLDAP 密碼:
> /opt/apigee/apigee-service/bin/apigee-service apigee-openldap change-ldap-password -o oldPword -n newPword - 執行下列指令,將新密碼儲存至 Management Server:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_ldap_credentials -p newPword
這項指令會重新啟動 Management Server。
在在管理伺服器節點上安裝 OpenLDAP 的 OpenLDAP 複製設定中,請在兩個管理伺服器節點上依照上述步驟更新密碼。
在OpenLDAP 複製設定中,OpenLDAP 位於管理伺服器以外的節點,請務必先在兩個 OpenLDAP 節點上變更密碼,然後再變更兩個管理伺服器節點的密碼。
重設系統管理員密碼
如要重設系統管理員密碼,您必須在兩個地方重設密碼:
- 管理伺服器
- UI
警告:請先停止 Edge UI,再重設系統管理員密碼。由於您先在管理伺服器上重設密碼,因此 UI 可能會在短時間內仍使用舊密碼。如果 UI 使用舊密碼進行三次以上的呼叫,OpenLDAP 伺服器會將系統管理員帳戶鎖定三分鐘。
如何重設系統管理員密碼:
- 在 UI 節點上,停止 Edge UI:
> /opt/apigee/apigee-service/bin/apigee-service edge-ui stop - 在管理伺服器上執行下列指令,即可重設密碼:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server change_sysadmin_password -o currentPW -n newPW - 編輯用於安裝 Edge UI 的靜默設定檔,設定下列屬性:
APIGEE_ADMINPW=newPW
SMTPHOST=smtp.gmail.com
SMTPPORT=465
SMTPUSER=foo@gmail.com
SMTPPASSWORD=bar
SMTPSSL=y
SMTPMAILFROM="My Company <myco@company.com>"
請注意,您必須在傳遞新密碼時加入 SMTP 屬性,因為 UI 上的所有屬性都會重設。 - 使用 apigee-setup 公用程式,透過設定檔重設 Edge UI 上的密碼:
> /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile - (僅限 UI 已啟用 TLS 的情況) 請按照「為管理介面設定 TLS」一文所述,重新啟用 Edge 使用者介面上的 TLS。
在有多個管理伺服器的 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
與「-f」選項搭配使用的設定檔範例如下:
USER_NAME= user@myCo.com USER_PWD= "foo12345" APIGEE_ADMINPW= adminPword
您也可以使用「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. conf_security_password.validation.default.rating=2 conf_security_password.validation.minimum。 |
並根據這些資訊判斷有效密碼的整體特徵。密碼強度的預設最低評分為 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 – 至少 1 個小寫字母 |
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。 |
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 伺服器和 BaaS 堆疊
詳情請參閱 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> 提示符號執行下列指令,即可更新密碼:
cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
如果新密碼包含單引號字元,請在前面加上單引號字元,以便轉義。 - 結束 cqlsh 工具:
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)
- 在 4.16.05.04 以上版本的 BaaS Stack 節點上:
- 執行下列指令,產生加密密碼:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password
這個指令會提示您輸入純文字密碼,並以以下格式傳回加密密碼:
SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050 - 在 /opt/apigee/customer/application/usergrid.properties 中設定下列權杖。
如果該檔案不存在,請建立這個檔案:
usergrid-deployment_cassandra.username=cassandra
usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
這個範例使用 Cassandra 的預設使用者名稱。如果您變更了使用者名稱,請據此設定 usergrid-deployment_cassandra.username 的值。
請務必在密碼中加入「SECURE:」前置字元。 否則,Baas 堆疊會將該值解讀為未加密。
注意:每個 BaaS Stack 節點都有專屬金鑰,用於加密密碼。因此,您必須在每個 BaaS Stack 節點上個別產生加密值。 - 將 usergrid.properties 檔案的擁有權變更為「apigee」使用者:
> chown apigee:apigee /opt/apigee/customer/application/usergrid.properties - 設定 Stack 節點:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure - 重新啟動 BaaS 堆疊:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart - 針對所有 BaaS Stack 節點重複執行這些步驟。
- 執行下列指令,產生加密密碼:
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 命令提示字元中輸入下列指令,變更預設密碼:
apigee=> ALTER USER postgres WITH PASSWORD 'apigee1234'; - 使用下列指令結束 PostgreSQL 資料庫:
apigee=> \q
- 使用以下指令登入 PostgreSQL 資料庫:
- 設定 PostgreSQL 的「apigee」使用者密碼:
- 使用下列指令登入 PostgreSQL 資料庫:
> psql -h localhost -d apigee -U apigee - 系統提示時,請輸入「apigee」使用者密碼「postgres」。
- 在 PostgreSQL 指令提示中輸入下列指令,即可變更預設密碼:
apigee=> ALTER USER apigee WITH PASSWORD 'apigee1234'; - 使用下列指令結束 PostgreSQL 資料庫:
apigee=> \q
- 使用下列指令登入 PostgreSQL 資料庫:
- 設定 APIGEE_HOME:
> export APIGEE_HOME=/opt/apigee/edge-postgres-server - 加密新密碼:
> sh /opt/apigee/edge-postgres-server/utils/scripts/utilities/passwordgen.sh apigee1234
這項指令會傳回加密密碼,如下所示。加密密碼會從「:」字元後開始,但不包含「:」。
加密字串 :WheaR8U4OeMEM11erxA3Cw== - 使用新的加密密碼更新管理伺服器節點,適用於「postgres」和「apigee」使用者。
- 在管理伺服器上,將目錄變更為 /opt/apigee/customer/application。
- 請編輯 management-server.properties 檔案,以便設定下列屬性。如果這個檔案不存在,請建立這個檔案:
注意:部分屬性會採用已加密的「postgres」使用者密碼,部分屬性則會採用已加密的「apigee」使用者密碼。- conf_pg-agent_password=newEncryptedPasswordForPostgresUser
- conf_pg-ingest_password=newEncryptedPasswordForPostgresUser
- conf_query-service_pgDefaultPwd=newEncryptedPasswordForApigeeUser
- conf_query-service_dwDefaultPwd=newEncryptedPasswordForApigeeUser
- conf_analytics_aries.pg.password=newEncryptedPasswordForPostgresUser
- 確認檔案的擁有者為「apigee」使用者:
> chown apigee:apigee management-server.properties
- 請使用新的加密密碼更新所有 Postgres Server 和 Qpid Server 節點。
- 在 Postgres 伺服器或 Qpid 伺服器節點上,將目錄變更為 /opt/apigee/customer/application。
- 編輯下列檔案。如果這些檔案不存在,請建立這些檔案:
- postgres-server.properties
- qpid-server.properties
- 將下列屬性新增至檔案:
注意:所有這些屬性都會採用已加密的「postgres」使用者密碼。- 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
- 依序重新啟動下列元件:
- PostgreSQL 資料庫:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart - Qpid Server:
> /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
- PostgreSQL 資料庫: