Pular para o conteúdo principal
Access Manager cuida da autenticação e da autorização dos produtos Lerian. A autenticação responde quem faz uma requisição. A autorização responde o que ele tem permissão de fazer. Access Manager é a camada de controle de acesso da Lerian para nossos produtos e plugins. Em vez de embutir identidade e permissões em cada produto, você pode gerenciá-las em um só lugar: quem são seus usuários, quais tokens eles carregam e o que esses tokens alcançam. Quando um produto configura a aplicação no nível da rota e seu cliente Auth está habilitado, o Auth avalia o recurso e a ação solicitados antes de o handler do produto rodar. Nos produtos que leem AUTH_REQUIRED, defina AUTH_REQUIRED=true quando as requisições devem ser recusadas caso o cliente Auth esteja desabilitado ou mal configurado. Controle de acesso no nível do produto lista esses produtos. Dois serviços fazem o trabalho, e os produtos protegidos se conectam a eles no nível da rota:
  • Auth cuida do lado ativo do acesso: emitir e renovar tokens, validar sessões, verificar permissões, tratar logout e informações do usuário, e executar desafios de MFA.
  • Identity guarda os dados por trás dessas decisões: usuários, grupos, applications, provedores de comunicação, vínculos entre application e provedor, e configuração de MFA.
Em uma rota protegida cujo cliente Auth do produto está habilitado e configurado, o produto envia o subject, o recurso e a ação para o Auth antes de a lógica de negócio rodar. Um operador de back-office em um grupo como midaz-viewer-group consegue ler os dados do Midaz, mas não consegue alterá-los. Uma integração de serviço recebe acesso conforme o subject M2M efetivo dela. Por padrão, tokens que não são de usuário usam admin/<product>-editor-role.

Por que usar o Access Manager?


Use o Access Manager quando você quiser controle de acesso nativo e refinado nos produtos Lerian, em vez de montar algo produto a produto. Ele permite:
  • gerenciar usuários humanos e os grupos de produto que definem o acesso deles
  • criar applications máquina a máquina para integrações de serviço
  • aplicar permissões até o nível do recurso e da ação, como reports:get, templates:post ou accounts:patch
  • usar um único modelo de controle de acesso em cada produto Lerian que você roda
  • manter as APIs dos produtos protegidas por bearer tokens e verificações no nível da rota.
Como ele se encaixa na sua stack depende de como você faz o deploy:
  • Em deploys SaaS, ele é a camada de acesso da plataforma. As claims do JWT carregam o subject autenticado e o contexto de tenant em que a plataforma se apoia.
  • Em deploys BYOC, você talvez já rode o seu próprio provedor de identidade. O Access Manager ainda pode adicionar autorização nativa da Lerian e credenciais de aplicação onde você precisar desse controle.
Se você quiser saber mais ou avaliar o Access Manager para o seu caso de uso, fale com o nosso time.

Especificações técnicas


O que vem pronto:
  • APIs REST para as operações do Auth e do Identity.
  • Configurações do Lerian Console para a gestão visual de usuários e applications com suporte.
  • Aplicação da autorização no nível do produto para APIs HTTP protegidas.
  • Configuração do cliente Auth por produto para a aplicação da autorização no nível da rota.
  • Fluxos de token OAuth2/OIDC para acesso por senha e por client credentials.
  • Login com passkey para contas de usuário.
  • Suporte a MFA nos fluxos de autenticação de usuário.
  • Cache em Valkey para operações de token, de permissão e relacionadas a MFA.
  • RBAC alinhado aos recursos, ações, grupos e applications máquina a máquina do produto.

Bootstrap e operação


O Access Manager tem duas camadas de ciclo de vida distintas: O bootstrap é o que popula um ambiente recém-criado. Depois que esse ambiente sobe, ele deixa de ser o lugar onde você faz mudanças. Para o passo a passo do operador que deixa o Auth e o Identity prontos antes de qualquer produto aplicar o controle de acesso, veja Instalando o Access Manager. Daí em diante, gerencie o acesso pelas APIs do Identity ou pelo Lerian Console. O Console cobre o trabalho diário com usuários e applications: criar usuários, atribuir grupos, atualizar senhas e criar applications máquina a máquina. As APIs do Identity dão a superfície operacional completa, incluindo provedores, vínculos entre application e provedor, e MFA. Entregue as mudanças em recursos, ações, papéis e conjuntos de permissões nativos por atualizações controladas da plataforma, como migrações ou um conciliador idempotente. Não edite os dados de seed do bootstrap para mudar o acesso em um ambiente em execução.

Comportamento de tenant na Lerian Cloud


Na Lerian Cloud, o tenant faz parte da identidade de quem chama. Os clientes nunca enviam a posse do tenant em payloads, parâmetros de query ou headers. Isso molda o comportamento em três pontos:
  • Gestão de identidade: as APIs de usuário, grupo e application retornam apenas registros da organização do tenant do chamador.
  • Autenticação: os fluxos de senha e de refresh token mantêm o tratamento do token no escopo do tenant que o contexto do usuário carrega.
  • Autorização: as verificações de permissão avaliam apenas os grupos, papéis e permissões de application que pertencem ao tenant resolvido.
Deploys single-tenant pulam tudo isso e recorrem à organização padrão configurada.
Não reutilize um token de um tenant para gerenciar usuários, applications ou permissões em outro. O Access Manager limita essas operações ao contexto autenticado.

Casos de uso


O Access Manager serve para cenários como:
  • Times que querem autenticação e autorização nativas nos produtos Lerian.
  • Organizações sem uma solução de IAM já existente.
  • Times que já rodam um provedor de identidade mas ainda precisam de autorização no nível do produto.
  • Integrações que dependem de acesso máquina a máquina seguro.
  • Deploys com vários produtos que precisam de um modelo de acesso consistente para usuários, serviços e tenants.
Explore a API do Access Manager. Navegue pelos endpoints de usuários, grupos, applications e permissões.