Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il servizio Istanza gestita di Azure per Apache Cassandra consente operazioni di distribuzione e ridimensionamento automatizzate per i data center Apache Cassandra open source gestiti. Questo articolo illustra come abilitare l'autenticazione LDAP (Lightweight Directory Access Protocol) per i cluster e i data center.
Importante
L'autenticazione LDAP è in anteprima pubblica.
Questa funzionalità viene fornita senza un contratto di servizio. Non è consigliabile usarlo per carichi di lavoro di produzione. Per altre informazioni, vedere Condizioni supplementari per l'utilizzo delle anteprime di Microsoft Azure.
Prerequisiti
- Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
- Un cluster di istanza gestita di Azure per Apache Cassandra. Per altre informazioni, vedere Creare un'istanza gestita di Azure per un cluster Apache Cassandra dal portale di Azure.
Distribuire un server LDAP in Azure
In questa sezione viene creato un semplice server LDAP in una macchina virtuale in Azure. Se è già in esecuzione un server LDAP, è possibile passare direttamente a Abilita autenticazione LDAP.
Distribuire una macchina virtuale in Azure usando Ubuntu Server 18.04 Long-Term Support (LTS). Per istruzioni dettagliate, vedere Distribuire un server Ubuntu.
Assegnare al server un nome DNS (Domain Name System).
Installare Docker nella macchina virtuale. Per un'esercitazione, vedere Installare e usare Docker in Ubuntu 18.04.
Nella home directory copiare e incollare il testo seguente e selezionare INVIO. Questo comando crea un file contenente un account utente LDAP di 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 EOLTornare alla home directory.
cd ..Esegui il comando seguente: Sostituire
<dnsname>con il nome DNS creato per il server LDAP in precedenza. Questo comando distribuisce un server LDAP con Transport Layer Security (TLS) abilitato in un contenitore Docker e copia il file utente creato in precedenza nel contenitore.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.0Copia la cartella Certificati dal contenitore. Sostituire
<dnsname>con il nome DNS creato per il server LDAP.sudo docker cp <dnsname>:/container/service/slapd/assets/certs certsVerificare che il nome DNS sia corretto.
openssl x509 -in certs/ldap.crt -textCopiare il
ldap.crtfile in clouddrive nell'interfaccia della riga di comando di Azure per usarlo in un secondo momento.Aggiungere l'utente a LDAP. Sostituire
<dnsname>con il nome DNS creato per il server 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
Abilitare l’autenticazione LDAP
Importante
Se la sezione precedente è stata ignorata perché si dispone già di un server LDAP, assicurarsi che siano abilitati i certificati Secure Sockets Layer del server. L'oggetto subject alternative name (dns name) specificato per il certificato deve corrispondere anche al dominio del server in cui è ospitato LDAP oppure l'autenticazione non riesce.
Attualmente, l'autenticazione LDAP è una funzionalità di anteprima pubblica. Eseguire il comando seguente per aggiungere l'estensione dell'interfaccia della riga di comando di Azure necessaria:
az extension add --upgrade --name cosmosdb-previewImpostare il metodo di autenticazione su
Ldapnel cluster. Sostituire<resource group>e<cluster name>con i valori appropriati.az managed-cassandra cluster update -g <resource group> -c <cluster name> --authentication-method "Ldap"Impostare ora le proprietà a livello di data center. Sostituire
<resource group>e<cluster name>con i valori appropriati. Sostituire<dnsname>con il nome DNS creato per il server LDAP.Il comando seguente si basa sull'installazione LDAP nella sezione precedente. Se la sezione è stata ignorata perché si dispone già di un server LDAP esistente, specificare invece i valori corrispondenti per tale server. Assicurarsi di aver caricato un file di certificato come
ldap.crtnel cloud drive nell'interfaccia della riga di comando di Azure.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_passwordAl termine di questo comando, sarà possibile usare CQLSH o qualsiasi driver client open source apache Cassandra per connettersi al data center dell'istanza gestita con l'utente aggiunto nel passaggio precedente.
export SSL_VALIDATE=false cqlsh --debug --ssl <data-node-ip> -u <user> -p <password>