LDAP-hitelesítés engedélyezése az Azure által felügyelt Apache Cassandra-példányban

Az Apache Cassandra felügyelt Azure-példánya automatizált üzembe helyezési és skálázási műveleteket biztosít a felügyelt nyílt forráskódú Apache Cassandra-adatközpontokhoz. Ez a cikk azt ismerteti, hogyan engedélyezheti az Lightweight Directory Access Protocol (LDAP) hitelesítést a fürtök és adatközpontok számára.

Fontos

Az LDAP-hitelesítés nyilvános előzetes verzióban érhető el. Az LDAP nem támogatja a Cassandra 5.0-s verziót, jelenleg folyamatban van, érdeklődését műszaki Azure-támogatási jegy létrehozásával küldheti el. Ez a funkció szolgáltatásszint-szerződés nélkül érhető el. Éles számítási feladatokhoz nem javasoljuk. További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

Előfeltételek

LDAP-kiszolgáló üzembe helyezése az Azure-ban

Ebben a szakaszban egy egyszerű LDAP-kiszolgálót hoz létre egy Azure-beli virtuális gépen. Ha már fut LDAP-kiszolgáló, továbbléphet az LDAP-hitelesítés engedélyezésére.

  1. Virtuális gép üzembe helyezése az Azure-ban az Ubuntu Server 18.04 Long-Term Támogatás (LTS) használatával. Részletes útmutatásért lásd: Ubuntu-kiszolgáló üzembe helyezése.

  2. Adjon meg egy DNS-nevet a kiszolgálónak.

    Képernyőkép a virtuális gép DNS-ének nevéről az Azure Portalon.

  3. Telepítse a Dockert a virtuális gépre. Oktatóanyagért tekintse meg a Docker telepítése és használata az Ubuntu 18.04-en című témakört.

  4. Másolja és illessze be a következő szöveget a kezdőkönyvtárba, és válassza az Enter billentyűt. Ez a parancs létrehoz egy fájlt, amely egy teszt LDAP-felhasználói fiókot tartalmaz.

    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 
    
  5. Térjen vissza a kezdőkönyvtárhoz.

    cd ..
    
  6. Futtassa az alábbi parancsot. Cserélje le a <dnsname>-t az LDAP-kiszolgálóhoz korábban létrehozott DNS-névre. Ez a parancs üzembe helyez egy LDAP-kiszolgálót, amelyen engedélyezve van a Transport Layer Security (TLS) egy Docker-tárolóban, és átmásolja a korábban létrehozott felhasználói fájlt a tárolóba.

    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
    
  7. Másolja ki a tanúsítványmappát a tárolóból. Cserélje le <dnsname> az LDAP-kiszolgálóhoz létrehozott DNS-névre.

    sudo docker cp <dnsname>:/container/service/slapd/assets/certs certs
    
  8. Ellenőrizze, hogy helyes-e a DNS-név.

    openssl x509 -in certs/ldap.crt -text
    

    Képernyőkép a parancs kimenetéről a tanúsítvány ellenőrzéséhez.

  9. Másolja a fájlt a ldap.crtclouddrive-ra az Azure CLI-ben későbbi használatra.

  10. Adja hozzá a felhasználót az LDAP-hoz. Cserélje le <dnsname> az LDAP-kiszolgálóhoz létrehozott DNS-névre.

    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-hitelesítés engedélyezése

Fontos

Ha kihagyta az előző szakaszt, mert már rendelkezik LDAP-kiszolgálóval, győződjön meg arról, hogy engedélyezve vannak a kiszolgálói biztonságos szoftvercsatornák rétegtanúsítványai. A subject alternative name (dns name) tanúsítványhoz megadott tartománynak meg kell egyeznie annak a kiszolgálónak a tartományával is, amelyen az LDAP üzemel, vagy a hitelesítés sikertelen.

  1. Az LDAP-hitelesítés jelenleg egy nyilvános előzetes verziójú szolgáltatás. Futtassa a következő parancsot a szükséges Azure CLI-bővítmény hozzáadásához:

    az extension add --upgrade --name cosmosdb-preview
    
  2. Állítsa be a hitelesítési módszert Ldap a klaszterhez. Cserélje ki a <resource group> és a <cluster name> a megfelelő értékekre.

    az managed-cassandra cluster update -g <resource group> -c <cluster name> --authentication-method "Ldap"
    
  3. Most állítsa be a tulajdonságokat az adatközpont szintjén. Cserélje ki a <resource group> és a <cluster name> a megfelelő értékekre. Cserélje le <dnsname> az LDAP-kiszolgálóhoz létrehozott DNS-névre.

    Az alábbi parancs a korábbi szakaszban található LDAP-beállításon alapul. Ha kihagyta ezt a szakaszt, mert már rendelkezik meglévő LDAP-kiszolgálóval, adja meg helyette a kiszolgáló megfelelő értékeit. Győződjön meg arról, hogy feltöltött egy tanúsítványfájlt, mint ldap.crt a felhőbeli meghajtóra az Azure CLI-ben.

    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
    
  4. A parancs befejeződése után a CQLSH-t vagy bármely nyílt forráskódú Apache Cassandra-ügyfélillesztőt használhat a felügyelt példány adatközpontjához való csatlakozáshoz az előző lépésben hozzáadott felhasználóval.

    export SSL_VALIDATE=false
    cqlsh --debug --ssl <data-node-ip> -u <user> -p <password>