Edge for Private Cloud v4.19.01
默认情况下,Cassandra 安装时未启用身份验证。这意味着任何人都可以访问 Cassandra。您可以在安装 Edge 后或在安装过程中启用身份验证。
如果您决定在 Cassandra 上启用身份验证,它会使用以下默认凭据:
- username = 'cassandra'
- password = 'cassandra'
您可以使用此账号,为此账号设置其他密码,或创建新的 Cassandra 用户。使用 Cassandra CREATE/ALTER/DROP USER 语句添加、移除和修改用户。
如需了解详情,请参阅 Cassandra SQL shell 命令。
在安装期间启用 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
- 如果您已安装 Management Server、Message Processor、Router、Qpid 服务器或 Postgres 服务器,请参阅重置 Edge 密码,了解如何更新这些组件以使用新密码。
安装后启用 Cassandra 身份验证
如需启用身份验证,请执行以下操作:
- 使用 Cassandra 用户名和密码更新连接到 Cassandra 的所有 Edge 组件。
- 在所有 Cassandra 节点上,启用身份验证。
- 在任意一个节点上设置 Cassandra 用户名和密码。您只需在一个 Cassandra 节点上更改凭据,这些凭据就会广播到环中的所有 Cassandra 节点。
使用以下过程,通过新凭据更新与 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
此命令会自动重启 Management Server。
- 对于以下每项服务,请重复第 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 节点。
- 运行以下命令:
/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 [-u username -pw password] repair system_auth
只有在为 Cassandra 启用了 JMX 身份验证时,您才需要传递用户名和密码。