Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A Instância Gerenciada do Azure para Apache Cassandra fornece operações automatizadas de implantação e dimensionamento para datacenters Apache Cassandra de código aberto gerenciados. Este artigo descreve como habilitar a autenticação LDAP (Lightweight Directory Access Protocol) para seus clusters e datacenters.
Importante
A autenticação LDAP está em visualização pública.
Este recurso é fornecido sem um contrato de nível de serviço. Não recomendamos para cargas de trabalho de produção. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
Pré-requisitos
- Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
- Uma instância gerenciada do Azure para cluster Apache Cassandra. Para obter mais informações, consulte Criar uma instância gerenciada do Azure para cluster Apache Cassandra no portal do Azure.
Implantar um servidor LDAP no Azure
Nesta seção, você cria um servidor LDAP simples em uma máquina virtual no Azure. Se você já tiver um servidor LDAP em execução, poderá pular para Ativar autenticação LDAP.
Implante uma máquina virtual no Azure usando o Ubuntu Server 18.04 Long-Term Support (LTS). Para obter instruções detalhadas, consulte Implantar um servidor Ubuntu.
Dê ao seu servidor um nome DNS (Sistema de Nomes de Domínio).
Instale o Docker na máquina virtual. Para um tutorial, consulte Instalar e usar o Docker no Ubuntu 18.04.
No diretório inicial, copie e cole o seguinte texto e selecione Enter. Este comando cria um arquivo que contém uma conta de usuário LDAP de teste.
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 EOLVolte para o diretório inicial.
cd ..Execute o seguinte comando. Substitua
<dnsname>pelo nome DNS que você criou para o servidor LDAP anteriormente. Este comando implanta um servidor LDAP com Transport Layer Security (TLS) ativado em um contêiner do Docker e copia o arquivo de usuário que você criou anteriormente para o contêiner.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.0Copie a pasta de certificados do contêiner. Substitua
<dnsname>pelo nome DNS que você criou para o servidor LDAP.sudo docker cp <dnsname>:/container/service/slapd/assets/certs certsVerifique se o nome DNS está correto.
openssl x509 -in certs/ldap.crt -textCopie o
ldap.crtarquivo para o clouddrive na CLI do Azure para uso posterior.Adicione o usuário ao LDAP. Substitua
<dnsname>pelo nome DNS que você criou para o servidor 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
Ativar autenticação LDAP
Importante
Se você ignorou a seção anterior porque já tem um servidor LDAP, certifique-se de que ele tenha certificados Secure Sockets Layer do servidor ativados. O subject alternative name (dns name) especificado para o certificado também deve corresponder ao domínio do servidor no qual o LDAP está hospedado, ou a autenticação falhará.
Atualmente, a autenticação LDAP é um recurso de visualização pública. Execute o seguinte comando para adicionar a extensão necessária da CLI do Azure:
az extension add --upgrade --name cosmosdb-previewDefina o método de autenticação como
Ldapno cluster. Substitua<resource group>e<cluster name>com os valores apropriados.az managed-cassandra cluster update -g <resource group> -c <cluster name> --authentication-method "Ldap"Agora defina as propriedades no nível do datacenter. Substitua
<resource group>e<cluster name>com os valores apropriados. Substitua<dnsname>pelo nome DNS que você criou para o servidor LDAP.O comando a seguir é baseado na configuração LDAP na seção anterior. Se você ignorou essa seção porque já tem um servidor LDAP existente, forneça os valores correspondentes para esse servidor. Certifique-se de que carregou um ficheiro de certificado como
ldap.crtpara a sua unidade na nuvem na CLI do Azure.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_passwordDepois que esse comando terminar, você poderá usar CQLSH ou qualquer driver de cliente de código aberto Apache Cassandra para se conectar ao datacenter da instância gerenciada com o usuário adicionado na etapa anterior.
export SSL_VALIDATE=false cqlsh --debug --ssl <data-node-ip> -u <user> -p <password>