Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Managed Instance för Apache Cassandra tillhandahåller automatiserade distributions- och skalningsåtgärder för hanterade Apache Cassandra-datacenter med öppen källkod. I den här artikeln beskrivs hur du aktiverar LDAP-autentisering (Lightweight Directory Access Protocol) för dina kluster och datacenter.
Viktigt!
LDAP-autentisering finns i offentlig förhandsversion.
Den här funktionen tillhandahålls utan ett serviceavtal. Vi rekommenderar det inte för produktionsarbetsbelastningar. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Förutsättningar
- Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
- Ett Azure Managed Instance för Apache Cassandra-kluster. Mer information finns i Skapa en Azure Managed Instance för Apache Cassandra-kluster från Azure-portalen.
Distribuera en LDAP-server på Azure
I det här avsnittet skapar du en enkel LDAP-server på en virtuell dator i Azure. Om du redan har en LDAP-server som körs kan du gå vidare till Aktivera LDAP-autentisering.
Distribuera en virtuell dator i Azure med hjälp av Ubuntu Server 18.04 Long-Term Support (LTS). Detaljerade anvisningar finns i Distribuera en Ubuntu-server.
Ge servern ett DNS-namn (Domain Name System).
Installera Docker på den virtuella datorn. En självstudiekurs finns i Installera och använda Docker på Ubuntu 18.04.
I hemkatalogen kopierar och klistrar du in följande text och väljer Retur. Det här kommandot skapar en fil som innehåller ett LDAP-testanvändarkonto.
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 EOLGå tillbaka till hemkatalogen.
cd ..Kör följande kommando. Ersätt
<dnsname>med dns-namnet som du skapade för LDAP-servern tidigare. Det här kommandot distribuerar en LDAP-server med Transport Layer Security (TLS) aktiverat till en Docker-container och kopierar användarfilen som du skapade tidigare till containern.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.0Kopiera ut certifikatmappen från containern. Ersätt
<dnsname>med det DNS-namn som du skapade för LDAP-servern.sudo docker cp <dnsname>:/container/service/slapd/assets/certs certsKontrollera att DNS-namnet är korrekt.
openssl x509 -in certs/ldap.crt -textldap.crtKopiera filen till clouddrive i Azure CLI för senare användning.Lägg till användaren i LDAP. Ersätt
<dnsname>med det DNS-namn som du skapade för LDAP-servern.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
Aktivera LDAP-autentisering
Viktigt!
Om du hoppades över föregående avsnitt eftersom du redan har en LDAP-server kontrollerar du att serverns Secure Sockets Layer-certifikat är aktiverade. Det subject alternative name (dns name) angivna certifikatet måste också matcha domänen för den server som LDAP finns på, eller så misslyckas autentiseringen.
För närvarande är LDAP-autentisering en offentlig förhandsversionsfunktion. Kör följande kommando för att lägga till det nödvändiga Azure CLI-tillägget:
az extension add --upgrade --name cosmosdb-previewAnge autentiseringsmetoden till
Ldapi klustret. Ersätt<resource group>och<cluster name>med lämpliga värden.az managed-cassandra cluster update -g <resource group> -c <cluster name> --authentication-method "Ldap"Ange nu egenskaper på datacenternivå. Ersätt
<resource group>och<cluster name>med lämpliga värden. Ersätt<dnsname>med det DNS-namn som du skapade för LDAP-servern.Följande kommando baseras på LDAP-konfigurationen i det tidigare avsnittet. Om du hoppades över det avsnittet eftersom du redan har en befintlig LDAP-server anger du motsvarande värden för den servern i stället. Se till att du har laddat upp en certifikatfil som
ldap.crttill din molnenhet i 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_passwordNär det här kommandot har slutförts bör du kunna använda CQLSH eller valfri Apache Cassandra-klientdrivrutin med öppen källkod för att ansluta till ditt datacenter för den hanterade instansen med användaren som lades till i föregående steg.
export SSL_VALIDATE=false cqlsh --debug --ssl <data-node-ip> -u <user> -p <password>