Você pode usar o espaço de trabalho Autenticação para configurar serviços de diretório para o Automation Config usando o protocolo LDAP. Esse protocolo é usado para conexão com serviços como o Active Directory ou o Microsoft Azure.

VMware Cloud Services Platform (CSP) oferece uma integração LDAP para qualquer cliente de produto SaaS que deve se conectar a serviços como Active Directory ou Microsoft Azure. Consulte o Guia de configuração da federação empresarial com o VMware Cloud Services para obter as etapas sobre como conectar sua instância do Automation Config a um servidor LDAP.

Observação: Você pode usar mais de um sistema ao mesmo tempo para autenticar usuários no Automation Config se necessário. Por exemplo, você pode usar um IdP baseado em SAML ou um IdP baseado em LDAP ao mesmo tempo em que armazena algumas credenciais de usuário nativamente no servidor RaaS. No entanto, o Automation Config não permite configurar mais dois provedores SAML ou dois provedores LDAP ao mesmo tempo.

O Automation Config usa o seguinte processo de back-end para autenticar sistemas baseados em LDAP:

  • Visualização: quando você visualiza suas configurações de conexão, o Automation Config recupera uma lista de amostra de usuários e grupos do seu servidor LDAP, para que você possa verificar se inseriu os parâmetros de configuração corretos.
  • Login: quando um usuário insere credenciais no formulário de login do Automation Config, o servidor de back-end verifica se há uma correspondência no banco de dados naquele momento. Em seguida, ele inicia um processo de pesquisa em várias etapas e, ao encontrar uma correspondência, autentica o usuário. Devido a esse processo de pesquisa, usuários individuais em grupos ativados não aparecem no espaço de trabalho Funções até o primeiro login do usuário.
  • Tarefas em segundo plano: o Automation Config executa um trabalho em segundo plano periodicamente para pesquisar cada grupo e usuário vinculado na conexão do Serviço de Diretório, com o objetivo de garantir que ele ainda existe. Se o grupo ou o usuário tiver sido removido, o servidor de back-end desativará seu link no banco de dados.
  • Grupos e usuários arquivados: todos os grupos que você remove da conexão com o Serviço de Diretório são arquivados. Mesmo que esses grupos estejam inativos e os usuários não consigam fazer login, eles ainda estão visíveis no espaço de trabalho Funções e podem ser selecionados. Isso também se aplica a todos os usuários removidos anteriormente visíveis no espaço de trabalho Funções.
  • Grupos aninhados: ao trabalhar com grupos aninhados, ao ativar um grupo pai, você também ativa todos os grupos filho por padrão.

Configurando uma conexão LDAP

Para configurar o LDAP, primeiro crie uma conexão e, em seguida, permita que usuários e grupos LDAP específicos sejam autenticados no Automation Config. Depois de ativar grupos ou usuários, você poderá definir suas configurações de Controle de Acesso Baseado em Função (RBAC).

Você pode optar por pré-preencher os campos com configurações padrão personalizadas para o seu serviço de diretório, como o Active Directory ou o OpenLDAP.

Observação: As etapas a seguir devem ser concluídas por um administrador experiente do LDAP ou do Active Directory que entenda o layout geral do sistema LDAP. Entre em contato com seu administrador para obter assistência.

