Configura TLS para Cassandra

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

Cassandra proporciona comunicación segura entre una máquina cliente y un clúster de base de datos, y entre nodos dentro de un clúster. Habilitar la encriptación garantiza que los datos en tránsito no se vean comprometidos y se transfiera de forma segura. En Apigee Hybrid, TLS está habilitado de forma predeterminada para cualquier comunicación entre los nodos de Cassandra y entre los clientes y los nodos de Cassandra.

Acerca de la autenticación de usuarios de Cassandra

La plataforma híbrida usa Cassandra como el almacén de datos de backend para los datos del plano de entorno de ejecución. De forma predeterminada, cualquiera de las comunicaciones del cliente con Cassandra requiere autenticación. Hay tres usuarios que usan los clientes que se comunican con Cassandra. Se proporcionan las contraseñas predeterminadas para estos usuarios, y no es necesario que las modifiques.

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

  • Usuario de DML: Lo usa la comunicación del cliente para leer y escribir datos en Cassandra (KMS, KVM, Caché y Cuota).
  • Usuario de DDL: Lo usa MART para cualquiera de las tareas de definición de datos, como la creación, actualización y eliminación de espacios de claves.
  • Usuario admin: Se usa para cualquier actividad administrativa realizada en el clúster de Cassandra.
  • Usuario de Cassandra predeterminado: Cassandra crea un usuario predeterminado cuando la autenticación está habilitada y el nombre de usuario es cassandra

Cambia las contraseñas predeterminadas

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

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

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 autoridad certificada (CA).
  • No se admite un certificado de servidor que se genere con una frase de contraseña.

Verifica los registros de Cassandra

Revisa los registros en cuanto se inicie Cassandra. En el siguiente registro, se muestra que las conexiones de cliente de Cassandra están encriptadas.

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