> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Serviço Identity

> Gerencie usuários, grupos, aplicações, provedores de comunicação, vínculos de provider e configuração de MFA com o serviço Identity.

Identity é o serviço de gerenciamento do Access Manager. É onde os administradores definem quem pode acessar os produtos Lerian: a quais grupos as pessoas pertencem, quais aplicações podem autenticar com credenciais máquina-a-máquina e quais provedores de comunicação estão disponíveis para entrega de MFA.

O Identity não emite access tokens nem toma decisões de autorização em tempo de execução. O Auth usa os dados de identidade gerenciados aqui para autenticar subjects e avaliar permissões.

Use o Identity quando precisar:

* criar, atualizar, listar ou excluir usuários;
* atribuir usuários a grupos de produto;
* listar grupos predefinidos e inspecionar suas permissões;
* criar, listar, recuperar ou excluir aplicações máquina-a-máquina;
* criar, atualizar, listar, recuperar ou excluir provedores de comunicação;
* vincular providers a aplicações e selecionar o provider padrão;
* iniciar, verificar, habilitar, desabilitar, revisar ou alterar as configurações de MFA dos usuários;
* redefinir ou atualizar senhas de usuário.

## Usuários e grupos

***

O acesso humano é gerenciado por usuários e grupos predefinidos. Um grupo representa um conjunto de permissões para um produto ou área do Access Manager.

Por exemplo, um usuário pode ser atribuído a um grupo viewer do Midaz para inspecionar dados do ledger sem alterá-los e a um grupo contributor do Reporter para criar templates de relatório. Se esse mesmo usuário não tem grupo para Fees, ele não recebe acesso ao Fees.

O Identity expõe endpoints de usuário para listar usuários, criar usuários, recuperar um usuário, atualizar informações de usuário e atribuições de grupo, excluir usuários, atualizar senhas e redefinir senhas. Os endpoints de listagem de usuários e grupos são paginados com `page` e `limit`.

Em deployments multi-tenant, usuários e grupos têm escopo definido a partir do bearer token. O serviço lê a organização tenant do contexto autenticado e retorna apenas os usuários e grupos que pertencem a esse tenant. Em deployments single-tenant, os mesmos endpoints retornam o conjunto de todo o ambiente.

Ao criar ou atualizar um usuário, envie os IDs de grupo retornados por [Listar Grupos](/pt/reference/access-manager/list-groups). A API trata o prefixo interno de organização; os clientes não devem montar manualmente valores no estilo `organization/group` do Casdoor.

<Warning>
  Não envie a posse do tenant em payloads de usuário. O Identity deriva o escopo do tenant a partir do bearer token e então aplica as mudanças de usuário e grupo solicitadas dentro desse tenant.
</Warning>

### Níveis de role

O Access Manager usa níveis de role consistentes entre os produtos:

| Role        | Acesso típico                                               |
| ----------- | ----------------------------------------------------------- |
| Admin       | Acesso total, incluindo operações administrativas.          |
| Editor      | Pode ler, criar, atualizar e excluir recursos.              |
| Contributor | Pode ler, criar e atualizar recursos, mas não pode excluir. |
| Viewer      | Acesso somente leitura.                                     |

<Warning>
  As roles têm escopo por produto ou aplicação. Um usuário pode ser Editor no Midaz, Viewer no Reporter e não ter acesso ao Fees.
</Warning>

Os conjuntos de permissões são predefinidos pela Lerian. Use [Listar Grupos](/pt/reference/access-manager/list-groups) e [Recuperar Detalhes do Grupo](/pt/reference/access-manager/retrieve-group-details) para inspecionar os grupos disponíveis no seu ambiente e atribua usuários enviando os IDs de grupo retornados de volta por [Criar um Usuário](/pt/reference/access-manager/create-user) ou [Atualizar um Usuário](/pt/reference/access-manager/update-user).

<Warning>
  Se um usuário não tem grupo atribuído para um produto, ele não tem acesso a esse produto, nem mesmo acesso somente leitura.
</Warning>

Para o modelo de recurso-ação, os vocabulários de ações usados por cada produto e como as rotas são protegidas em tempo de execução, consulte [Aplicação em nível de produto](/pt/platform/access-manager/product-level-enforcement). Para o workflow de API que conecta usuários, grupos e tokens, consulte [Usando o Access Manager](/pt/platform/access-manager/using-access-manager).

## Aplicações

***

As aplicações representam clientes máquina-a-máquina para o grant `client_credentials`. Use-as quando um serviço, job ou integração precisa autenticar sem um usuário humano.

Uma aplicação armazena o `clientId` e o `clientSecret` usados pelo Auth durante o fluxo `client_credentials`. Após criar uma aplicação, a integração pode solicitar um access token ao Auth e chamar APIs Lerian protegidas de acordo com as permissões configuradas.

O Identity suporta:

* listar aplicações;
* criar aplicações;
* recuperar detalhes de aplicação;
* excluir aplicações.