Para configurar um serviço de diretório LDAP:

  1. (Opcional) Antes de configurar o LDAP, pode ser útil testar sua conexão e suas consultas usando uma ferramenta de terceiros. Para usuários do AD, é possível usar o LDP ou o ADSI Edit. Para usuários do Linux, a ferramenta recomendada é ldapsearch.
    Observação: Para obter mais informações sobre como fazer testes com essas ferramentas, consulte Como verificar e solucionar problemas em uma conexão com um Serviço de Diretório, no Centro de Suporte.
  2. Clique em Administração > Autenticação no menu lateral.
  3. Clique em Criar.
  4. No menu Tipo de Configuração, selecione LDAP.
  5. (Opcional) Em Configurações, clique em Pré-preencher Padrões e selecione seu serviço de diretório na lista suspensa.

    As entradas padrão são preenchidas de acordo com a sua seleção. Porém, determinadas entradas, como DN de Pesquisa do Usuário estão incompletas. Certifique-se de verificar se as entradas correspondem ao esquema do serviço de diretório e de substituir o texto de espaço reservado pelos valores corretos do serviço.

  6. Insira ou verifique informações para a sua conexão LDAP.

    Geral

    Campo Descrição
    Nome Nome da conexão LDAP. Como este é apenas um nome de exibição, insira qualquer nome seria útil para ajudar a diferenciar esse back-end de autenticação dos demais.
    Host Endereço do servidor host LDAP, formatado como um FQDN ou endereço IP.
    Porta Porta na qual o servidor LDAP está configurado. O padrão é 389 para LDAP não criptografado e 636 para LDAP por SSL.
    Sincronização em segundo plano O Automation Config valida aqui todos os usuários e grupos com base no back-end de autenticação em um intervalo definido (em minutos).
    SSL
    Ativar SSL
    Selecione para se conectar ao servidor LDAP por meio de um SSL (Secure Sockets Layer). Habilitar essa opção é uma prática recomendada, pois deixá-la desmarcada resulta na transmissão de informações do Automation Config em texto sem formatação por uma conexão insegura. Por padrão, o certificado do servidor LDAP é validado usando o armazenamento de certificados do sistema. Se você estiver usando um certificado autoassinado ou um certificado de uma autoridade de certificação (CA) privada no servidor LDAP, deverá atualizar sua configuração do /etc/raas/raas para permitir a autenticação. Consulte as instruções de Configuração de uma autoridade de certificação autoassinada ou privada para obter mais detalhes.
    Validar Certificado
    Selecione para garantir que os certificados SSL sejam validados após a conexão. Deixe essa opção desmarcada para ignorar a validação, por exemplo, ao usar certificados autoassinados (não recomendados para produção).

    Autenticação

    Campo Descrição
    DN Base de Autenticação

    Nome Distinto do LDAP Base. Este é o local de onde grupos e usuários são consultados, por exemplo DC=sse,DC=example,DC=com.

    Observação: A página de detalhes do LDAP inclui campos de entrada separados para Classe de Objeto de Pessoa, Nome do Atributo da Conta, Classe do Grupo, Nome do Atributo do Grupo e Agendamento de Sincronização, conforme descrito abaixo. Consequentemente, não inclua estes objetos no campo DN Base.
    DN de Associação do Administrador DN do administrador configurado para o servidor LDAP. O Automation Config usa isso para se autenticar no diretório para pesquisas de usuários e grupos. Insira a entrada com base na seguinte sintaxe: cn=Administrator,cn=Users,dc=example,dc=com.
    Senha do DN de Associação do Administrador

    A senha individual do administrador.

    Ela é armazenada com criptografia no banco de dados. Não é armazenada em texto simples.

    Filtro do DN de Associação de Autenticação

    Filtro aplicado para selecionar um usuário específico. O resultado dessa pesquisa é um DN de usuário que o Automation Config usa para vincular ao diretório e conceder acesso ao Automation Config para o usuário. Isso é útil para limitar o número de resultados que são retornados de uma determinada pesquisa.

    Observação: Como a sintaxe do filtro pode se tornar bastante complexa, uma prática recomendada é testar a entrada usando LDAP, ldapsearch ou uma ferramenta semelhante para validar sua entrada e fazer quaisquer ajustes antes de preencher esse campo.

    O filtro de amostra a seguir retornará apenas uma conta correspondente ao nome de usuário fornecido pertencente aos grupos DevOps ou Level II.

    (&(objectclass=user)(sAMAccountName={username})(|(memberOf=CN=DevOps,OU=Groups,OU=TestCompanyHQ,DC=adtest,DC=com)(memberOf=LevelII,OU=Groups,DC=adtest,DC=com)))

    Se estiver usando padrões pré-preenchidos, certifique-se de substituir o texto de espaço reservado pelos valores corretos do seu serviço de diretório.

    Observação: Ao configurar uma estrutura de floresta, deixe esse campo em branco.
    Nome do Atributo de ID Exclusivo Remoto Nome do valor usado para identificar entradas exclusivas. Este é o atributo de ID exclusivo para todas as entradas. No AD, isso é ObjectGUID.

    Grupos

    Campo Descrição
    DN de Pesquisa de Grupos A base de pesquisa para grupos. Por exemplo, no AD, isso pode ser cn=Groups,dc=example,dc=com. Indica em que local no diretório procurar grupos. Use junto com o Escopo de Pesquisa de Grupo abaixo.
    Escopo de Pesquisa de Grupo

    Indica a profundidade de pesquisa de diretório a partir da base indicada no DN de Pesquisa de Grupos e pode ter um destes quatro valores:

    baseObject
    Valor 0, muitas vezes chamado de base. Use-o para pesquisar somente por esse objeto e nenhum outro.
    singleLevel
    Valor 1, muitas vezes chamado de one. Use-o para considerar apenas filhos imediatos da entrada base para correspondências.
    wholeSubtree
    Valor 2 (ou SUBTREE em ldap3), muitas vezes chamado de sub. Use-o para pesquisar a base e todos os seus subordinados em qualquer profundidade.
    subordinateSubtree
    Valor 3, muitas vezes chamado de subordinates. É o mesmo que wholeSubtree, mas a entrada da pesquisa base é ignorada.
    Filtro do DN de Pesquisa de Grupos Filtro de pesquisa para extrair grupos do diretório. Em geral, é (objectClass=group), mas, em algumas configurações do AD, pode ser (objectCategory=group). Use junto com a Classe de Grupos para obter mais granularidade.
    Classe de Grupos Nome da classe de objeto usada para definir grupos, por exemplo, groupOfNames.
    Atributo de Nome do Grupo O nome do atributo que você deseja usar para o nome do grupo. Insira um atributo de valor único, e não com vários valores.
    Atributo de Associação de Grupo O nome do atributo na entrada do usuário que contém o nome do grupo, por exemplo, memberOf.

    Usuários

    Campo Descrição
    DN de Pesquisa de Usuários A base de pesquisa para usuários, por exemplo, cn=Users,dc=example,dc=com no AD ou cn=people,cn=accounts,dc=example,dc=com em outros serviços de diretório. Indica em que local no diretório procurar usuários. Use junto com o Escopo de Pesquisa de Usuários abaixo.
    Escopo de Pesquisa de Usuários Indica a profundidade de pesquisa de diretório a partir da base indicada no DN de Pesquisa de Usuários e pode ter um destes quatro valores. Consulte os quatro valores descritos em Escopo de Pesquisa de Grupos.
    Filtro do DN de Pesquisa de Usuários Filtro de pesquisa para extrair usuários do diretório. Em geral, é (objectClass=person), mas, em algumas configurações do AD, pode ser (objectCategory=user).
    Classe de Pessoas Nome da classe do Serviço de Diretório contendo os usuários para os quais você deseja permitir o login. A maioria dos sistemas (incluindo o Active Directory) usa person, mas alguns podem preferir user ou inetOrgPerson.
    Atributo de ID de Usuário O nome exclusivo do atributo de conta do usuário. Para o AD, ele é sAMAccountName. Para outros serviços, costuma ser uid ou memberUid.
    Atributo de Associação de Usuário O nome do atributo na entrada de grupo que contém o nome do usuário. Exemplos possíveis incluem member ou uniquemember.
  7. Para visualizar suas configurações sem salvar, clique em Atualizar Visualização.

    A janela de visualização mostra usuários e grupos selecionados para a sua conexão. Você pode selecionar a guia Grupos ou Usuários para visualizar usuários e grupos associados ao serviço conforme necessário.

  8. Clique em Salvar.

    Sua configuração LDAP foi salva. Para verificar se a configuração está correta, convém tentar fazer login no Automation Config a partir de uma conta de usuário de teste. Se você não conseguir fazer login com êxito, consulte Solução de problemas para obter dicas.

    Observação: Para configurações LDAP, o Automation Config armazena as configurações de conexão, incluindo os grupos e usuários identificados. Ele recupera apenas grupos e usuários dentro do escopo que você definiu e não sincroniza o diretório inteiro.

    Com o tempo, talvez seja necessário atualizar ou repetir a sincronização do seu diretório LDAP. Por exemplo, você deverá atualizar seu diretório se tiver adicionado novos usuários e quiser ativá-los no Automation Config.

