Interfaces resilientes com processos externos usando o Azure AD B2C
Neste artigo, encontre orientações sobre como planejar e implementar as APIs RESTful para tornar seu aplicativo mais resiliente a falhas de API.
Garantir o posicionamento correto da API
Use as políticas do IEF (Identity Experience Framework) para chamar um sistema externo usando um perfil técnico da API RESTful. O ambiente de runtime do IEF não controla sistemas externos, o que é um possível ponto de falha.
Gerenciar sistemas externos usando APIs
Ao chamar uma interface para acessar determinados dados, confirme se os dados impulsionam a decisão de autenticação. Avalie se as informações são essenciais para a funcionalidade do aplicativo. Por exemplo, um comércio eletrônico versus uma funcionalidade secundária, como uma administração. Se as informações não forem necessárias para a autenticação, considere mover a chamada para a lógica do aplicativo.
Se os dados de autenticação forem relativamente estáticos e pequenos e não forem externalizados, coloque-os no diretório.
Quando possível, remova as chamadas de API do caminho pré-autenticado. Se não puder, então habilite proteções para negação de serviço (DoS) e ataques de DDoS (negação de serviço distribuída) para APIs. Invasores podem carregar a página de logon e tentar inundar sua API com ataques DoS para desabilitar seu aplicativo. Por exemplo, use o teste de Turing público completamente automatizado para diferenciar computadores e humanos (CAPTCHA) em seu fluxo de entrada e inscrição.
Use conectores de API de fluxos de usuário de inscrição para se integrar às APIs Web depois de federar com um provedor de identidade, durante a inscrição ou antes de criar o usuário. Como os fluxos de usuário são testados, você não precisa executar testes funcionais, de desempenho ou de escala no nível de fluxo do usuário. Teste seus aplicativos quanto à funcionalidade, desempenho e escala.
Os perfis técnicos da API RESTful do Azure AD B2C não fornecem nenhum comportamento de cache. Em vez disso, o perfil da API RESTful implementa uma lógica de nova tentativa e um tempo limite integrado à política.
Para APIs que precisam gravar dados, use uma tarefa para que essas ações sejam executadas por um trabalhador em segundo plano. Use serviços como filas do Azure. Essa prática faz com que a API retorne com eficiência e aumente o desempenho de execução da política.
Erros de API
Como as APIs vivem fora do sistema Azure AD B2C, permita o tratamento de erros no perfil técnico. Certifique-se de que os usuários sejam informados e que o aplicativo possa lidar com falhas normalmente.
Tratamento de erros de API
Como as APIs falham por vários motivos, torne seu aplicativo resiliente. Retorne uma mensagem de erro HTTP 4XX se a API não puder concluir a solicitação. Na política do Azure AD B2C, tente tratar a indisponibilidade da API e, talvez, renderizar uma experiência reduzida.
Tratar erros transitórios normalmente. Use o perfil da API RESTful permite configurar mensagens de erro para vários disjuntores.
Monitore e use a CICD (integração contínua e entrega contínua). Gire as credenciais de acesso à API, como senhas e certificados usados pelo mecanismo de perfil técnico .
Melhores práticas do gerenciamento de APIs
Ao implantar as APIs REST e configurar o perfil técnico RESTful, use as práticas recomendadas a seguir para evitar erros comuns.
Gerenciamento da API
O Gerenciamento de API (APIM) publica, gerencia e analisa as APIs. O APIM processa a autenticação para acesso seguro aos serviços de back-end e aos microsserviços. Use um gateway de API para expandir as implantações de API, o cache e o balanceamento de carga.
Nossa recomendação é obter o token correto, em vez de chamar várias vezes para cada API e proteger uma API de APIM do Azure.