Activer l'authentification Cassandra

Edge pour Private Cloud v. 4.17.01

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

Si vous décidez d'activer l'authentification sur Cassandra, les identifiants par défaut suivants sont utilisés:

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

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

Pour en savoir plus, consultez la page http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html.

Activer l'authentification Cassandra lors de l'installation

Vous pouvez activer l'authentification Cassandra pour l'installation. Toutefois, bien que vous puissiez 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.

Remarque: Suivez cette procédure lorsque vous installez Cassandra à l'aide des options "-p c", "-p ds", "-p sa", "-p aio", "-p asa" et "-p ebp".

Pour activer l'authentification Cassandra au moment de l'installation, incluez la propriété CASS_AUTH dans le fichier de configuration pour 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
  • Pile BaaS

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

CASS_USERNAME=cassandra 
CASS_PASSWORD=cassandra

Vous pouvez modifier les identifiants Cassandra après l'avoir installé. Toutefois, si vous avez déjà installé le serveur de gestion, les processeurs de messages, les routeurs, les serveurs Qpid, les serveurs Postgres ou la pile BaaS, 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 à un 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 seul nœud. Il sera 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.
  2. Exécutez la commande suivante à l'invite cqlsh> pour mettre à jour le mot de passe:
    cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. Quittez l'outil cqlsh:
    cqlsh> exit
  4. Si vous n'avez pas encore installé le serveur de gestion, les processeurs de messages, les routeurs, les serveurs Qpid, les serveurs Postgres ou la pile BaaS, 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, les serveurs Postgres ou la pile BaaS, consultez Réinitialiser les mots de passe Edge pour connaître la procédure à suivre pour mettre à jour ces composants afin qu'ils utilisent 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 n'importe quel nœud. Il vous suffit de modifier les identifiants sur un seul nœud Cassandra. Ils seront diffusés sur tous les nœuds Cassandra de l'anneau.

Procédez comme suit pour mettre à jour tous les composants Edge qui communiquent avec Cassandra avec les nouveaux identifiants. 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 CASS_USERNAME -p CASS_PASSWORD

    Vous pouvez également transmettre un fichier à la commande contenant le nouveau nom d'utilisateur et le nouveau mot de passe:
    > apigee-service edge-management-server store_cassandra_credentials -f configFile

    configFile contient les éléments suivants:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=CASS_PASSWROD


    Cette commande redémarre automatiquement le serveur de gestion.
  2. Répétez l'étape 1 pour :
    • Tous les processeurs de messages
    • Tous les routeurs
    • Tous les serveurs Qpid (edge-qpid-server)
    • Serveurs Postgres (edge-postgres-server)
  3. Sur le nœud de la pile BaaS pour la version 4.16.05.04 et les versions ultérieures :
    1. Exécutez la commande suivante pour générer un mot de passe chiffré:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      Cette commande vous invite à saisir le mot de passe en texte brut et renvoie le mot de passe chiffré sous la forme suivante:
      SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
    2. Définissez les jetons suivants dans /opt/apigee/customer/application/usergrid.properties. Si ce fichier n'existe pas, créez-le:
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f80 pour le nom d'utilisateur par défaut
      Cassandra
      Si vous avez modifié le nom d'utilisateur, définissez la valeur de usergrid-deployment_cassandra.username en conséquence.

      Veillez à inclure le préfixe SECURE: au mot de passe. Sinon, la pile BaaS interprète la valeur comme non chiffrée.

      Remarque: Chaque nœud de la pile BaaS dispose de sa propre clé unique utilisée pour chiffrer le mot de passe. Par conséquent, vous devez générer la valeur chiffrée sur chaque nœud de la pile BaaS séparément.
    3. Attribuez la propriété du fichier usergrid.properties à l'utilisateur "apigee" :
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. Configurez le nœud de pile:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
    5. Redémarrez la pile BaaS:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
    6. Répétez ces étapes pour tous les nœuds de la pile BaaS.

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 seul nœud Cassandra. Il sera diffusé sur tous les nœuds Cassandra de l'anneau :
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

    Lieu

    • cassIP correspond à 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 à l'invite cqlsh> pour mettre à jour le mot de passe :
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. Exécutez la commande suivante à l'invite 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 le changement est propagé à tous les nœuds Cassandra :
    /opt/apigee/apigee-cassandra/bin/nodetool repair system_auth