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 políticas de estrutura de experiência de identidade (IEF) para chamar um sistema externo usando um perfil técnico de API RESTful. O ambiente de tempo de execução do IEF não controla sistemas externos, o que é um ponto de falha potencial.
Gerenciar sistemas externos usando APIs
Ao chamar uma interface para acessar determinados dados, confirme se os dados direcionam a decisão de autenticação. Avalie se as informações são essenciais para a funcionalidade do aplicativo. Por exemplo, um e-commerce versus uma funcionalidade secundária, como uma administração. Se as informações não forem necessárias para autenticação, considere mover a chamada para a lógica do aplicativo.
Se os dados para autenticação forem relativamente estáticos e pequenos, e não deverem ser externalizados, coloque-os no diretório.
Quando possível, remova as chamadas de API do caminho pré-autenticado. Se não for possível, habilite as proteções para ataques de negação de serviço (DoS) e negação de serviço distribuída (DDoS) para APIs. Os atacantes podem carregar a página de início de sessão e tentar inundar a sua API com ataques DoS para desativar a sua aplicação. Por exemplo, use o Teste de Turing Público Completamente Automatizado para Diferenciar Computadores e Humanos (CAPTCHA) em seu fluxo de login e inscrição.
Use conectores de API de fluxos de usuário de inscrição para integrar com APIs da 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, não é necessário executar testes funcionais, de desempenho ou de escala no nível de fluxo do usuário. Teste seus aplicativos quanto à funcionalidade, desempenho e escalabilidade.
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 repetição e um tempo limite incorporado à 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 de forma eficiente e aumente o desempenho de execução da política.
Erros de API
Como as APIs vivem fora do sistema Azure AD B2C, habilite o tratamento de erros no perfil técnico. Certifique-se de que os usuários estejam informados e que o aplicativo possa lidar com falhas normalmente.
Manipular 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 conseguir concluir a solicitação. Na política do Azure AD B2C, tente lidar com a indisponibilidade da API e talvez renderizar uma experiência reduzida.
Lide com erros transitórios graciosamente. Use o perfil da API RESTful para configurar mensagens de erro para vários disjuntores.
Monitorar e usar integração contínua e entrega contínua (CICD). Gire as credenciais de acesso à API, como senhas e certificados usados pelo mecanismo de perfil técnico.
Práticas recomendadas de gerenciamento de API
Ao implantar as APIs REST e configurar o perfil técnico RESTful, use as seguintes práticas recomendadas para evitar erros comuns.
Gestão de API
O Gerenciamento de API (APIM) publica, gerencia e analisa APIs. O APIM lida com a autenticação para acesso seguro a serviços de back-end e microsserviços. Use um gateway de API para dimensionar implantações de API, cache e balanceamento de carga.
Nossa recomendação é obter o token certo, em vez de chamar várias vezes para cada API e proteger uma API do Azure APIM.