Aracılığıyla paylaş


Apache Cassandra için Azure Yönetilen Örneği'nde 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 Basit Dizin Erişim Protokolü (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, hizmet düzeyi sözleşmesi olmadan sağlanır. Üretim iş yükleri için önerilmez. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.

Önkoşullar

Azure'da LDAP sunucusu dağıtma

Bu bölümde, Azure'daki bir sanal makinede basit bir LDAP sunucusu oluşturacaksınız. Zaten çalışan bir LDAP sunucunuz varsa LDAP kimlik doğrulamasını etkinleştirme bölümüne atlayabilirsiniz.

  1. Ubuntu Server 18.04 Long-Term Desteği (LTS) kullanarak Azure'da bir sanal makine dağıtma. Ayrıntılı yönergeler için bkz. Ubuntu sunucusu dağıtma.

  2. Sunucunuza bir Etki Alanı Adı Sistemi (DNS) adı verin.

    Azure portalında sanal makine DNS adını gösteren ekran görüntüsü.

  3. Docker'ı sanal makineye yükleyin. Öğretici için bkz. Ubuntu 18.04'te Docker'ı yükleme ve kullanma.

  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 dönün.

    cd ..
    
  6. Aşağıdaki komutu çalıştırın. değerini, daha önce LDAP sunucunuz için oluşturduğunuz DNS adıyla değiştirin <dnsname> . Bu komut, Aktarım Katmanı Güvenliği (TLS) etkinleştirilmiş bir LDAP sunucusunu docker kapsayıcısına 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. Sertifikalar klasörünü kapsayıcıdan kopyalayın. <dnsname> LDAP sunucunuz için oluşturduğunuz DNS adıyla değiştirin.

    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
    

    Sertifikayı doğrulamak için komutun çıkışını gösteren ekran görüntüsü.

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

  10. Kullanıcıyı LDAP'ye ekleyin. <dnsname> LDAP sunucunuz için oluşturduğunuz DNS adıyla değiştirin.

    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ğu için önceki bölümü atladıysanız, sunucu Güvenli Yuva Katmanı sertifikalarının etkinleştirildiğinden emin olun. Sertifika için belirtilen, LDAP'nin subject alternative name (dns name) barındırılıyor olduğu sunucunun etki alanıyla da eşleşmelidir, aksi durumda 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 olarak Ldap ayarlayın. <resource group> ve <cluster name> değerlerini uygun değerlerle değiştirin.

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

    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 ldap.crt gibi 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, önceki adımda eklenen kullanıcıyla yönetilen örnek veri merkezinize bağlanmak için CQLSH 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>