Ativando grupos e usuários

Depois de configurar sua conexão LDAP, você precisará configurar grupos do serviço de diretório e garantir que os usuários possam fazer login no Automation Config. Para configurar grupos do serviço de diretório:

  1. No espaço de trabalho Autenticação, selecione a configuração LDAP necessária.
  2. Selecione a guia Grupos para ver uma lista de grupos recuperados da sua configuração LDAP.
    Observação: Se você estiver recuperando um grande número de grupos, a página poderá demorar até um minuto para ser carregada.
  3. Selecione os grupos que você deseja ativar no Automation Config.
  4. Selecione a guia Usuários para ver uma lista de usuários recuperados da sua configuração LDAP.
    Observação: Se você estiver recuperando um grande número de usuários, a página poderá demorar até um minuto para ser carregada.
  5. Selecione os usuários que você deseja ativar no Automation Config.
    Observação: Todos os usuários incluídos nos grupos ativados já estão marcados e não podem ser desmarcados.
    Uma lista de usuários que já foram ativados no SaltStack Config
  6. Clique em Salvar.

    Agora, você pode definir configurações de controle de acesso baseado em função (RBAC) para os grupos selecionados. No entanto, o espaço de trabalho Funções permite que você gerencie as configurações para usuários individuais incluídos nos grupos selecionados somente após o primeiro login do usuário. Para excluir grupos ou usuários, desmarque o grupo ou usuário e clique em Salvar.

    Para obter mais informações sobre o RBAC no Automation Config, consulte Como definir funções de usuários.

