Anteckning
Å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 till dina kluster och datacenter.
Viktigt!
LDAP-autentisering finns i offentlig förhandsversion. Den här funktionen tillhandahålls utan ett serviceavtal och rekommenderas 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. Granska hur du skapar ett Azure Managed Instance för Apache Cassandra-kluster från Azure Portal.
Distribuera en LDAP-server i Azure
I det här avsnittet går vi igenom hur du skapar en enkel LDAP-server på en virtuell dator i Azure. Om du redan har en LDAP-server som körs kan du hoppa över det här avsnittet och granska hur du aktiverar LDAP-autentisering.
Distribuera en virtuell dator i Azure med Ubuntu Server 18.04 LTS. Du kan följa anvisningarna här.
Ge servern ett DNS-namn:
Installera Docker på den virtuella datorn. Vi rekommenderar den här självstudien.
I hemkatalogen kopierar och klistrar du in följande text och trycker på 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 EOL
Gå tillbaka till hemkatalogen
cd ..
Kör kommandot nedan och
<dnsname>
ersätt med dns-namnet som du skapade för LDAP-servern tidigare. Det här kommandot distribuerar en LDAP-server med TLS aktiverat till en Docker-container och kopierar även 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.0
Kopiera nu certifikatmappen från containern (ersätt
<dnsname>
med dns-namnet som du skapade för LDAP-servern):sudo docker cp <dnsname>:/container/service/slapd/assets/certs certs
Kontrollera att dns-namnet är korrekt:
openssl x509 -in certs/ldap.crt -text
ldap.crt
Kopiera filen till clouddrive i Azure CLI för senare användning.Lägg till användaren i ldap (ersätt
<dnsname>
med dns-namnet 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 avsnittet ovan eftersom du redan har en befintlig LDAP-server kontrollerar du att server-SSL-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å, annars misslyckas autentiseringen.
För närvarande är LDAP-autentisering en offentlig förhandsversionsfunktion. Kör kommandot nedan för att lägga till det nödvändiga Azure CLI-tillägget:
az extension add --upgrade --name cosmosdb-preview
Ange autentiseringsmetod till "Ldap" i klustret och 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 och<dnsname>
med dns-namnet som du skapade för LDAP-servern.Kommentar
Kommandot nedan 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.crt
till din clouddrive 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_password
När det här kommandot har slutförts bör du kunna använda CQLSH (se nedan) eller någon Apache Cassandra-klientdrivrutin med öppen källkod för att ansluta till datacentret för den hanterade instansen med användaren som lades till i ovanstående steg:
export SSL_VALIDATE=false cqlsh --debug --ssl <data-node-ip> -u <user> -p <password>