# LDAP

## Requisitos

**Linux Control Center**: versão **2.12.0** ou superior\
Grupo de Usuários na console pré configurado.

***

## 🧾 Overview

O **Linux Control Center** permite buscar informações de usuários no *Active Directory* ou *OpenLDAP* por meio do protocolo **LDAP**. Essa integração possibilita a autenticação via **login único** na Console do LCC.

O usuário obtido por meio da integração será criado na Console do LCC sem nenhuma permissão, as permissões precisam ser definidas por meio de um grupo de usuários, conforme documentação no link abaixo;

<https://docs.linuxcontrolcenter.com.br/conf-integrations/user-management/users/users-group>

Veja a imagem que representa o fluxo de autenticação:

![Fluxo de Autenticação](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-fdea54e7772a5ea0c40ad60e8c46f795c7247f5a%2Ffluxo_provedor.jpg?alt=media)

***

## 🎯 Objetivo

Este documento tem como objetivo demonstrar o passo a passo de como realizar a configuração do **LDAP** no Linux Control Center com o domínio do seu ambiente.

***

## ⚙️ Configuração de Login via LDAP

1. Clique em **Config** no menu lateral esquerdo do LCC:

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-1f9aeb29eff948af0c7a247094bedac11e19475a%2F1_config.png?alt=media)
2. Clique em **Provider**:

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-cbb741620fafc5a757ec6004a238a02c42d9006c%2F2_providers.png?alt=media)
3. Clique em **LDAP**:

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-2492c2869bc0e55672dbb54c218b249bba606dd1%2F3_botao_ldap.jpg?alt=media)
4. Clique em **Create**:

   ![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-7bd9e57b5a7cab6d07689719a12fdb29fa98ee23%2F4_botao_create.jpg?alt=media)

> **\_hint\_1**: Existem modelos de configuração prontos para **OpenLDAP** e **Active Directory**.\
> Você pode utilizá-los clicando nos botões **OpenLDAP Sample** ou **AD Sample**, respectivamente.

![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-b0db53d357d51325bb92e5e802c96bdc1571db01%2F5_samples.jpg?alt=media)

5. Preencha os campos de acordo com as informações da sua organização.

![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-42507fb433470db66e9f2fa8d76f10abfee20423%2F6_default_conf.png?alt=media)

## 📘 Documentação dos Campos do Modelo `Ldap`

### 🔐 Identificação

* **`id`**: Identificador automático e único para cada entrada no banco de dados.
* **`uuid`**: Identificador universal único (UUID), útil para garantir unicidade global — ideal para replicação, rastreamento e auditoria.

***

### 🔒 Protocolo e Segurança

* **`PROTO_CHOICES`**: Define os protocolos disponíveis para conexão:
  * `0` = `ldap` (sem criptografia TLS)
  * `1` = `ldaps` (com TLS/SSL)
* **`ldap_prot`**: Armazena a escolha do protocolo.\
  `0` para `ldap`, `1` para `ldaps`.
* **`ignore_ssl`**: Define se certificados SSL inválidos devem ser ignorados.\
  ⚠️ *Atenção:* Útil em ambientes de teste, mas **não recomendado** para produção por questões de segurança.

***

### 🌐 Conexão

* **`ldap_uri`**: Endereço completo do servidor LDAP.\
  Ex: `ldap://ldap.exemplo.com` ou `ldaps://ldap.exemplo.com`.
* **`bind_user_dn`**: Distinguished Name (DN) do usuário de *bind* — responsável por autenticar no servidor LDAP.
* **`bind_pass`**: Senha do usuário de *bind*.\
  Este é o usuário técnico que realiza as buscas no diretório.

***

### 🧭 Base DN

* **`base_dn`**: DN base geral para as buscas no LDAP.\
  Ex: `dc=empresa,dc=com`.
* **`user_base_dn`**: DN base específico para buscas de usuários.\
  (Pode ser mais restrito que `base_dn`.)
* **`group_base_dn`**: DN base específico para buscas de grupos.

***

### 👤 Usuário — Mapeamento de Atributos (continuação)

* **`user_surname_attr`**: Atributo correspondente ao **sobrenome** do usuário.\
  Ex: `sn` (*surname*).
* **`user_mail_attr`**: Atributo que representa o **e-mail** do usuário.\
  Ex: `mail`.
* **`user_filter`**: Filtro adicional para restringir os usuários retornados na busca LDAP.\
  Ex: `(objectClass=person)`.
* **`user_group_member_attr`**: Atributo que relaciona o usuário aos grupos dos quais ele faz parte.\
  Ex: `memberOf`.
* **`user_base_dn`**: DN base específico onde os usuários serão buscados dentro da árvore LDAP.\
  Usado para limitar a busca a um determinado ramo da estrutura.\
  Exemplo: `ou=Usuarios,dc=empresa,dc=com`

  > 💡 Se não for definido, o sistema usará o valor de `base_dn` como padrão.

***

### 👥 Grupo — Mapeamento de Atributos

* **`group_base_dn`**: DN base onde os grupos serão buscados.\
  Pode ser mais específico que o `base_dn`.
* **`group_filter`**: Filtro LDAP utilizado para identificar os grupos.\
  Ex: `(objectClass=group)`.
* **`group_unique_attr`**: Atributo único que identifica o grupo no diretório.\
  Ex: `cn`, `distinguishedName`.
* **`group_identifier_attr`**: Atributo usado como chave de identificação dos grupos no sistema local.\
  Ex: `sAMAccountName`, `gidNumber`.

6. Selecione os grupos do LDAP que serão mapeados para os grupos locais do LCC.

![](https://3122590582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FytotrgCSM7abU2RFWBCP%2Fuploads%2Fgit-blob-feb9d8b0a23f862bb7fec14b32a42bd97671b6e7%2F7_group_map.png?alt=media)

A opção **Group Mapping** permite associar grupos remotos do LDAP com grupos locais do **Linux Control Center (LCC)**.

Com essa funcionalidade, é possível fazer o seguinte:

* Usuários que pertencem, por exemplo, ao grupo **`TI`** no LDAP podem ser automaticamente mapeados para o grupo **`Administradores`** no LCC.
* Dessa forma, os usuários herdam automaticamente as **permissões** e **papéis** definidos nos grupos locais do LCC.

#### ✅ Características:

* Permite **pré-configurar os grupos locais** com permissões específicas.
* Garante que, ao fazer login, o usuário já tenha os **acessos corretos**, sem necessidade de atribuições manuais.
* Facilita a **gestão centralizada** de permissões via diretório LDAP.

7. Clique em **SAVE** para salvar as configurações.
