Private Cloud v4.18.05 專用 Edge
根據預設,Cassandra 安裝作業不會啟用驗證機制。這表示任何人都可以存取 Cassandra。您可以在安裝 Edge 後或在安裝程序中啟用驗證機制。
如果您決定在 Cassandra 上啟用驗證機制,系統會使用下列預設憑證:
- username = 'cassandra'
- password = 'cassandra'
您可以使用這個帳戶、為這個帳戶設定其他密碼,或建立新的 Cassandra 使用者。使用 Cassandra CREATE/ALTER/DROP USER 陳述式新增、移除及修改使用者。
詳情請參閱 Cassandra SQL 殼層指令。
在安裝期間啟用 Cassandra 驗證
您可以在安裝時啟用 Cassandra 驗證。不過,您可以在安裝 Cassandra 時啟用驗證功能,但無法變更預設的使用者名稱和密碼。您必須在 Cassandra 安裝完成後手動執行這項步驟。
如要在安裝時啟用 Cassandra 驗證,請在所有 Cassandra 節點的設定檔中加入 CASS_AUTH
屬性:
CASS_AUTH=y # The default value is n.
下列 Edge 元件可存取 Cassandra:
- 管理伺服器
- 訊息處理器
- 路由器
- Qpid 伺服器
- Postgres 伺服器
因此,安裝這些元件時,您必須在設定檔中設定下列屬性,以指定 Cassandra 憑證:
CASS_USERNAME=cassandra CASS_PASSWORD=cassandra
您可以在安裝 Cassandra 後變更 Cassandra 憑證。不過,如果您已安裝管理伺服器、訊息處理器、路由器、Qpid 伺服器或 Postgres 伺服器,則必須更新這些元件,才能使用新的憑證。
如要在安裝 Cassandra 後變更 Cassandra 憑證,請按照下列步驟操作:
- 使用
cqlsh
工具和預設憑證登入任一 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
- 如果您尚未安裝管理伺服器、訊息處理器、路由器、Qpid 伺服器或 Postgres 伺服器,請在設定檔中設定下列屬性,然後安裝這些元件:
CASS_USERNAME=cassandra CASS_PASSWORD=NEW_PASSWORD
- 如果您已安裝管理伺服器、訊息處理器、路由器、Qpid 伺服器或 Postgres 伺服器,請參閱「重設 Edge 密碼」一文,瞭解如何更新這些元件以使用新密碼。
安裝後啟用 Cassandra 驗證
如要啟用驗證功能,請按照下列步驟操作:
- 更新所有連線至 Cassandra 的 Edge 元件,並使用 Cassandra 使用者名稱和密碼。
- 在所有 Cassandra 節點上啟用驗證機制。
- 在任何節點上設定 Cassandra 使用者名稱和密碼。您只需變更一個 Cassandra 節點的憑證,系統就會將這些憑證廣播至環中的所有 Cassandra 節點。
請按照下列程序,使用新的憑證更新所有與 Cassandra 通訊的 Edge 元件。請注意,您必須先執行這個步驟,才能實際更新 Cassandra 憑證:
- 在管理伺服器節點上執行下列指令:
/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=cassandra CASS_PASSWORD=CASS_PASSWROD
這個指令會自動重新啟動管理伺服器。
- 重複步驟 1:
- 所有訊息處理器
- 所有路由器
- 所有 Qpid 伺服器 (edge-qpid-server)
- Postgres 伺服器 (edge-postgres-server)
請按照下列程序啟用 Cassandra 驗證,並設定使用者名稱和密碼:
- 登入第一個 Cassandra 節點。
- 執行下列指令:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra enable_cassandra_authentication -e y
這項指令會啟用驗證機制並重新啟動 Cassandra。
- 在所有 Cassandra 節點上重複執行步驟 1 和 2。
- 使用
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>
提示中執行下列指令,確保該鍵空間隨時可供使用。 單一資料中心:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};
兩個資料中心:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
- 結束
cqlsh
工具:exit
- 執行
nodetool repair
,確認變更已推送至所有 Cassandra 節點:/opt/apigee/apigee-cassandra/bin/nodetool repair system_auth