Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

LDAP

Visão Geral

O SUSE Observability pode usar um servidor LDAP (incluindo AD) para autenticar e obter papéis/grupos. É necessário um servidor LDAP em funcionamento que seja acessível ao SUSE Observability.

O diretório principal do LDAP e todos os subdiretórios serão verificados em busca de arquivos de usuário. As credenciais de bind na configuração do SUSE Observability são usadas para autenticar o SUSE Observability no servidor LDAP. Após a autenticação, o SUSE Observability passa o nome do diretório LDAP principal para o usuário que deseja fazer login no SUSE Observability.

Configure o SUSE Observability para LDAP

Kubernetes

Para configurar o SUSE Observability para autenticar usando um servidor de autenticação LDAP no Kubernetes, os detalhes do LDAP e o mapeamento de papéis de usuário precisam ser adicionados ao arquivo authentication.yaml. Por exemplo:

  • authentication.yaml

stackstate:
  authentication:
    ldap:
      host: sts-ldap
      port: 10389 # For most LDAP servers 389 for plain, 636 for ssl connections
      #ssl:
      #  sslType: ssl
      #  trustStore: <see below>
      #  trustCertificates <see below>
      bind:
        dn: "cn=admin,ou=employees,dc=acme,dc=com"
        password: "password"
      userQuery:
        parameters:
          - ou: employees
          - dc: acme
          - dc: com
        usernameKey: cn
        emailKey: mail
      groupQuery:
        parameters:
          - ou: groups
          - dc: acme
          - dc: com
        rolesKey: cn
        groupMemberKey: member
        # to return all nested groups, use:
        # groupMemberKey: "member:1.2.840.113556.1.4.1941:"

    # map the groups from LDAP to the
    # standard subjects in SUSE Observability (guest, powerUser and admin)
    roles:
      guest: ["ldap-guest-role-for-stackstate"]
      powerUser: ["ldap-power-user-role-for-stackstate"]
      admin: ["ldap-admin-role-for-stackstate"]

Siga os passos abaixo para configurar o SUSE Observability para autenticar usando LDAP:

  1. Em authentication.yaml - adicione os detalhes do LDAP (veja o exemplo acima):

    • host - O nome do host do servidor LDAP.

    • port - A porta que o servidor LDAP está escutando.

    • sslType - Opcional. O tipo de conexão segura LDAP ssl ou startTls. Omitir se uma conexão LDAP simples for utilizada.

    • trustCertificates - Opcional, arquivo de certificado para SSL. Os formatos PEM, DER e PKCS7 são suportados.

    • trustStore - Opcional, arquivo de armazenamento de confiança Java para SSL. Se ambos trustCertificates e trustStore forem especificados, trustCertificatesPath terá precedência.

    • bind - Opcional, usado para autenticar o SUSE Observability no servidor LDAP se o servidor LDAP não suportar buscas anônimas.

    • userQuery parameters and groupQuery parameters - O conjunto de parâmetros dentro corresponde ao dn base do seu LDAP onde usuários e grupos podem ser encontrados. O primeiro é usado para autenticar usuários no SUSE Observability, enquanto o segundo é usado para recuperar o grupo desse usuário para determinar se o usuário é um administrador, usuário avançado ou um convidado.

    • usernameKey - O nome do atributo que armazena o nome de usuário, o valor é comparado com o nome de usuário fornecido na tela de login.

    • emailKey - O nome do atributo que é usado como o endereço de e-mail no SUSE Observability.

    • rolesKey - O nome do atributo que armazena o nome do grupo.

    • groupMemberKey - O nome do atributo que indica se um usuário é membro de um grupo. O filtro LDAP construído segue este padrão: <groupMemberKey>=<user.dn>,ou=groups,dc=acme,dc=com. Para retornar todos os grupos aninhados, use groupMemberKey: "member:1.2.840.113556.1.4.1941:".

  2. Em authentication.yaml - mapeie os papéis dos usuários do LDAP para os sujeitos corretos do SUSE Observability (veja o exemplo acima):

  3. Armazene o arquivo authentication.yaml junto com o values.yaml das instruções de instalação do SUSE Observability.

  4. Execute um upgrade do Helm para aplicar as mudanças. Se você estiver usando SSL com certificados personalizados, os arquivos de certificado binário que devem ser usados ao conectar-se ao LDAP devem ser definidos a partir da linha de comando, use o comando sob SSL com certificados personalizados:

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
  --values authentication.yaml \
suse-observability \
suse-observability/suse-observability

trustCertificates

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
  --values authentication.yaml \
  --set-file stackstate.authentication.ldap.ssl.trustCertificates=./ldap-certificate.pem \
suse-observability \
suse-observability/suse-observability

trustStore

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
  --values authentication.yaml \
  --set-file stackstate.authentication.ldap.ssl.trustStore=./ldap-cacerts \
suse-observability \
suse-observability/suse-observability

Nota:

  • A primeira execução do comando de upgrade do Helm resultará na reinicialização dos pods, o que pode causar uma breve interrupção na disponibilidade.

  • Inclua authentication.yaml em cada execução de helm upgrade.

  • A configuração de autenticação é armazenada como um segredo do Kubernetes.

Usando um segredo externo

Quando a senha do LDAP deve vir de um segredo externo, siga estas etapas mas preencha os seguintes dados:

kind: Secret
metadata:
   name: "<custom-secret-name>"
type: Opaque
data:
  ldap_password: <base64 of ldap password>