Par défaut, Cassandra installe l'application sans authentification activée. Cela signifie que tout le monde peut accéder Cassandra. Vous pouvez activer l'authentification après l'installation de Edge ou dans le cadre de l'installation processus.
Vous pouvez ajouter, supprimer et modifier des utilisateurs à l'aide du CREATE/ALTER/DROP USER
Cassandra
. Pour en savoir plus, consultez la page Commandes shell SQL Cassandra.
Activer l'authentification Cassandra pendant installation
Vous pouvez activer l'authentification Cassandra au moment de l'installation.
Pour activer l'authentification Cassandra au moment de l'installation, incluez 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
Lorsque vous installez ces composants, vous devez définir un nom d'utilisateur et un mot de passe dans le fichier configuration Terraform:
CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password
Vous pouvez modifier les identifiants Cassandra après l'avoir installé. Cependant, si vous avez déjà installé le serveur de gestion, les processeurs de messages, les routeurs, les serveurs Qpid ou Postgres vous devez également mettre à jour ces composants pour qu'ils utilisent les nouveaux identifiants.
Pour modifier les identifiants Cassandra après l'installation de Cassandra:
- Connectez-vous à n'importe quel nœud Cassandra à l'aide de l'outil
cqlsh
et des paramètres par défaut identifiants de connexion. Il vous suffit de modifier le mot de passe d'un nœud pour qu'il soit diffusé auprès de tous Nœuds Cassandra dans l'anneau:/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password
Où :
- cassIP est l'adresse IP du nœud Cassandra.
- 9042 est le port Cassandra par défaut.
- Exécutez la commande suivante lorsque l'invite
cqlsh>
s'affiche pour mettre à jour le mot de passe:ALTER USER cassandra_username/var> WITH PASSWORD 'new_cassandra_password';
- Quittez l'outil
cqlsh
, comme indiqué dans l'exemple suivant:exit
- Si vous n'avez pas encore installé le serveur de gestion, les processeurs de messages
Pour les routeurs, les serveurs Qpid ou les serveurs Postgres, définissez les propriétés suivantes dans le champ
de configuration Terraform, puis installez ces composants:
CASS_USERNAME=cassandra_username CASS_PASSWORD=new_cassandra_password
- Si vous avez déjà installé le serveur de gestion, Processeurs, routeurs, serveurs Qpid ou serveurs Postgres, puis consultez la section Réinitialisation des mots de passe périphériques pour connaître la procédure de mise à jour composants pour utiliser le nouveau mot de passe.
Activer le post d'authentification Cassandra installation
Pour activer l'authentification après une installation:
- <ph type="x-smartling-placeholder"></ph> Mettez à jour tous les composants Edge qui se connectent à Cassandra avec le nom d'utilisateur Cassandra et mot de passe.
- <ph type="x-smartling-placeholder"></ph> Activer l'authentification sur tous les nœuds Cassandra et définir le nom d'utilisateur et le mot de passe Cassandra sur n'importe quel nœud. Il vous suffit de modifier sur un nœud Cassandra et ils seront diffusés sur tous les nœuds Cassandra du son anneau.
Mettre à jour les composants Edge qui se connectent à Cassandra
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 Cassandra. identifiants:
- 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
Si vous le souhaitez, vous pouvez 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.
- Répétez l'étape 1 pour chacun des services suivants:
<ph type="x-smartling-placeholder">
- </ph>
- 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 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
Procédez comme suit pour activer l'authentification Cassandra et définir le nom d'utilisateur et mot de passe:
- Créez un fichier de configuration silencieuse avec le contenu présenté 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_username # Default value is cassandra - don't use for production # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password CASS_PASSWORD=cassandra_password # Default value is cassandra - don't use for production # 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 changed details of the default cassandra user(‘cassandra’) CASS_EXISTING_USERNAME=existing_cassandra_username # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’) CASS_EXISTING_PASSWORD=existing_cassandra_password # 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 au script en tant qu'arguments de commande, comme indiqué dans la section l'exemple suivant:
CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=existing_cassandra_username CASS_EXISTING_PASSWORD=existing_cassandra_password CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password 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 :
- Par défaut Identifiants Cassandra, 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
et exécute une réparation sur
system_auth keyspace
.
- Répétez les étapes 1 et 2 sur tous les nœuds Cassandra.