Por exemplo, um job de conciliação pode usar uma aplicação Bank Transfer para solicitar um token e chamar apenas os endpoints necessários para o seu workflow.

O catálogo atual de permissões M2M inclui estes nomes de aplicação:

| Nome da aplicação            | Uso típico                                              |
| ---------------------------- | ------------------------------------------------------- |
| `midaz`                      | Automação do ledger principal.                          |
| `plugin-fees`                | Automação de pacotes de tarifas, tarifas e estimativas. |
| `plugin-crm`                 | Automação de holders e aliases do CRM.                  |
| `reporter`                   | Automação de relatórios e templates.                    |
| `plugin-br-pix-direct-jd`    | Automação do Pix Direct JD.                             |
| `plugin-br-pix-indirect-btg` | Automação do Pix Indirect BTG.                          |
| `plugin-br-bank-transfer`    | Automação de Bank Transfer.                             |

Os nomes de aplicação são identificadores de produto, não rótulos de exibição na UI. Não use nomes fora deste catálogo, a menos que seu ambiente tenha adicionado explicitamente essa aplicação e o conjunto de permissões dela.

<Note>
  O Identity filtra aplicações internas da lista pública de aplicações. No modo multi-tenant, ele também retorna apenas as aplicações vinculadas à organização tenant do chamador.
</Note>

### Escopo de tenant

Em deployments multi-tenant, o Identity usa o contexto autenticado como o limite de tenant para as operações de gerenciamento:

* as operações de usuário se aplicam à organização tenant do chamador;
* as listas de grupos incluem apenas os grupos de permissão disponíveis nesse tenant;
* as listas de aplicações incluem apenas as aplicações máquina-a-máquina vinculadas a esse tenant;
* as credenciais de aplicação criadas para uma integração pertencem ao tenant que as criou.

Isso mantém o acesso operacional local ao tenant. Um token de administrador de um tenant não consegue listar nem alterar usuários, grupos ou aplicações de outro tenant pelas APIs públicas do Identity.

## Provedores de comunicação

***

Os provedores de comunicação definem os serviços de entrega de email ou SMS disponíveis para as aplicações, incluindo fluxos de MFA. Eles são gerenciados separadamente das aplicações para que o mesmo provider possa ser reutilizado e controlado de forma consistente.

O Identity suporta:

* listar providers;
* criar providers;
* recuperar detalhes de provider;
* atualizar providers;
* excluir providers.

O Identity também suporta vínculos entre aplicações e providers:

* listar os providers vinculados a uma aplicação;
* vincular um provider a uma aplicação;
* atualizar um vínculo de provider;
* desvincular um provider de uma aplicação;
* definir o provider padrão de uma aplicação.

Use um provider padrão quando uma aplicação tem mais de um provider vinculado e precisa de uma rota de autenticação preferencial.

## Gerenciamento de MFA

***

O Identity gerencia a configuração de MFA dos usuários. O Auth usa essa configuração durante o login quando o MFA é exigido.

O Identity suporta:

* iniciar a configuração de MFA;
* verificar um passcode de MFA durante a configuração;
* habilitar o MFA após a verificação;
* desabilitar o MFA;
* recuperar o status atual do MFA;
* definir o método de MFA preferencial.

O MFA pode usar métodos suportados como aplicativo autenticador, e-mail ou SMS, dependendo da configuração do ambiente e dos dados de perfil do usuário disponíveis.

## Arquitetura e fluxo de identidade

***

<Frame caption="Figura 1. Fluxo do Identity">
  <img src="https://mintcdn.com/lerian-49cb71fc/ZrZBZTM4DWnrahSd/images/pt/d2/identity-flow.svg?fit=max&auto=format&n=ZrZBZTM4DWnrahSd&q=85&s=26987fe87c2721c783bef187449798bb" alt="Arquitetura de identidade mostrando como o plugin de identidade gerencia os perfis de usuário e os métodos de MFA ao longo do fluxo de autenticação" width="1402" height="394" data-path="images/pt/d2/identity-flow.svg" />
</Frame>

1. **Requisição de gerenciamento**
   * Um administrador ou cliente autorizado chama uma API do Identity.
   * A requisição é autenticada e verificada contra as permissões do Access Manager.
2. **Processamento da requisição**
   * O Identity valida o payload e aplica a operação solicitada.
   * O serviço atualiza usuários, grupos, aplicações, providers, vínculos de provider ou configuração de MFA no sistema de identidade configurado.
3. **Uso em tempo de execução**
   * O Auth lê os dados de identidade resultantes durante os fluxos de token, permissão e MFA.
   * Os produtos Lerian protegidos dependem das decisões do Auth antes de processar operações de produto.

## Visão geral da API

***

O Identity expõe APIs para:

* usuários;
* grupos;
* aplicações;
* providers;
* vínculos entre aplicações e providers;
* configuração e gerenciamento de MFA;
* fluxos de redefinição e atualização de senha.

O acesso é protegido por controles rígidos de permissão. Para detalhes técnicos, consulte a documentação das [APIs do Identity](/pt/reference/access-manager/am-identity-apis).
