Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wystąpienie zarządzane platformy Azure dla systemu Apache Cassandra udostępnia zautomatyzowane operacje wdrażania i skalowania dla zarządzanych centrów danych Apache Cassandra typu open source. W tym artykule omówiono sposób włączania uwierzytelniania protokołu LDAP (Lightweight Directory Access Protocol) w klastrach i centrach danych.
Ważne
Uwierzytelnianie LDAP jest w publicznej wersji zapoznawczej.
Ta funkcja jest udostępniana bez umowy dotyczącej poziomu usług. Nie zalecamy obsługi obciążeń produkcyjnych. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.
Wymagania wstępne
- Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Wystąpienie zarządzane platformy Azure dla klastra Apache Cassandra. Aby uzyskać więcej informacji, zobacz Tworzenie wystąpienia zarządzanego platformy Azure dla klastra Apache Cassandra przy użyciu portalu Azure.
Wdrażanie serwera LDAP na platformie Azure
W tej sekcji utworzysz prosty serwer LDAP na maszynie wirtualnej na platformie Azure. Jeśli masz już uruchomiony serwer LDAP, możesz przejść do sekcji Włączanie uwierzytelniania LDAP.
Wdrażanie maszyny wirtualnej na platformie Azure przy użyciu systemu Ubuntu Server 18.04 Long-Term Support (LTS). Aby uzyskać szczegółowe instrukcje, zobacz Wdrażanie serwera z systemem Ubuntu.
Nadaj serwerowi nazwę systemu nazw domen (DNS).
Zainstaluj platformę Docker na maszynie wirtualnej. Aby zapoznać się z samouczkiem, zobacz Instalowanie i używanie platformy Docker w systemie Ubuntu 18.04.
W katalogu głównym skopiuj i wklej następujący tekst, a następnie wybierz Enter. To polecenie tworzy plik zawierający testowe konto użytkownika LDAP.
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 EOLWróć do katalogu macierzystego.
cd ..Uruchom następujące polecenie. Zastąp
<dnsname>nazwą DNS, którą utworzyłeś wcześniej dla serwera LDAP. To polecenie wdraża serwer LDAP z włączonym protokołem Transport Layer Security (TLS) w kontenerze platformy Docker i kopiuje utworzony wcześniej plik użytkownika do kontenera.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.0Skopiuj folder certificates z kontenera. Zastąp
<dnsname>tą nazwą DNS utworzoną dla serwera LDAP.sudo docker cp <dnsname>:/container/service/slapd/assets/certs certsSprawdź, czy nazwa DNS jest poprawna.
openssl x509 -in certs/ldap.crt -textldap.crtSkopiuj plik do usługi clouddrive w interfejsie wiersza polecenia platformy Azure, aby użyć go później.Dodaj użytkownika do protokołu LDAP. Zastąp
<dnsname>tą nazwą DNS utworzoną dla serwera 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
Włączanie uwierzytelniania LDAP
Ważne
Jeśli pominięto poprzednią sekcję, ponieważ masz już serwer LDAP, upewnij się, że ma on włączone certyfikaty Secure Sockets Layer serwera. Określony subject alternative name (dns name) dla certyfikatu musi być również zgodny z domeną serwera, na którego jest hostowany protokół LDAP, lub uwierzytelnianie kończy się niepowodzeniem.
Obecnie uwierzytelnianie LDAP jest funkcją publicznej wersji zapoznawczej. Uruchom następujące polecenie, aby dodać wymagane rozszerzenie interfejsu wiersza polecenia platformy Azure:
az extension add --upgrade --name cosmosdb-previewUstaw metodę uwierzytelniania na
Ldapw klastrze. Zastąp<resource group>i<cluster name>odpowiednimi wartościami.az managed-cassandra cluster update -g <resource group> -c <cluster name> --authentication-method "Ldap"Teraz ustaw właściwości na poziomie centrum przetwarzania danych. Zastąp
<resource group>i<cluster name>odpowiednimi wartościami. Zastąp<dnsname>tą nazwą DNS utworzoną dla serwera LDAP.Następujące polecenie jest oparte na konfiguracji LDAP we wcześniejszej sekcji. Jeśli pominięto sekcję, ponieważ masz już istniejący serwer LDAP, podaj odpowiednie wartości dla tego serwera. Upewnij się, że przekazałeś plik certyfikatu taki jak
ldap.crtna swój dysk w chmurze przy użyciu interfejsu wiersza polecenia 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_passwordPo zakończeniu tego polecenia powinno być możliwe użycie protokołu CQLSH lub dowolnego sterownika klienta open source apache Cassandra w celu nawiązania połączenia z centrum danych wystąpienia zarządzanego z użytkownikiem dodanym w poprzednim kroku.
export SSL_VALIDATE=false cqlsh --debug --ssl <data-node-ip> -u <user> -p <password>