Solucionando problemas com a conexão LDAP

Se você não conseguir visualizar sua conexão com êxito, siga estas etapas de solução de problemas.
Problema Descrição Solução
Não consigo visualizar minha conexão

Se você não conseguir visualizar seus grupos e usuários, em muitos casos, isso se deverá a um problema de conexão entre o servidor LDAP e o Automation Config ou a uma entrada inválida no formulário de configuração LDAP.

  1. Assegure-se de que as conexões TCP do Automation Config com a porta selecionada no servidor LDAP sejam permitidas.
  2. Verifique as entradas do formulário e valide a sintaxe usando uma ferramenta de terceiros. Consulte Como verificar e solucionar problemas em uma conexão com o Serviço de diretório.
  3. Se nenhum dos itens anteriores ajudar a resolver o problema, consulte a seção Outros problemas abaixo.
  4. Se nenhum dos itens acima ajudar, entre em contato com o suporte personalizado.
Ao tentar visualizar minha conexão, o carregamento da página fica suspenso Se o carregamento da página ficar suspenso por mais de dois minutos, reinicie o serviço RaaS e, em seguida, exclua e recrie a configuração.
  1. Abra o log do RaaS.
    tail -f /var/log/raas/raas

    O log contém um erro semelhante ao seguinte:

    [ERROR    :256][ForkPoolWorker-2:10253][ldap_preview_background_task(some_uuid)]
    Task ldap preview_background_task[some_uuid]raised unexpected: KeyError('ad-1_preview')
  2. Em seguida, pare e reinicie o serviço RaaS.
    systemctl stop raas
    systemctl start raas
  3. Retorne à interface do usuário do Automation Config e exclua a conexão LDAP.
    Observação:

    Talvez você queira copiar e colar suas entradas de configuração em um arquivo de texto de backup antes de excluir.

  4. Crie a configuração LDAP outra vez.
Outros problemas diversos

Se você já configurou e salvou sua conexão LDAP, mas os usuários não conseguem fazer login, ou se você estiver se deparando com outros problemas, verifique os logs de raas com depuração estendida ativada para ajudar a determinar a causa raiz.

Para ativar a depuração estendida:

  1. No RaaS, abra /etc/raas/raas.
  2. Faça as seguintes alterações:
    • Em Loggingoptions, remova as marcas de comentário de log_file_loglevel:debug
    • Em AD/LDAPdriverconfiguration, remova as marcas de comentário de log_level e defina como log_level:EXTENDED
  3. Em seguida, pare e reinicie o serviço RaaS.
    systemctl stop raas
    systemctl start raas
  4. Visualize o log de raas.
    tail -f /var/log/raas/raas

