Activer l'authentification Cassandra

Par défaut, Cassandra s'installe sans que l'authentification soit activée. Cela signifie que n'importe qui peut accéder à Cassandra. Vous pouvez activer l'authentification après l'installation d'Edge ou pendant le processus d'installation.

Si vous décidez d'activer l'authentification sur Cassandra, il utilise les identifiants par défaut suivants :

  • username = 'cassandra'
  • password = 'cassandra'

Vous pouvez utiliser ce compte, définir un autre mot de passe pour ce compte ou créer un utilisateur Cassandra. Ajoutez, supprimez et modifiez des utilisateurs à l'aide des instructions Cassandra CREATE/ALTER/DROP USER.

Pour en savoir plus, consultez Commandes shell SQL Cassandra.

Activer l'authentification Cassandra lors de l'installation

Vous pouvez activer l'authentification Cassandra au moment de l'installation. Toutefois, même si vous pouvez activer l'authentification lorsque vous installez Cassandra, vous ne pouvez pas modifier le nom d'utilisateur et le mot de passe par défaut. Vous devez effectuer cette étape manuellement une fois l'installation de Cassandra terminée.

Pour activer l'authentification Cassandra au moment de l'installation, incluez la propriété CASS_AUTH dans le fichier de configuration de tous les nœuds Cassandra :

CASS_AUTH=y # The default value is n.

Les composants Edge suivants accèdent à Cassandra :

  • Serveur de gestion
  • Processeurs de messages
  • Routeurs
  • Serveurs Qpid
  • Serveurs Postgres

Par conséquent, lorsque vous installez ces composants, vous devez définir les propriétés suivantes dans le fichier de configuration pour spécifier les identifiants Cassandra :

CASS_USERNAME=cassandra
CASS_PASSWORD=cassandra

Vous pouvez modifier les identifiants Cassandra après avoir installé Cassandra. Toutefois, si vous avez déjà installé le serveur de gestion, les processeurs de messages, les routeurs, les serveurs Qpid ou les serveurs Postgres, vous devez également mettre à jour ces composants pour utiliser les nouveaux identifiants.

Pour modifier les identifiants Cassandra après l'installation de Cassandra :

  1. Connectez-vous à n'importe quel nœud Cassandra à l'aide de l'outil cqlsh et des identifiants par défaut. Il vous suffit de modifier le mot de passe sur un nœud pour qu'il soit diffusé sur tous les nœuds Cassandra de l'anneau :
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

    Où :

    1. cassIP est l'adresse IP du nœud Cassandra.
    2. 9042 est le port Cassandra par défaut.
    3. L'utilisateur par défaut est cassandra.
    4. Le mot de passe par défaut est cassandra. Si vous avez déjà modifié le mot de passe, utilisez le mot de passe actuel. Si le mot de passe contient des caractères spéciaux, placez-le entre guillemets simples.
  2. Exécutez la commande suivante dans l'invite de commande cqlsh> pour mettre à jour le mot de passe :
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. Quittez l'outil cqlsh, comme le montre l'exemple suivant :
    exit
  4. Si vous n'avez pas encore installé le serveur de gestion, les processeurs de messages, les routeurs, les serveurs Qpid ou les serveurs Postgres, définissez les propriétés suivantes dans le fichier de configuration, puis installez ces composants :
    CASS_USERNAME=cassandra
    CASS_PASSWORD=NEW_PASSWORD
  5. Si vous avez déjà installé le serveur de gestion, les processeurs de messages, les routeurs, les serveurs Qpid ou les serveurs Postgres, consultez la section Réinitialiser les mots de passe Edge pour connaître la procédure à suivre pour mettre à jour ces composants afin d'utiliser le nouveau mot de passe.

Activer l'authentification Cassandra après l'installation

Pour activer l'authentification :

  • Mettez à jour tous les composants Edge qui se connectent à Cassandra avec le nom d'utilisateur et le mot de passe Cassandra.
  • Activez l'authentification sur tous les nœuds Cassandra.
  • Définissez le nom d'utilisateur et le mot de passe Cassandra sur un nœud. Il vous suffit de modifier les identifiants sur un nœud Cassandra pour qu'ils soient diffusés sur tous les nœuds Cassandra de l'anneau.

Pour mettre à jour tous les composants Edge qui communiquent avec Cassandra avec les nouveaux identifiants, procédez comme suit : Notez que vous devez effectuer cette étape avant de mettre à jour les identifiants Cassandra :

  1. Sur le nœud du serveur de gestion, exécutez la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server
      store_cassandra_credentials -u cassandra_username -p cassandra_password

    Vous pouvez éventuellement transmettre à la commande un fichier contenant le nouveau nom d'utilisateur et le nouveau mot de passe :

    apigee-service edge-management-server store_cassandra_credentials  -f configFile

    Où configFile contient les éléments suivants :

    CASS_USERNAME=cassandra_username # Default is cassandra
    CASS_PASSWORD='cassandra_password' # Default is cassandra; wrap in single quotes if it includes special chars

    Cette commande redémarre automatiquement le serveur de gestion.

  2. Pour chacun des services suivants, répétez l'étape 1 :
    • Tous les processeurs de messages
    • Tous les routeurs
    • Tous les serveurs Qpid (edge-qpid-server)
    • Serveurs Postgres (edge-postgres-server)

    Lorsque vous répétez l'étape 1 pour chaque service, remplacez edge-management-server dans la commande ci-dessus par le nom de service approprié. Par exemple, lorsque vous exécutez l'étape pour un service de routeur, utilisez la commande suivante :

    /opt/apigee/apigee-service/bin/apigee-service edge-router
      store_cassandra_credentials -u cassandra -p cassandra

Procédez comme suit pour activer l'authentification Cassandra et définir le nom d'utilisateur et le mot de passe :

  1. Connectez-vous au premier nœud Cassandra.
  2. Exécutez la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra
      enable_cassandra_authentication -e y

    Cette commande active l'authentification et redémarre Cassandra.

  3. Répétez les étapes 1 et 2 sur tous les nœuds Cassandra.
  4. Connectez-vous à n'importe quel nœud Cassandra à l'aide de l'outil cqlsh et des identifiants par défaut. Il vous suffit de modifier le mot de passe sur un nœud Cassandra pour qu'il soit diffusé sur tous les nœuds Cassandra de l'anneau :
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

    Lieu

    • cassIP est l'adresse IP du nœud Cassandra.
    • 9042 est le port Cassandra.
    • L'utilisateur par défaut est cassandra.
    • Le mot de passe par défaut est cassandra. Si vous avez déjà modifié le mot de passe, utilisez le mot de passe actuel.
  5. Exécutez la commande suivante dans l'invite cqlsh> pour mettre à jour le mot de passe :
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. Exécutez la commande suivante dans l'invite de commande cqlsh> pour vous assurer que l'espace de clés est toujours disponible.

    Pour un seul centre de données :

    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};

    Pour deux centres de données :

    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
  7. Quittez l'outil cqlsh :
    exit
  8. Exécutez nodetool repair pour vous assurer que la modification est propagée à tous les nœuds Cassandra, comme illustré dans l'exemple suivant :
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw 'password'] repair system_auth

    Vous ne devez transmettre votre nom d'utilisateur et votre mot de passe que si vous avez activé l'authentification JMX pour Cassandra.