> ## 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.

# Requisitos de deploy da MFA (BYOC)

> Configure a proteção da sessão de MFA, os limites de desafios e a entrega por email em um deploy BYOC.

Esta página diz a um operador BYOC o que configurar antes que os usuários habilitem a [autenticação multifator](/pt/platform/access-manager/features/mfa/overview).

<Note>
  Esta página vale apenas para deploys BYOC. Na Lerian Cloud, a Lerian opera essa configuração para você.
</Note>

## Proteger as sessões de MFA

***

Defina `auth.secrets.MFA_SECRET` nos valores do Helm do Access Manager. O chart a expõe ao Auth como `MFA_SECRET`.

O Auth usa esse segredo para assinar tokens de sessão de MFA de curta duração. Esses tokens conectam o primeiro fator de entrada verificado ao desafio de MFA.

Defina `MFA_ENABLED=true` no ambiente do processo Auth para exigir um `MFA_SECRET` não vazio na inicialização. O Auth se recusa a iniciar se o segredo estiver vazio. Essa validação de inicialização não habilita nem desabilita a MFA de usuários individuais; `MFA_ENABLED=false` não dispensa a exigência de MFA desses usuários.

<Warning>
  Configure `MFA_SECRET` antes que os usuários habilitem a MFA. Se o valor estiver vazio, o Auth não conseguirá criar o token de MFA necessário para continuar uma entrada com MFA habilitada.
</Warning>

Injete o valor a partir de um cofre de segredos. Não o inclua em um arquivo de valores versionado.

## Configurar os limites de sessão e de tentativas

***

O deploy do Auth aceita estas variáveis:

| Variável                  | Padrão | Finalidade                                                                                                           |
| ------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------- |
| `MFA_SESSION_TTL_SEC`     | `300`  | Duração da sessão curta de entrada com MFA, em segundos.                                                             |
| `MFA_MAX_ATTEMPTS`        | `5`    | Número máximo de tentativas de verificação permitidas por usuário dentro da janela do contador.                      |
| `MFA_MAX_RESEND_ATTEMPTS` | `3`    | Número máximo de envios de desafios por email permitidos por usuário e método de email dentro da janela do contador. |

Sessões curtas reduzem o período em que um token de MFA roubado é útil. As requisições de verificação contam apenas depois de passar pelas validações de entrada, token, sessão, organização e IP. O contador de verificações por usuário expira após `MFA_SESSION_TTL_SEC` sem outra requisição contabilizada; cada requisição contabilizada renova esse prazo. O contador de reenvios é por usuário e método, com uma janela de `MFA_SESSION_TTL_SEC` a partir da primeira reserva. Envios que falham liberam a reserva. Uma verificação bem-sucedida limpa ambos os contadores. Reiniciar a entrada não os redefine. Os limites de tentativas e reenvios reduzem as tentativas repetidas de adivinhar códigos e o abuso na entrega de mensagens.

## Configurar a entrega por email

***

A MFA por email precisa de:

* um provedor de comunicação por email no Identity.
* um vínculo entre o provedor e a aplicação que envia as mensagens de MFA.
* um endereço de email na conta do usuário.

Use as operações de provedor e de provedor da aplicação descritas em [APIs do Identity](/pt/reference/platform/access-manager/am-identity-apis).

## Validar o deploy

***

<Steps>
  <Step title="Habilite um aplicativo autenticador para um usuário de teste">
    Conclua a configuração e guarde os códigos de recuperação emitidos.
  </Step>

  <Step title="Saia e entre de novo">
    Confirme que o Auth retorna a etapa de MFA depois do primeiro fator.
  </Step>

  <Step title="Verifique um código de acesso válido">
    Digite o código atual do aplicativo autenticador. Espere a sessão normal do usuário.
  </Step>

  <Step title="Verifique a expiração">
    Inicie a entrada novamente e espere mais do que `MFA_SESSION_TTL_SEC`. Espere que a sessão de MFA expire.
  </Step>

  <Step title="Teste os métodos de entrega configurados">
    Habilite o email para o usuário de teste. Solicite um desafio e confirme que a mensagem chega ao endereço salvo.
  </Step>

  <Step title="Teste um código de recuperação">
    Entre com um código de recuperação e confirme que o mesmo código não pode ser usado de novo.
  </Step>
</Steps>

Não rode testes de limite com um usuário de produção. Tentativas inválidas repetidas podem bloquear temporariamente a verificação de MFA desse usuário.

## Páginas relacionadas

***

<Columns cols={2}>
  <Card title="Conclua a MFA no Console" icon="desktop" href="/pt/platform/access-manager/features/mfa/console">
    Teste a verificação de códigos de acesso e de recuperação durante a entrada.
  </Card>

  <Card title="Gerencie a MFA pela API" icon="code" href="/pt/platform/access-manager/features/mfa/api">
    Integre a adesão da conta e a verificação da entrada.
  </Card>
</Columns>
