Par défaut, Cassandra s'installe sans que l'authentification soit activée. Cela signifie que toute personne ayant accès à votre serveur Cassandra peut interroger la base de données Cassandra sans aucune authentification. 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 sans fournir vos propres identifiants, les identifiants par défaut suivants sont utilisés :
- username = 'cassandra'
- password = 'cassandra'
Vous pouvez utiliser ce compte utilisateur, définir un autre mot de passe pour ce compte utilisateur 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 lors de l'installation de Cassandra, vous devez toujours utiliser le nom d'utilisateur et le mot de passe cassandra par défaut (‘cassandra’:’cassandra’) lors de l'installation.
Si vous souhaitez utiliser des identifiants Cassandra autres que ceux par défaut, vous devez réactiver l'authentification Cassandra après l'installation en suivant les étapes indiquées
ici.
Si vous souhaitez activer l'authentification Cassandra lors d'une nouvelle installation de Cassandra, incluez les propriétés ci-dessous dans le fichier de configuration de tous les nœuds Cassandra :
CASS_AUTH=y CASS_USERNAME=cassandra CASS_PASSWORD=cassandra
L'installation configure ensuite Cassandra avec l'authentification activée et les identifiants cassandra:cassandra par défaut.
Une fois l'installation initiale terminée, vous pouvez suivre une ou plusieurs des étapes suivantes :
- Créez un autre utilisateur à utiliser pour l'authentification Cassandra en suivant cette procédure.
- Modifiez le mot de passe de l'utilisateur Cassandra par défaut en suivant ces étapes.
- Installez les composants Edge qui utilisent Cassandra pour utiliser les identifiants que vous avez définis ci-dessus.
Composants Edge qui se connectent à Cassandra
Les composants Edge suivants accèdent à Cassandra :
- Serveur de gestion
- Processeurs de messages
- Routeurs
- Serveurs Qpid
- Serveurs Postgres
Installer des composants Edge lorsque l'authentification Cassandra est activée
Si l'authentification Cassandra est activée lorsque vous installez ces composants Edge pour la première fois, vous devez fournir les paramètres suivants dans le fichier de configuration silencieuse :
CASS_AUTH=Y CASS_USERNAME=<valid username in Cassandra> CASS_PASSWORD=<password for the above username>
Vous pouvez modifier les identifiants Cassandra après l'installation de 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, comme décrit dans la section suivante.
Mettre à jour les composants Edge qui se connectent à Cassandra
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 :
- 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ù
configFilecontient 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 characters.
Cette commande redémarre automatiquement le serveur de gestion.
- Répétez l'étape 1 pour chacun des services suivants :
- 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-serverdans 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
Activer l'authentification Cassandra après l'installation
Les sections suivantes expliquent comment activer l'authentification Cassandra après l'installation.
Activer l'authentification Cassandra sur une configuration à un seul centre de données
Pour une configuration Apigee basée sur un seul centre de données sur lequel Cassandra est déjà installé, vous pouvez :
- Activez l'authentification Cassandra pour la première fois, soit en utilisant l'utilisateur Cassandra par défaut (
cassandra:cassandra), soit en créant un tout nouveau super-utilisateur. Pour ce faire, procédez comme suit :- Suivez la procédure décrite dans Activer l'authentification Cassandra pour la première fois.
- Mettez à jour les composants Edge qui se connectent à Cassandra avec le nom d'utilisateur et le mot de passe Cassandra.
- Modifiez le mot de passe d'un utilisateur Cassandra existant.
Si vous avez activé l'authentification Cassandra à l'aide des identifiants Cassandra par défaut (
cassandra:cassandra), vous pouvez modifier le mot de passe en procédant comme suit :- Modifiez le mot de passe d'un utilisateur Cassandra.
- Mettez à jour les composants Edge qui se connectent à Cassandra avec le nom d'utilisateur et le mot de passe Cassandra.
Remarque : L'utilisateur "Cassandra" est un utilisateur spécial dans Cassandra. L'authentification à l'aide de cet utilisateur nécessite une cohérence QUORUM. Consultez À propos des niveaux de cohérence Cassandra.
Activer l'authentification Cassandra lorsqu'il existe plusieurs centres de données
Lorsque vous étendez des centres de données, suivez les étapes de l'un des scénarios suivants, en fonction de votre configuration.
Scénario 1 : L'authentification Cassandra est activée sur le centre de données existant
Si l'authentification Cassandra est déjà activée dans un centre de données existant avec les identifiants
cassandra:cassandrapar défaut, procédez comme suit :- Configurez un nouveau centre de données avec les identifiants Cassandra:Cassandra par défaut et CASS_AUTH=y. Consultez Activer l'authentification Cassandra pour la première fois.
- Installez les composants Edge dans le nouveau centre de données à l'aide des identifiants Cassandra par défaut.
Si l'authentification Cassandra est déjà activée dans un centre de données existant avec des identifiants autres que ceux par défaut, procédez comme suit :
- Configurez un nouveau centre de données avec les identifiants Cassandra:Cassandra par défaut et CASS_AUTH=y. Consultez Activer l'authentification Cassandra pour la première fois.
- Suivez la procédure Activer l'authentification Cassandra pour la première fois pour réutiliser les identifiants d'un centre de données existant (si le centre de données existant utilise des identifiants autres que ceux par défaut).
- Installez les composants Edge dans le nouveau centre de données à l'aide d'un identifiant Cassandra autre que celui par défaut.
Scénario 2 : L'authentification Cassandra n'est pas activée sur le centre de données existant
Si l'authentification Cassandra n'est pas activée, procédez comme suit :
- Configurez un nouveau centre de données sans authentification Cassandra.
- Suivez la procédure Activer l'authentification Cassandra pour la première fois pour activer l'authentification Cassandra sur le cluster (après l'expansion).
- Mettez à jour les composants Edge qui se connectent à Cassandra en suivant ces étapes.
Activer l'authentification Cassandra pour la première fois
Pour activer l'authentification Cassandra pour la première fois ou pour créer un nom d'utilisateur et un mot de passe Cassandra, procédez comme suit :
- Créez un fichier de configuration silencieux avec le contenu ci-dessous :
# Specify IP address or DNS name of cassandra node IP1=192.168.1.1 IP2=192.168.1.2 IP3=192.168.1.3 # Must resolve to IP address or DNS name of host HOSTIP=$(hostname -i) # Set to ‘y’ to enable Cassandra authentication. CASS_AUTH=y # Possible values are ‘y/n’ # Cassandra username. If it does not exist, this user would be created as a SUPERUSER CASS_USERNAME=cassandra # Default value is cassandra # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password CASS_PASSWORD=cassandra # Default value is cassandra # Space-separated IP/DNS names of the Cassandra hosts CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" # Username of an existing C* user. Only needed if you have disabled or change details of the default cassandra user(‘cassandra’) CASS_EXISTING_USERNAME=cassandra # The default username is cassandra # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’) CASS_EXISTING_PASSWORD=cassandra # The default password is cassandra # Cassandra port CASS_PORT=9042 # The default port is 9042.
- Connectez-vous au premier nœud Cassandra et exécutez la commande suivante :
apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG
Vous pouvez éventuellement transmettre les propriétés en tant qu'arguments de commande au script, comme illustré dans l'exemple suivant :
CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=cassandra CASS_EXISTING_PASSWORD=cassandra CASS_USERNAME=cassandra CASS_PASSWORD=cassandra CASS_HOSTS="192.168.1.1:1,1 192.168.1.2:1,1 192.168.1.3:1,1" apigee-service apigee-cassandra enable_cassandra_authentication
Remarques :
- Pour les identifiants Cassandra par défaut, la commande ci-dessus active l'authentification Cassandra et redémarre Cassandra.
- Pour les identifiants autres que ceux par défaut, la commande modifie également le facteur de réplication, crée un super-utilisateur et exécute une réparation sur l'espace de clés system_auth.
- Répétez les étapes 1 et 2 sur tous les nœuds Cassandra, un par un.
Modifier les identifiants Cassandra après l'installation de Cassandra
Pour modifier les identifiants Cassandra après l'installation de Cassandra :
- Connectez-vous à n'importe quel nœud Cassandra à l'aide de l'outil
cqlshet 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ù :
- cassIP est l'adresse IP du nœud Cassandra.
- 9042 est le port Cassandra par défaut.
- 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. Si le mot de passe contient des caractères spéciaux, placez-le entre guillemets simples.
- 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';
- Quittez l'outil
cqlsh, comme le montre l'exemple suivant :exit
- 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
- 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.