Configurar TLS para Cassandra

Cómo configurar TLS para Cassandra en el plano de ejecución

Cassandra proporciona una comunicación segura entre un equipo cliente y un clúster de bases de datos, así como entre los nodos de un clúster. Al habilitar el cifrado, se asegura de que los datos en tránsito no se vean comprometidos y se transfieran de forma segura. En Apigee hybrid, TLS está habilitado de forma predeterminada para cualquier comunicación entre nodos de Cassandra y entre clientes y nodos de Cassandra.

Acerca de la autenticación de usuarios de Cassandra

La plataforma híbrida usa Cassandra como almacén de datos backend para los datos del plano de tiempo de ejecución. De forma predeterminada, cualquier comunicación del cliente con Cassandra requiere autenticación. Hay tres usuarios que usan los clientes que se comunican con Cassandra. Se proporcionan contraseñas predeterminadas para estos usuarios, pero no es obligatorio cambiarlas.

Estos usuarios, incluido un usuario predeterminado, se describen a continuación:

  • Usuario de DML: se usa en la comunicación del cliente para leer y escribir datos en Cassandra (KMS, KVM, caché y cuota).
  • Usuario de DDL: MART lo usa para cualquier tarea de definición de datos, como la creación, la actualización y la eliminación de espacios de claves.
  • Usuario administrador: se usa para cualquier actividad administrativa realizada en el clúster de Cassandra.
  • Usuario predeterminado de Cassandra: Cassandra crea un usuario predeterminado cuando se habilita la autenticación y el nombre de usuario es cassandra.

Cambiar las contraseñas predeterminadas

Apigee hybrid proporciona contraseñas predeterminadas para los usuarios de Cassandra. Si quieres cambiar las contraseñas de usuario predeterminadas, puedes hacerlo en el archivo overrides.yaml. Añade la siguiente configuración, cambia las contraseñas predeterminadas ("iloveapis123") como quieras y aplica el cambio a tu clúster.

Todos los nombres de usuario deben estar en minúsculas.

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"

Ten en cuenta lo siguiente:

  • No se admite la rotación de la autoridad de certificación (CA).
  • No se admite un certificado de servidor generado con una contraseña.

Consultar los registros de Cassandra

Consulta los registros en cuanto se inicie Cassandra. En el registro que se muestra a continuación se indica que las conexiones de cliente de Cassandra están cifradas.

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...