Este blog foi publicado originalmente no site do blog pessoal de Roi Katz. Por favor clique aqui para encontrar a postagem original.
Olá a todos!
Portanto, você deseja autenticar o acesso dos usuários ao Couchbase por meio do serviço LDAP do Active Directory.
O Couchbase tem essa capacidade.
Na verdade, você pode mapear cada usuário para um dos três níveis de permissões de acesso (como na v4.1)
- Administração completa
- Somente leitura
- Sem acesso
Presumo que seja o seguinte:
- Você já tem um Active Directory instalado e funcionando
Caso contrário, consulte aqui ou aqui para obter instruções de configuração.
- Você já tem o Couchbase instalado (em uma distribuição Linux)
Caso contrário, consulte esses guias: RHEL ou Debie
Quanto à versão 4.1 do Couchbase, somente as distribuições do Linux oferecem suporte ao LDAP, e ele não está disponível no Windows nem no MacOS.
Minha configuração aqui é uma VM do Azure Windows Server 2012 R2 com Active Directory e uma VM local do Ubuntu 14.04.3 LTS com o Couchbase v4.1 instalado.
Na configuração do seu Couchbase Linux, você encontrará uma guia chamada LDAP Auth Setup
Para entender completamente como a autenticação LDAP funciona com o Couchbase, leia o artigo do Couchbase documentação.
Portanto, em primeiro lugar, instale o saslauthd
Preste atenção se estiver usando o RHEL ou o Ubutntu, pois os caminhos e as instruções são um pouco diferentes.
Versão TL;DR no Ubuntu
- sudo apt-get update
- sudo apt-get install sasl2-bin
- sudo nano /etc/default/saslauthd
- Alterar START=yes, MECHANISMS="ldap"
- Salvar e sair (ctrl+x)
- mudar para sudo (sudo -u)
- altere a permissão de /var/run/saslauthd e /var/run/saslauthd/mux para 755 para que o usuário do couchbase possa acessá-los.
- cd para a pasta /etc
- Se o saslauthd.conf não existir, toque nele e adicione 755 permissões.
- configure o arquivo da seguinte forma:
1 2 3 4 5 6 7 8 9 10 11 |
servidores ldap: ldap://yourmachineaddress:389 ldap_search_base: dc=couchbase,dc=org ldap_filter: (sAMAccountName=%u) ldap_bind_dn: CN=[administrador usuário],CN=Usuários,DC=couchbase,DC=org ldap_password: [administrador senha] ldap_auth_method: vincular ldap_version: 3 ldap_use_sasl: não ldap_restart: sim ldap_deref: não ldap_start_tls: não |
servidores ldap é seu servidor AD
ldap_search_base está em qual domínio você gostaria de pesquisar usuários (aqui é couchbase.org no AD)
ldap_filter é o que você deseja retornar
ldap_bind_dn é um usuário com permissões de privilégios de administrador que pode pesquisar a árvore de usuários do AD.
ldap_password a senha do usuário administrador
- Aberto Portas do Active Directory para LDAP, 389 (TCP+UDP), 3268,3269, 636 (UDP)
- Você pode testar sua conexão de diretório ativo com JXplorer
- Reinicie seu serviço salsauthd - sudo service saslauthd restart
- Teste-o! - sudo -u couchbase /usr/sbin/testsaslauthd -u -p mypassword -f /var/run/saslauthd/mux
- Se você tiver permissões e configurar tudo conforme descrito acima, deverá receber uma mensagem de sucesso. O nome de usuário e a senha aqui são os que você deseja verificar, não o administrador do ldap.
Agora vamos usá-lo no console do Couchbase!
- Faça login no console de gerenciamento do cluster e acesse settings -> LDAP Auth setup.
- Ativar LDAP
- Escolha seu comportamento padrão - se você não especificar o nome de usuário em nenhum lugar
- Escreva alguns usuários ou grupos em cada caixa
- Pressione salvar
- Teste-o (à direita)
- Se tudo estiver ok, você deverá receber algo como "o usuário 'x' tem acesso 'Full Admin' porque eu listei esse usuário em Full Admin".
- Agora saia e tente fazer login com as credenciais do Active Directory.
Se eu errar a senha, não poderei acessar, como esperado.
Caso o servidor AD esteja inacessível, você ainda poderá fazer login por meio de suas contas normais do Couchbase.
Isso é tudo! Espero que você tenha gostado.
Roi.
Poderíamos ter uma versão atualizada disso para a versão 5. Acabamos de configurar isso em um cluster RedHat e a guia "LDAP Auth Setup" não existe mais.
Em andamento.
Enquanto isso, use o couchbase-cli ldap-setting com o sinalizador ldap-enabled 1 para ativar o ldap.