根據預設,Cassandra 會在不啟用驗證功能的情況下安裝。也就是說,凡是具備存取權 向 Cassandra 伺服器查詢 Cassandra 資料庫而不經過任何驗證。你可以 在安裝 Edge 後啟用驗證功能,或在安裝過程中啟用驗證功能。
如果您決定在 Cassandra 上啟用驗證,但不提供 該 API 將使用下列預設憑證:
- 使用者名稱 =「cassandra」
- password =「cassandra」
您可以使用這個使用者帳戶,為這個使用者帳戶設定其他密碼,或
建立新的 Cassandra 使用者使用 Cassandra 新增、移除及修改使用者
CREATE/ALTER/DROP USER
陳述式。
詳情請參閱 Cassandra SQL 殼層指令。
在以下期間啟用 Cassandra 驗證 安裝
您可以在安裝時啟用 Cassandra 驗證。不過,雖然您可以
請一律在安裝 Cassandra 時一律使用預設的 cassandra 使用者名稱
和密碼 (‘cassandra’:’cassandra’
)。
如要使用非預設的 Cassandra 憑證,必須重新啟用 Cassandra
請依照下列步驟操作
此處。
如果要在全新 Cassandra 安裝期間啟用 Cassandra 驗證,請加入 所有 Cassandra 節點的設定檔包含下列屬性:
CASS_AUTH=y CASS_USERNAME=cassandra CASS_PASSWORD=cassandra
接著安裝作業會將 Cassandra 設定為啟用驗證功能,並預設為啟用
cassandra:cassandra
憑證。
初始安裝完成後,您可以依照下列一或多個步驟操作:
- 按照流程建立替代使用者,供 Cassandra 驗證使用 此處。
- 請按照下列步驟變更預設 Cassandra 使用者的密碼 請按這裡。
- 安裝 Edge 元件 ,以使用您在上方設定的憑證。
連線至 Cassandra 的 Edge 元件
下列 Edge 元件可存取 Cassandra:
- 管理伺服器
- 訊息處理器
- 路由器
- Qpid 伺服器
- Postgres 伺服器
在啟用 Cassandra 驗證功能的情況下安裝 Edge 元件
如果您在為 您必須在靜音設定檔中提供下列設定:
CASS_AUTH=Y CASS_USERNAME=<valid username in Cassandra> CASS_PASSWORD=<password for the above username>
您可以變更 Cassandra 憑證。不過, 已安裝管理伺服器、訊息處理器、路由器、Qpid 或 Postgres 伺服器 更新這些元件,使其使用 並更新憑證,詳見下節說明。
更新連線至 Cassandra 的 Edge 元件
請使用以下程序更新所有與 Cassandra 通訊的 Edge 元件 新的憑證請注意,您必須執行這個步驟才能實際更新 Cassandra 憑證:
- 在 Management Server 節點上,執行下列指令:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u cassandra_username -p cassandra_password
或者,您也可以將包含新使用者名稱和密碼的檔案傳送至指令:
apigee-service edge-management-server store_cassandra_credentials -f configFile
其中
configFile
包含下列元素:CASS_USERNAME=cassandra_username # Default is cassandra CASS_PASSWORD='cassandra_password' # Default is cassandra; wrap in single quotes if it includes special characters.
這個指令會自動重新啟動管理伺服器。
- 針對下列每項服務重複步驟 1:
- 所有訊息處理器
- 所有路由器
- 所有 Qpid 伺服器 (edge-qpid-server)
- Postgres 伺服器 (edge-postgres-server)
當您針對各項服務重複步驟 1 時,請將
edge-management-server
替換成 並在上述指令中填入適當的服務名稱舉例來說,如果在執行指定步驟時 如果是路由器服務,請使用下列指令:/opt/apigee/apigee-service/bin/apigee-service edge-router store_cassandra_credentials -u cassandra -p cassandra
安裝後啟用 Cassandra 驗證
以下各節說明如何在安裝後啟用 Cassandra 驗證。
在單一資料中心設定中啟用 Cassandra 驗證
針對已安裝 Cassandra 的單一資料中心型 Apigee 設定,您可以:
- 首次啟用 Cassandra 驗證 (使用預設的 Cassandra
使用者 (
cassandra:cassandra
) 或建立全新的超級使用者。方法如下 步驟如下: - 變更現有 Cassandra 使用者的密碼。
如果使用預設 Cassandra 憑證啟用 Cassandra 驗證
(
cassandra:cassandra
),請按照下列步驟變更密碼:- 變更密碼 適用於 Cassandra 使用者
- 更新 Edge 元件, 使用 Cassandra 使用者名稱和密碼連線至 Cassandra。
注意:「Cassandra」是 Cassandra 中的特殊使用者使用這個驗證方式 使用者需要 QUORUM 一致性詳情請見 關於 Cassandra 一致性等級。
有多個資料中心時,啟用 Cassandra 驗證
擴展資料中心時,請按照下列任一情境中的步驟操作 取決於您的設定。
情境 1:現有資料中心已啟用 Cassandra 驗證
如果現有資料中心已啟用 Cassandra 驗證 (預設為啟用)
cassandra:cassandra
憑證,請按照下列步驟操作:- 設定新的資料中心 含有預設的 Cassandra:Cassandra 憑證CASS_AUTH=y。詳情請見 啟用 Cassandra 驗證
- 安裝 Edge 元件。
如果現有資料中心已啟用非預設憑證,且已啟用 Cassandra 驗證功能, 步驟如下:
- 使用預設的 Cassandra:Cassandra 憑證和CASS_AUTH=y。詳情請見 啟用 Cassandra 驗證
- 按照步驟 進行 首次啟用 Cassandra 驗證,以便重複使用 現有的資料中心 (如果現有使用非預設憑證)。
- 安裝 Edge 元件,以使用新資料中心。
情境 2:現有資料中心未啟用 Cassandra 驗證
如果未啟用 cassandra 驗證功能,請按照下列步驟操作:
- 在沒有 Cassandra 驗證的情況下設定新的資料中心。
- 按照步驟 進行 首次啟用 Cassandra 驗證功能 為整個叢集啟用 Cassandra 驗證 (展開後)。
- 請按照下列步驟更新連線至 Cassandra 的 Edge 元件 請按這裡。
首次啟用 Cassandra 驗證
首次啟用 Cassandra 驗證的程序如下, 或是建立新的 Cassandra 使用者名稱和密碼:
- 建立無訊息設定檔,內容如下所示:
# Specify IP address or DNS name of cassandra node IP1=192.168.1.1 IP2=192.168.1.2 IP3=192.168.1.3 # Must resolve to IP address or DNS name of host HOSTIP=$(hostname -i) # Set to ‘y’ to enable Cassandra authentication. CASS_AUTH=y # Possible values are ‘y/n’ # Cassandra username. If it does not exist, this user would be created as a SUPERUSER CASS_USERNAME=cassandra # Default value is cassandra # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password CASS_PASSWORD=cassandra # Default value is cassandra # Space-separated IP/DNS names of the Cassandra hosts CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" # Username of an existing C* user. Only needed if you have disabled or change details of the default cassandra user(‘cassandra’) CASS_EXISTING_USERNAME=cassandra # The default username is cassandra # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’) CASS_EXISTING_PASSWORD=cassandra # The default password is cassandra # Cassandra port CASS_PORT=9042 # The default port is 9042.
- 登入第一個 Cassandra 節點,然後執行下列指令:
apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG
或者,您也可以將屬性做為指令引數傳送至指令碼,如 範例:
CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=cassandra CASS_EXISTING_PASSWORD=cassandra CASS_USERNAME=cassandra CASS_PASSWORD=cassandra CASS_HOSTS="192.168.1.1:1,1 192.168.1.2:1,1 192.168.1.3:1,1" apigee-service apigee-cassandra enable_cassandra_authentication
注意:
- 如果是預設的 Cassandra 憑證,上述指令會啟用 Cassandra 驗證和 會重新啟動 Cassandra
- 如果是非預設憑證,這個指令也會修改複製係數,並建立一個 執行修復,並對 system_auth 鍵空間執行修復。
- 逐一對所有 Cassandra 節點重複執行步驟 1 和 2。
安裝 Cassandra 後變更 Cassandra 憑證
如要在安裝 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 伺服器,然後參閱重設邊緣密碼,瞭解如何更新這些伺服器 元件,以使用新密碼。