Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Azure Managed Instance pour Apache Cassandra offre des opérations de déploiement et de mise à l’échelle automatisées pour les centres de données Apache Cassandra open source managés. Cet article explique comment activer l’authentification LDAP (Lightweight Directory Access Protocol) sur vos clusters et centres de données.
Important
L’authentification LDAP est en préversion publique.
Cette fonctionnalité est fournie sans contrat de niveau de service. Nous ne la recommandons pas pour les charges de travail de production. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.
Prérequis
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
- Cluster de l’instance gérée Azure pour Apache Cassandra Pour plus d’informations, consultez Créer une instance managée Azure pour un cluster Apache Cassandra à partir du portail Azure.
Déployer un serveur LDAP dans Azure
Dans cette section, vous allez créer un serveur LDAP simple sur une machine virtuelle dans Azure. Si vous disposez déjà d’un serveur LDAP en cours d’exécution, vous pouvez passer à l’avance pour activer l’authentification LDAP.
Déployez une machine virtuelle dans Azure à l’aide d’Ubuntu Server 18.04 Long-Term Support (LTS). Pour obtenir des instructions détaillées, consultez Déployer un serveur Ubuntu.
Donnez à votre serveur un nom DNS (Domain Name System).
Installez Docker sur la machine virtuelle. Pour obtenir un didacticiel, consultez Installer et utiliser Docker sur Ubuntu 18.04.
Dans le répertoire de base, copiez et collez le texte suivant, puis sélectionnez Entrée. Cette commande crée un fichier qui contient un compte d’utilisateur LDAP de test.
mkdir ldap-user && cd ldap-user && cat >> user.ldif <<EOL dn: uid=admin,dc=example,dc=org uid: admin cn: admin sn: 3 objectClass: top objectClass: posixAccount objectClass: inetOrgPerson loginShell: /bin/bash homeDirectory: /home/admin uidNumber: 14583102 gidNumber: 14564100 userPassword: admin mail: admin@example.com gecos: admin EOLRevenez au répertoire de base.
cd ..Exécutez la commande suivante. Remplacez
<dnsname>par le nom DNS que vous avez créé pour votre serveur LDAP précédemment. Cette commande déploie un serveur LDAP avec TLS (Transport Layer Security) activé sur un conteneur Docker et copie le fichier utilisateur que vous avez créé précédemment dans le conteneur.sudo docker run --hostname <dnsname>.uksouth.cloudapp.azure.com --name <dnsname> -v $(pwd)/ldap-user:/container/service/slapd/assets/test --detach osixia/openldap:1.5.0Copiez le dossier des certificats à partir du conteneur. Remplacez
<dnsname>par le nom DNS que vous avez créé pour votre serveur LDAP.sudo docker cp <dnsname>:/container/service/slapd/assets/certs certsVérifiez que le nom DNS est correct.
openssl x509 -in certs/ldap.crt -textCopiez le
ldap.crtfichier dans clouddrive dans Azure CLI pour une utilisation ultérieure.Ajoutez l’utilisateur au protocole LDAP. Remplacez
<dnsname>par le nom DNS que vous avez créé pour votre serveur LDAP.sudo docker container exec <dnsname> ldapadd -H ldap://<dnsname>.uksouth.cloudapp.azure.com -D "cn=admin,dc=example,dc=org" -w admin -f /container/service/slapd/assets/test/user.ldif
Activez l’authentification LDAP
Important
Si vous avez ignoré la section précédente, car vous disposez déjà d’un serveur LDAP, assurez-vous qu’il dispose des certificats secure Sockets Layer du serveur activés. Le subject alternative name (dns name) certificat spécifié doit également correspondre au domaine du serveur sur lequel LDAP est hébergé, ou l’authentification échoue.
Actuellement, l’authentification LDAP est une fonctionnalité en préversion publique. Exécutez la commande suivante pour ajouter l’extension Azure CLI requise :
az extension add --upgrade --name cosmosdb-previewDéfinissez la méthode
Ldapd’authentification sur le cluster. Remplacez<resource group>et<cluster name>par les valeurs appropriées.az managed-cassandra cluster update -g <resource group> -c <cluster name> --authentication-method "Ldap"Définissez maintenant les propriétés au niveau du centre de données. Remplacez
<resource group>et<cluster name>par les valeurs appropriées. Remplacez<dnsname>par le nom DNS que vous avez créé pour votre serveur LDAP.La commande suivante est basée sur la configuration LDAP dans la section précédente. Si vous avez ignoré cette section, car vous disposez déjà d’un serveur LDAP existant, fournissez plutôt les valeurs correspondantes pour ce serveur. Vérifiez que vous avez chargé un fichier de certificat comme
ldap.crtsur votre lecteur cloud dans Azure CLI.ldap_search_base_distinguished_name='dc=example,dc=org' ldap_server_certificates='/usr/csuser/clouddrive/ldap.crt' ldap_server_hostname='<dnsname>.uksouth.cloudapp.azure.com' ldap_service_user_distinguished_name='cn=admin,dc=example,dc=org' ldap_service_user_password='admin' az managed-cassandra datacenter update -g `<resource group>` -c `<cluster name>` -d datacenter-1 \ --ldap-search-base-dn $ldap_search_base_distinguished_name \ --ldap-server-certs $ldap_server_certificates \ --ldap-server-hostname $ldap_server_hostname \ --ldap-service-user-dn $ldap_service_user_distinguished_name \ --ldap-svc-user-pwd $ldap_service_user_passwordUne fois cette commande terminée, vous devez être en mesure d’utiliser CQLSH ou n’importe quel pilote client open source Apache Cassandra pour vous connecter à votre centre de données d’instance managée avec l’utilisateur ajouté à l’étape précédente.
export SSL_VALIDATE=false cqlsh --debug --ssl <data-node-ip> -u <user> -p <password>