Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Managed Instance voor Apache Cassandra biedt geautomatiseerde implementatie- en schaalbewerkingen voor beheerde opensource Apache Cassandra-datacenters. In dit artikel wordt beschreven hoe u LDAP-verificatie (Lightweight Directory Access Protocol) inschakelt voor uw clusters en datacenters.
Belangrijk
LDAP-verificatie bevindt zich in openbare preview.
Deze functie wordt geleverd zonder service level agreement. Dit wordt niet aanbevolen voor productieworkloads. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.
Vereisten
- Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
- Een Azure Managed Instance voor Apache Cassandra-cluster. Zie Een Azure Managed Instance voor Apache Cassandra-cluster maken vanuit Azure Portal voor meer informatie.
Een LDAP-server implementeren in Azure
In deze sectie maakt u een eenvoudige LDAP-server op een virtuele machine in Azure. Als u al een LDAP-server heeft draaien, kunt u doorgaan naar LDAP-authenticatie inschakelen.
Implementeer een virtuele machine in Azure met behulp van Ubuntu Server 18.04 Long-Term Ondersteuning (LTS). Zie Een Ubuntu-server implementeren voor gedetailleerde instructies.
Geef uw server een DNS-naam (Domain Name System).
Installeer Docker op de virtuele machine. Zie Docker installeren en gebruiken op Ubuntu 18.04 voor een zelfstudie.
Kopieer en plak de volgende tekst in de basismap en selecteer Enter. Met deze opdracht maakt u een bestand dat een LDAP-testgebruikersaccount bevat.
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 EOLGa terug naar de thuismap.
cd ..Voer de volgende opdracht uit. Vervang
<dnsname>door de DNS-naam die u eerder hebt gemaakt voor uw LDAP-server. Met deze opdracht wordt een LDAP-server geïmplementeerd waarvoor TLS (Transport Layer Security) is ingeschakeld voor een Docker-container en wordt het gebruikersbestand gekopieerd dat u eerder hebt gemaakt naar de container.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.0Kopieer de map certificaten uit de container. Vervang door
<dnsname>de DNS-naam die u voor uw LDAP-server hebt gemaakt.sudo docker cp <dnsname>:/container/service/slapd/assets/certs certsControleer of de DNS-naam juist is.
openssl x509 -in certs/ldap.crt -textKopieer het
ldap.crtbestand naar clouddrive in de Azure CLI voor later gebruik.Voeg de gebruiker toe aan ldap. Vervang door
<dnsname>de DNS-naam die u voor uw LDAP-server hebt gemaakt.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
LDAP-verificatie inschakelen
Belangrijk
Als u de vorige sectie hebt overgeslagen omdat u al een LDAP-server hebt, moet u ervoor zorgen dat server-Secure Sockets Layer-certificaten zijn ingeschakeld. De subject alternative name (dns name) opgegeven voor het certificaat moet ook overeenkomen met het domein van de server waarop LDAP wordt gehost of verificatie mislukt.
Momenteel is LDAP-verificatie een openbare preview-functie. Voer de volgende opdracht uit om de vereiste Azure CLI-extensie toe te voegen:
az extension add --upgrade --name cosmosdb-previewStel de verificatiemethode in
Ldapop het cluster. Vervang<resource group>en<cluster name>door de toepasselijke waarden.az managed-cassandra cluster update -g <resource group> -c <cluster name> --authentication-method "Ldap"Stel nu eigenschappen in op datacenterniveau. Vervang
<resource group>en<cluster name>door de toepasselijke waarden. Vervang door<dnsname>de DNS-naam die u voor uw LDAP-server hebt gemaakt.De volgende opdracht is gebaseerd op de LDAP-installatie in de eerdere sectie. Als u die sectie hebt overgeslagen omdat u al een bestaande LDAP-server hebt, geeft u in plaats daarvan de bijbehorende waarden voor die server op. Zorg ervoor dat u een certificaatbestand zoals
ldap.crthebt geüpload naar uw clouddrive in de 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_passwordNadat deze opdracht is voltooid, moet u CQLSH of een opensource-clientstuurprogramma van Apache Cassandra kunnen gebruiken om verbinding te maken met uw datacenter van het beheerde exemplaar met de gebruiker die in de vorige stap is toegevoegd.
export SSL_VALIDATE=false cqlsh --debug --ssl <data-node-ip> -u <user> -p <password>