Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Managed Instance for Apache Cassandra verfügt über automatisierte Bereitstellungs- und Skalierungsvorgänge für verwaltete Open-Source-basierte Apache Cassandra-Rechenzentren. In diesem Artikel wird erläutert, wie Sie die LDAP-Authentifizierung (Lightweight Directory Access Protocol) für Ihre Cluster und Rechenzentren aktivieren.
Wichtig
LDAP-Authentifizierung befindet sich in der öffentlichen Vorschau.
Dieses Feature wird ohne Vereinbarung zum Servicelevel bereitgestellt. Sie sollte nicht für Produktionsworkloads verwendet werden. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
Voraussetzungen
- Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
- Ein Azure Managed Instance for Apache Cassandra-Cluster. Weitere Informationen finden Sie unter Eine verwaltete Azure-Instanz für ein Apache Cassandra-Cluster im Azure-Portal erstellen.
Bereitstellen eines LDAP-Servers in Azure
In diesem Abschnitt erstellen Sie einen einfachen LDAP-Server auf einem virtuellen Computer in Azure. Wenn bereits ein LDAP-Server ausgeführt wird, können Sie direkt zu LDAP-Authentifizierung aktivieren springen.
Stellen Sie einen virtuellen Computer in Azure mithilfe von Ubuntu Server 18.04 Long-Term Support (LTS) bereit. Ausführliche Anweisungen finden Sie unter Bereitstellen eines Ubuntu-Servers.
Weisen Sie Ihrem Server einen DNS-Namen (Domain Name System) zu.
Installieren Sie Docker auf dem virtuellen Computer. Ein Lernprogramm finden Sie unter Installieren und Verwenden von Docker auf Ubuntu 18.04.
Kopieren Sie im Startverzeichnis den folgenden Text, und fügen Sie ihn ein, und drücken Sie die EINGABETASTE. Mit diesem Befehl wird eine Datei erstellt, die ein LDAP-Testbenutzerkonto enthält.
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 EOLWechseln Sie zurück zum Startverzeichnis.
cd ..Führen Sie den folgenden Befehl aus. Ersetzen Sie
<dnsname>durch den DNS-Namen, den Sie zuvor für Ihren LDAP-Server erstellt haben. Dieser Befehl stellt einen LDAP-Server mit AKTIVIERTem TRANSPORT Layer Security (TLS) in einen Docker-Container bereit und kopiert die Zuvor erstellte Benutzerdatei in den 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.0Kopieren Sie den Ordner "Zertifikate" aus dem Container. Ersetzen Sie den
<dnsname>DNS-Namen, den Sie für Ihren LDAP-Server erstellt haben.sudo docker cp <dnsname>:/container/service/slapd/assets/certs certsStellen Sie sicher, dass der DNS-Name korrekt ist.
openssl x509 -in certs/ldap.crt -textKopieren Sie die
ldap.crtDatei zur späteren Verwendung in CloudDrive in der Azure CLI.Fügen Sie den Benutzer zum LDAP hinzu. Ersetzen Sie den
<dnsname>DNS-Namen, den Sie für Ihren LDAP-Server erstellt haben.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-Authentifizierung aktivieren
Wichtig
Wenn Sie den vorherigen Abschnitt übersprungen haben, da Sie bereits über einen LDAP-Server verfügen, stellen Sie sicher, dass serversichere Sockets Layer-Zertifikate aktiviert sind. Das subject alternative name (dns name) für das Zertifikat angegebene Muss auch mit der Domäne des Servers übereinstimmen, auf dem LDAP gehostet wird, oder die Authentifizierung schlägt fehl.
Derzeit ist die LDAP-Authentifizierung ein öffentliches Vorschaufeature. Führen Sie den folgenden Befehl aus, um die erforderliche Azure CLI-Erweiterung hinzuzufügen:
az extension add --upgrade --name cosmosdb-previewLegen Sie die Authentifizierungsmethode
Ldapauf den Cluster fest. Ersetzen Sie<resource group>und<cluster name>durch die entsprechenden Werte.az managed-cassandra cluster update -g <resource group> -c <cluster name> --authentication-method "Ldap"Legen Sie nun Eigenschaften auf Rechenzentrumsebene fest. Ersetzen Sie
<resource group>und<cluster name>durch die entsprechenden Werte. Ersetzen Sie den<dnsname>DNS-Namen, den Sie für Ihren LDAP-Server erstellt haben.Der folgende Befehl basiert auf dem LDAP-Setup im vorherigen Abschnitt. Wenn Sie diesen Abschnitt übersprungen haben, da Sie bereits über einen vorhandenen LDAP-Server verfügen, geben Sie stattdessen die entsprechenden Werte für diesen Server ein. Stellen Sie sicher, dass Sie eine Zertifikatdatei wie
ldap.crtauf Ihr Cloudlaufwerk in die Azure CLI hochgeladen haben.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_passwordNach Abschluss dieses Befehls sollten Sie CQLSH oder einen beliebigen Apache Cassandra Open-Source-Clienttreiber verwenden können, um eine Verbindung mit Ihrem verwalteten Instanzdatencenter herzustellen, wobei der Benutzer im vorherigen Schritt hinzugefügt wurde.
export SSL_VALIDATE=false cqlsh --debug --ssl <data-node-ip> -u <user> -p <password>