Alguns erros comuns que você pode ver nos logs são os seguintes:

  • Configurações incorretas para a conexão (SSL). Ajuste suas configurações SSL.
    [raas.utils.validation.schemas.settings][DEBUG   :546 ][Webserver:9096]
    Error while connecting to AD/LDAP Server. SSL connection issues: socket
    ssl wrapping error: [Errno 104] Connection reset by peer
  • Senha incorreta para o DN de Associação do Administrador. Verifique e insira novamente sua senha.
    [raas.utils.rpc   ][DEBUG   :284 ][Webserver:9095]
    Processed RPC request(129360670417695). Response:
    {'riq': 129360670417695, 'ret': None, 'error': {'code': 3004, 'message':
    'Request validation failure.', 'detail': {'_schema':
    ['Credentials are not valid']}}, 'warnings': []}
  • O Filtro do DN de Associação de Autenticação padrão pré-preenchido está criando um conflito. Deixe o campo em branco ou use {username} em vez de {{username}}.
    Observação:

    Você pode encontrar esse erro quando já salvou sua conexão LDAP, mas os usuários não conseguem fazer login.

    [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG   :903 ][Webserver:9096]
    Running _get_auth_backend_user with this search_filter: (&(objectclass=person)(sAMAccountName={username}))
    
    [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG   :931 ][Webserver:9096]
    Could not find any user using '(&(objectclass=person)(sAMAccountName={username}))'
    as the search filter in the ldap backend under the ad-1 configuration.
    Trying remote_uid 'None'
    
    [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG   :963 ][Webserver:9096]
    Could not find any user using '(&(objectClass=person)(objectGUID=None))'
    as the search filter in the ldap backend under the ad-1 configuration.

Configuração de uma autoridade de certificação autoassinada ou privada

O Automation Config oferece suporte ao Active Directory (AD) e ao LDAP como uma origem de autenticação. Como boa prática de segurança, a comunicação entre o Automation Config e o AD/LDAP deve ser por meio de um canal criptografado por TLS. A conexão a um servidor AD/LDAP com um certificado confiável de terceiros tem suporte por padrão, mas, se houver uma CA privada ou autoassinada em uso, você deverá direcionar o Automation Config à cadeia de confiança de CA correta.

Observação: Embora seja possível desativar a verificação de certificado na interface do Automation Config ao definir uma origem de autenticação LDAP, essa é uma prática altamente desanimada devido ao potencial para ataques man-in-the-middle. No entanto, pode ser eficaz como uma etapa de solução de problemas para validar se o TLS está em uso antes de instalar a cadeia de CA.

Esse procedimento requer certificado(s) codificado(s) em PEM da autoridade de certificação. Poderá haver mais de um se a sua organização usar autoridades de assinatura intermediárias. Um certificado codificado em PEM é semelhante ao seguinte:

-----BEGIN CERTIFICATE-----
MIIGWzCCBUOgAwIBAgITfQAAAAJtLSuD8EkA/gAAAAAAAjANBgkqhkiG9w0BAQsF
[...bulk of certificate removed in this example...yours will
 have different content between the BEGIN and END lines...]
KqUEt+CIdecfc36aMgxWE8NdDf4/lj6FcuxdXHL+0ea5AySDxLbwWU6AsrRGJ3E=
-----END CERTIFICATE-----

