Povolení ověřování LDAP ve službě Azure Managed Instance pro Apache Cassandra
Azure Managed Instance for Apache Cassandra poskytuje automatizované operace nasazení a škálování pro spravovaná opensourcová datová centra Apache Cassandra. Tento článek popisuje, jak povolit ověřování LDAP v clusterech a datových centrech.
Důležité
Ověřování LDAP je ve verzi Public Preview. Tato funkce je poskytována bez smlouvy o úrovni služeb a nedoporučuje se pro produkční úlohy. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.
Požadavky
- Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Cluster Azure Managed Instance for Apache Cassandra. Přečtěte si, jak vytvořit cluster Azure Managed Instance for Apache Cassandra z webu Azure Portal.
Nasazení serveru LDAP v Azure
V této části si projdeme vytvoření jednoduchého serveru LDAP na virtuálním počítači v Azure. Pokud už máte spuštěný server LDAP, můžete tuto část přeskočit a zkontrolovat , jak povolit ověřování LDAP.
Nasaďte virtuální počítač v Azure pomocí Ubuntu Serveru 18.04 LTS. Tady můžete postupovat podle pokynů.
Dejte serveru název DNS:
Nainstalujte Docker na virtuální počítač. Doporučujeme tento kurz.
V domovském adresáři zkopírujte a vložte následující text a stiskněte enter. Tento příkaz vytvoří soubor obsahující testovací uživatelský účet 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 EOL
Přechod zpět do domovského adresáře
cd ..
Spusťte následující příkaz a nahraďte
<dnsname>
název DNS, který jste vytvořili pro server LDAP dříve. Tento příkaz nasadí server LDAP s povoleným protokolem TLS do kontejneru Dockeru a zkopíruje do kontejneru také soubor uživatele, který jste vytvořili dříve.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
Teď zkopírujte složku certifikátů z kontejneru (nahraďte
<dnsname>
názvem DNS, který jste vytvořili pro server LDAP):sudo docker cp <dnsname>:/container/service/slapd/assets/certs certs
Ověřte správnost názvu DNS:
openssl x509 -in certs/ldap.crt -text
ldap.crt
Zkopírujte soubor na clouddrive v Azure CLI, abyste ho mohli použít později.Přidejte uživatele do ldapu (nahraďte
<dnsname>
názvem DNS, který jste vytvořili pro 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
Povolení ověřování LDAP
Důležité
Pokud jste výše uvedenou část přeskočili, protože už máte existující server LDAP, ujistěte se, že má povolené certifikáty SSL serveru. Zadané subject alternative name (dns name)
pro certifikát musí také odpovídat doméně serveru, na který je protokol LDAP hostovaný, nebo ověřování selže.
V současné době je ověřování LDAP funkcí Public Preview. Spuštěním následujícího příkazu přidejte požadované rozšíření Azure CLI:
az extension add --upgrade --name cosmosdb-preview
Nastavte metodu ověřování na Ldap v clusteru a
<cluster name>
nahraďte<resource group>
ji odpovídajícími hodnotami:az managed-cassandra cluster update -g <resource group> -c <cluster name> --authentication-method "Ldap"
Teď nastavte vlastnosti na úrovni datového centra. Nahraďte
<resource group>
příslušné hodnoty a<cluster name>
<dnsname>
názvem DNS, který jste vytvořili pro server LDAP.Poznámka:
Následující příkaz je založený na nastavení PROTOKOLU LDAP v předchozí části. Pokud jste tento oddíl přeskočili, protože už máte existující server LDAP, zadejte odpovídající hodnoty pro tento server. Ujistěte se, že jste v Azure CLI nahráli soubor certifikátu, jako
ldap.crt
je clouddrive.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
Po dokončení tohoto příkazu byste měli být schopni použít CQLSH (viz níže) nebo jakýkoli opensourcový ovladač klienta Apache Cassandra pro připojení k datovému centru spravované instance s uživatelem přidaným v předchozím kroku:
export SSL_VALIDATE=false cqlsh --debug --ssl <data-node-ip> -u <user> -p <password>