私有雲版本 4.17.01 版本
根據預設,Cassandra 安裝作業未啟用驗證功能。這代表任何人都能存取 Cassandra。您可以在安裝 Edge 後啟用驗證程序,也可以在安裝過程中啟用。
如果您決定啟用 Cassandra 的驗證功能,系統會使用下列預設憑證:
- 使用者名稱 =「cassandra」
- 密碼 =「cassandra」
你可以使用這個帳戶、設定這個帳戶的其他密碼,或建立新的 Cassandra 使用者。使用 Cassandra CREATE/ALTER/DROP USER 陳述式來新增、移除及修改使用者。
詳情請參閱 http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html。
在安裝期間啟用 Cassandra 驗證
您可以啟用 Cassandra 驗證做為安裝時間。然而,雖然您可以在安裝 Cassandra 時啟用驗證功能,但無法變更預設的使用者名稱和密碼。安裝 Cassandra 後,您必須手動執行這個步驟。
注意:安裝「Cassandra」時,請使用「-p c」、「-p ds」、「-p sa」、「-p aio」、「-p asa」和「-p ebp」選項安裝這個程序。
如要在安裝時啟用 Cassandra 驗證,請在所有 Cassandra 節點的設定檔中加入 CASS_AUTH 屬性:
CASS_AUTH=y # The default value is n.
下列邊緣元件會存取 Cassandra:
- 管理伺服器
- 訊息處理器
- 路由器
- Qpid 伺服器
- Postgres 伺服器
- BaaS 堆疊
因此,安裝這些元件時,您必須在設定檔中設定下列屬性,以指定 Cassandra 憑證:
CASS_USERNAME=cassandra CASS_PASSWORD=cassandra
安裝 Cassandra 後,即可變更 Cassandra 憑證。不過,如果您安裝了管理伺服器、訊息處理工具、路由器、QPid 伺服器、Postgres 伺服器或 BaaS 堆疊,則必須更新這些元件,才能使用新的憑證。
安裝 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> 提示以更新密碼:
cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD'; - 結束 Cqlsh 工具:
cqlsh>exit - 如果您尚未安裝管理伺服器、訊息處理器、路由器、Qpid 伺服器、Postgres 伺服器或 BaaS 堆疊,請在設定檔中設定下列屬性,然後安裝這些元件:
CASS_Username=cassandra
CASS_PASSWORD=NEW_PASSWORD - 如果你已安裝管理伺服器、訊息處理器、路由器、QPid 伺服器、Postgres 伺服器或 BaaS Stack,請參閱「重設邊緣密碼」一文,以便更新這些元件來使用新的密碼。
在安裝後啟用 Cassandra 驗證
如何啟用驗證功能:
- 使用 Cassandra 使用者名稱和密碼更新連線至 Cassandra 的所有 Edge 元件。
- 為所有 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
或者,您也可以將檔案傳送至包含新使用者名稱和密碼的指令:
>
CA-Calc-c-c-c-c-c515999799 和服務帳戶: - 重複步驟 1:
- 所有訊息處理器
- 所有路由器
- 所有 Qpid 伺服器 (edge-qpid-server)
- Postgres 伺服器 (edge-postgres-server)
- 在 4.16.05.04 以上版本中的 BaaS 堆疊節點中:
- 執行下列指令來產生加密密碼:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password
這個指令會提示您使用純文字密碼,並以下列格式傳回加密的密碼:
SECURE:ae1b6dedbf6b26a39c5853593599559915c935995599159915a9915c9359915a99759915a925c99559919a19c19c12cc85559915a927c9359915a927c9359915a927c9359915a99159919a19219915a9210339915193191193153991111515 - 在 /opt/apigee/customer/application/usergrid.properties 中設定下列權杖。如果該檔案不存在,請建立該檔案:
usergrid-deployment_cassandra.username=cassandra
usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239
1.c44.c9.c94.c9.
如果您變更了使用者名稱,請視情況設定 usergrid-deployment_cassandra.username 的值。
請務必在密碼中加入「SECURE:」前置字串。 否則 BaaS 堆疊會將這個值解讀為未加密。
注意:每個 BaaS 堆疊節點都有用來加密密碼的專屬金鑰。因此,您必須個別為每個 BaaS 堆疊節點產生加密值。 - 將 usergrid.properties 檔案的擁有權變更為「Apigee」使用者:
> chown Apigee:Apigee /opt/apigee/customer/application/usergrid.properties - 設定 Stack 節點:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid 設定 - 重新啟動 BaaS 堆疊:
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid 重新啟動 - 重複所有 BaaS 堆疊 Nox 的步驟。
- 執行下列指令來產生加密密碼:
請按照下列程序啟用 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