Procedimento

  1. Insira todos os certificados na cadeia em um arquivo.pem.
  2. Copie esse arquivo para /etc/raas/raas-ca-certificates.pem.
  3. Execute este comando para tornar o arquivo legível pelo usuário raas:
    chown raas:raas /etc/raas/raas-ca-certificates.pem
    chmod 600 /etc/raas/raas-ca-certificates.pem
  4. Edite a seção de configuração do driver AD/LDAP do /etc/raas/raas para adicionar o seguinte conteúdo em authers:. Se já houver uma seção de authers presente, talvez seja necessário mesclá-la com essas opções para manter qualquer configuração LDAP adicional, pois não pode haver mais de uma instância de authers:. Os comentários estão incluídos para maior clareza.
    # AD/LDAP driver configuration
     
    # Allowed LDAP log levels for "log_detail" below
    # - OFF       # nothing is logged
    # - ERROR     # only exceptions are logged
    # - BASIC     # library activity is logged, only operation result is shown
    # - PROTOCOL  # LDAPv3 operations are logged, sent requests and received responses are shown
    # - NETWORK   # socket activity is logged
    # - EXTENDED  # ldap messages are decoded and properly printed
     
    authers:
      ldap:
        log_detail: EXTENDED
        ssl:
          ciphers: TLSv1.2
          ca_cert: /etc/raas/raas-ca-certificates.pem
    Observação: Se log_detail: EXTENDED gerar muito conteúdo em /var/log/raas/raas após a autenticação bem-sucedida, esse valor poderá ser alterado para ERROR ou BASIC.
  5. Reinicie o servidor do Automation Config com systemctl restart raas. Valide se o servidor está fazendo backup e funcionando com systemctl status raas .
  6. Na GUI do Automation Config, navegue até Administração > Autenticação e selecione a configuração LDAP desejada. Certifique-se de que o FQDN no campo Host seja aquele relatado nos campos comuns de nome ou nome alternativo da entidade no certificado apresentado pelo servidor AD/LDAP. Se isso não corresponder, o Automation Config não poderá validar o certificado em relação à cadeia de confiança da CA.
  7. Confirme o valor no campo Porta. A porta oficial para LDAP habilitado para TLS é 636, mas se você estiver se conectando a Active Directory e precisar procurar usuários e grupos no catálogo global, a porta habilitada para TLS será 3269.
  8. Marque as caixas de seleção Ativar SSL e Validar Certificado, role até a parte inferior do formulário e clique em Salvar.
  9. Agora você pode testar a conexão com o botão Atualizar Visualização próximo à parte inferior do formulário. Se grupos e usuários aparecerem na caixa de visualização, o TLS será configurado corretamente e os certificados estarão sendo validados.

Solução de problemas

Se você realizar essas etapas e receber um símbolo de carregamento sem resultados depois de clicar em Atualizar Visualização, prossiga com essas etapas de solução de problemas até ver os grupos e usuários serem exibidos.

  1. Verifique os logs em /var/log/raas/raas. Se o servidor LDAP/AD não estiver acessível ou se houver problemas de validação de certificado, eles deverão aparecer no log. Pode ser útil interromper o servidor do Automation Config com systemctl stop raas e truncar /var/log/raas/raas. Em seguida, use tail -f ou um comando semelhante para seguir o log enquanto testa a funcionalidade de visualização LDAP.
  2. A cadeia de confiança da CA pode não estar correta. Você pode recuperar os detalhes do certificado do servidor AD/LDAP com os utilitários de linha de comando openssl:
    openssl s_client -connect <fqdn.of.ldap.or.ad.server>:636 -showcerts
    A cadeia de confiança está nos resultados deste comando e se parece com isto (em que as seções delimitadas <...> são substituídas por dados reais):
    ---
    Certificate chain
     0 s:CN = <fqdn.of.ldap.or.ad.server.example.com>
       i:<DC = com, DC = fqdn, DC = subdomain, CN = common-name-of-CA-certificate>
    -----BEGIN CERTIFICATE-----
    MIIGWzCCBUOgAwIBAgITfQAAAAJtLSuD8EkA/gAAAAAAAjANBgkqhkiG9w0BAQsF
    [... rest of server certificate is below ...]
  3. Use o comando openssl para recuperar informações sobre os certificados da cadeia de confiança da CA para verificar se o certificado da CA corresponde à cadeia no certificado do servidor LDAP. Se você tiver mais de um certificado na cadeia, talvez seja necessário quebrá-los em arquivos separados e executar o seguinte comando em cada um deles.
    # openssl x509 -noout -text -in /etc/raas/raas-ca-certificates.pem
    Certificate:
        Data:
            Version: 3 (0x2)
            Serial Number:
                2f:51:9b:4a:90:23:50:8a:40:58:41:c4:a6:67:08:d7
            Signature Algorithm: sha256WithRSAEncryption
            Issuer: <DC = com, DC = fqdn, DC = subdomain, CN = common-name-of-CA-certificate>
            Validity
                Not Before: Sep 29 19:48:39 2023 GMT
                Not After : Sep 29 19:58:39 2028 GMT
            Subject: <DC = com, DC = fqdn, DC = subdomain, CN = common-name-of-CA-certificate>
    [...]

    Se a Entidade e/ou Emissor acima não corresponderem aos nomes distintos na cadeia de certificados do certificado do servidor LDAP, você provavelmente não terá a cadeia correta.