为 Cassandra 配置 TLS

如何在运行时平面中为 Cassandra 配置 TLS

Cassandra 在客户端机器和数据库集群之间以及集群内的节点之间提供安全通信。启用加密可确保传输中的数据不会遭到破解并安全传输。在 Apigee Hybrid 中,默认情况下将为 Cassandra 节点之间以及客户端和 Cassandra 节点之间的任何通信启用 TLS。

关于 Cassandra 用户身份验证

混合平台使用 Cassandra 作为运行时平面数据的后端数据存储区。默认情况下,与 Cassandra 的任何客户端通信都需要身份验证。与 Cassandra 进行通信的客户使用三个用户。系统可为这些用户提供默认密码,您无需更改这些密码。

这些用户(包括默认用户)如下所述:

  • DML 用户:客户端通信用于将数据读取和写入 Cassandra(KMS、KVM、Cahce 和 Quota)。
  • DDL 用户:被 MART 用于任何数据定义任务,例如键空间创建、更新和删除。
  • 管理员用户:用于在 Cassandra 集群上执行的任何管理活动。
  • 默认 Cassandra 用户:启用身份验证且用户名为 cassandra 时,Cassandra 会创建默认用户

更改默认密码

Apigee Hybrid 为 Cassandra 用户提供默认密码。如果要更改默认用户密码,您可以在 overrides.yaml 文件中更改。添加以下配置,根据需要更改默认密码(“iloveapis123”),然后将更改应用到集群。

所有用户名都必须小写。

cassandra:
   auth:
     default:  ## the password for the new default user (static username: cassandra)
       password: "iloveapis123"
     admin: ## the password for the admin user (static username: admin_user)
       password: "iloveapis123"
     ddl: ## the password for the DDL User (static username: ddl_user)
       password: "iloveapis123"
     dml: ## the password for the DML User (static username: dml_user)
       password: "iloveapis123"

注意事项:

  • 不支持证书授权机构 (CA) 轮替。
  • 不支持使用密码生成的服务器证书。

检查 Cassandra 日志

在 Cassandra 启动后立即检查日志。下面的日志显示了 Cassandra 客户端连接已加密。

kubectl logs apigee-cassandra-2 -n apigee -f

INFO  00:44:36 Starting listening for CQL clients on /10.0.2.12:9042 (encrypted)...
INFO  00:44:36 Binding thrift service to /10.0.2.12:9160
INFO  00:44:36 enabling encrypted thrift connections between client and server
INFO  00:44:36 Listening for thrift clients...