Apache Cassandra için Azure Yönetilen Örneğinde LDAP kimlik doğrulamasını etkinleştirme

Apache Cassandra için Azure Yönetilen Örneği, yönetilen açık kaynak Apache Cassandra veri merkezleri için otomatik dağıtım ve ölçeklendirme işlemleri sağlar. Bu makalede, kümelerinizde ve veri merkezlerinizde LDAP kimlik doğrulamasının nasıl etkinleştirileceği açıklanır.

Önemli

LDAP kimlik doğrulaması genel önizleme aşamasındadır. Bu özellik bir hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.

Ön koşullar

  • Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
  • Apache Cassandra için Azure Yönetilen Örneği kümesi. Azure portalından Apache Cassandra için Azure Yönetilen Örneği oluşturma adımlarını gözden geçirin.

Azure'da LDAP Sunucusu dağıtma

Bu bölümde, Azure'da bir Sanal Makinede basit bir LDAP sunucusu oluşturma adımlarını inceleyeceğiz. Zaten çalışan bir LDAP sunucunuz varsa, bu bölümü atlayabilir ve LDAP kimlik doğrulamasını etkinleştirmeyi gözden geçirebilirsiniz.

  1. Ubuntu Server 18.04 LTS kullanarak Azure'da sanal makine dağıtma. Buradaki yönergeleri izleyebilirsiniz.

  2. Sunucunuza bir DNS adı verin:

    Screenshot of virtual machine d n s name in Azure portal.

  3. Docker'ı sanal makineye yükleyin. Bu öğreticiyi öneririz.

  4. Giriş dizininde aşağıdaki metni kopyalayıp yapıştırın ve Enter tuşuna basın. Bu komut, test LDAP kullanıcı hesabı içeren bir dosya oluşturur.

    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. Giriş dizinine geri gitme

    cd ..
    
  6. öğesini LDAP sunucunuz için oluşturduğunuz dns adıyla değiştirerek <dnsname> aşağıdaki komutu çalıştırın. Bu komut, DOCKER kapsayıcısına TLS'nin etkinleştirildiği bir LDAP sunucusu dağıtır ve daha önce oluşturduğunuz kullanıcı dosyasını kapsayıcıya kopyalar.

    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. Şimdi kapsayıcıdan sertifikalar klasörünü kopyalayın (değerini LDAP sunucunuz için oluşturduğunuz dns adıyla değiştirin <dnsname> ):

    sudo docker cp <dnsname>:/container/service/slapd/assets/certs certs
    
  8. Dns adının doğru olduğunu doğrulayın:

    openssl x509 -in certs/ldap.crt -text
    

    Screenshot of output from command to verify certificate.

  9. ldap.crt Dosyayı daha sonra kullanmak üzere Azure CLI'da clouddrive'a kopyalayın.

  10. Kullanıcıyı ldap'ye ekleyin (değerini LDAP sunucunuz için oluşturduğunuz dns adıyla değiştirin <dnsname> ):

    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 kimlik doğrulamasını etkinleştirme

Önemli

Zaten bir LDAP sunucunuz olduğundan yukarıdaki bölümü atladıysanız, lütfen sunucu SSL sertifikalarının etkinleştirildiğinden emin olun. Sertifika için belirtilen, LDAP'nin subject alternative name (dns name) barındırılacağı sunucunun etki alanıyla da eşleşmelidir, aksi takdirde kimlik doğrulaması başarısız olur.

  1. Şu anda LDAP kimlik doğrulaması genel önizleme özelliğidir. Gerekli Azure CLI uzantısını eklemek için aşağıdaki komutu çalıştırın:

    az extension add --upgrade --name cosmosdb-preview
    
  2. kimlik doğrulama yöntemini kümede "Ldap" olarak ayarlayın ve <cluster name> değerini uygun değerlerle değiştirin<resource group>:

    az managed-cassandra cluster update -g <resource group> -c <cluster name> --authentication-method "Ldap"
    
  3. Şimdi özellikleri veri merkezi düzeyinde ayarlayın. ve <cluster name> değerini uygun değerlerle ve <dnsname> LDAP sunucunuz için oluşturduğunuz dns adıyla değiştirin<resource group>.

    Dekont

    Aşağıdaki komut, önceki bölümdeki LDAP kurulumunu temel alır. Zaten bir LDAP sunucunuz olduğu için bu bölümü atladıysanız, bunun yerine ilgili sunucuya karşılık gelen değerleri sağlayın. Azure CLI'da clouddrive'ınıza gibi ldap.crt bir sertifika dosyası yüklediğinizden emin olun.

    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. Bu komut tamamlandıktan sonra, yukarıdaki adımda eklenen kullanıcıyla yönetilen örnek veri merkezinize bağlanmak için CQLSH (aşağıya bakın) veya herhangi bir Apache Cassandra açık kaynak istemci sürücüsü kullanabilmeniz gerekir:

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

Sonraki adımlar