Use uma plataforma de identidade como serviço

Quase todos os aplicativos em nuvem precisam trabalhar com identidades de usuários. A identidade é a base das práticas de segurança modernas, como a confiança zero, e a identidade do usuário para aplicativos é uma parte crítica da arquitetura da sua solução.

Para a maioria das soluções, é altamente recomendável usar uma plataforma IDaaS (Identidade como serviço), que é uma solução de identidade hospedada e gerenciada por um provedor especializado, em vez de criar ou operar sua própria plataforma. Neste artigo, descrevemos os desafios de criar ou executar seu próprio sistema de identidade.

Recomendações

Importante

Usando um IDaaS, como o Microsoft Entra ID, o Azure AD B2C ou outro sistema semelhante, você pode atenuar muitos dos problemas descritos neste artigo. Recomendamos essa abordagem sempre que possível.

Seus requisitos de solução podem levá-lo a usar uma estrutura ou solução de identidade pronta para uso que você hospeda e executa por conta própria. Embora o uso de uma plataforma de identidade pré-criada atenue alguns dos problemas descritos neste artigo, lidar com muitos desses problemas ainda é sua responsabilidade com essa solução.

Você deve evitar usar um sistema de identidade criado do zero.

Evite armazenar credenciais

Ao executar seu próprio sistema de identidade, você precisa armazenar um banco de dados de credenciais.

Você nunca deve armazenar credenciais em texto não criptografado ou mesmo como dados criptografados. Em vez disso, você pode considerar criptograficamente credenciais de hashing e salting antes de armazená-las, o que as torna mais difíceis de atacar. No entanto, mesmo credenciais com hashing e salting são vulneráveis a vários tipos de ataque.

Independentemente de como você protege as credenciais individuais, manter um banco de dados de credenciais faz com que você seja um alvo para ataques. Os últimos anos mostraram que grandes e pequenas organizações tiveram seus bancos de dados de credenciais como alvo de ataques.

Considere o armazenamento de credenciais como um passivo, não um ativo. Ao usar um IDaaS, você terceiriza o problema do armazenamento de credenciais para especialistas que podem investir tempo e recursos no gerenciamento seguro de credenciais.

Implementar protocolos de identidade e federação

Os protocolos de identidade modernos são complexos. Especialistas do setor projetaram o OAuth 2, o OpenID Connect e outros protocolos para garantir que eles reduzam ataques e vulnerabilidades do mundo real. Os protocolos também evoluem para se adaptar às mudanças nas tecnologias, estratégias de ataque e expectativas do usuário. Especialistas em identidade, com experiência nos protocolos e como eles são usados, estão na melhor posição para implementar e validar sistemas que seguem esses protocolos. Para obter mais informações sobre os protocolos e a plataforma, consulte OAuth 2.0 e OpenID Connect (OIDC) na plataforma de identidade da Microsoft.

Também é comum federar sistemas de identidade. Os protocolos de federação de identidade são complexos de estabelecer, gerenciar e manter, e exigem conhecimento e experiência especializados. Normalmente, os provedores de IDaaS oferecem recursos de federação em seus produtos para você usar. Para obter mais informações sobre federação, consulte o Padrão de identidade federada.

Adotar recursos de identidade modernos

Os usuários esperam que um sistema de identidade tenha uma variedade de recursos avançados, incluindo:

  • Autenticação sem senha, que usa abordagens seguras para entrar que não exigem que os usuários insiram credenciais. As chaves de acesso são um exemplo de tecnologia de autenticação sem senha.

  • SSO (logon único), que permite que os usuários entrem usando uma identidade de seu empregador, escola ou outra organização.

  • MFA (autenticação multifator), que solicita que os usuários se autentiquem de várias maneiras. Por exemplo, um usuário pode entrar usando uma senha e também usando um aplicativo autenticador em um dispositivo móvel ou um código enviado por email.

  • Auditoria, que controla todos os eventos que acontecem na plataforma de identidade, incluindo tentativas de entrada bem-sucedidas, com falha e anuladas. O exame forense de uma tentativa de login requer posteriormente esses registros detalhados.

  • Acesso condicional, que cria um perfil de risco em torno de uma tentativa de entrada baseada em vários fatores. Os fatores podem incluir a identidade do usuário, o local da tentativa de login, a atividade de login anterior e a sensibilidade dos dados ou do aplicativo que o usuário está tentando acessar.

  • Controle de acesso just-in-time, que permite temporariamente que os usuários entrem, com base em um processo de aprovação e, em seguida, remove a autorização automaticamente.

Se você mesmo estiver criando um componente de identidade como parte de sua solução de negócios, é improvável que consiga justificar o trabalho envolvido na implementação desses recursos, e na manutenção deles. Alguns desses recursos também exigem trabalho extra, como integração com provedores de mensagens para enviar códigos MFA e armazenamento e retenção de logs de auditoria por um período suficiente.

As plataformas IDaaS também podem fornecer um conjunto aprimorado de recursos de segurança baseados no volume de solicitações de entrada que recebem. Por exemplo, os seguintes recursos funcionam melhor quando há um grande número de clientes que usam uma única plataforma de identidade:

  • Detecção de eventos de entrada arriscados, como tentativas de entrada de botnets
  • Detecção de viagem impossível entre as atividades de um usuário
  • Detecção de credenciais comuns, como senhas que são usadas com frequência por outros usuários, que estão, portanto, sujeitas a um risco elevado de comprometimento
  • Uso de técnicas de aprendizado de máquina para classificar tentativas de entrada como válidas ou inválidas
  • Monitoramento da chamada dark web para vazamento de credenciais e prevenção de sua exploração
  • Monitoramento contínuo do cenário de ameaças e dos vetores atuais que os invasores usam

Se você criar ou executar seu próprio sistema de identidade, não poderá aproveitar esses recursos.

Use um sistema de identidade confiável e de alto desempenho

Como os sistemas de identidade são uma parte fundamental dos aplicativos de nuvem modernos, eles devem ser confiáveis. Se o sistema de identidade não estiver disponível, o restante da solução poderá ser afetado e operar de forma degradada ou deixar de operar. Usando um IDaaS com um contrato de nível de serviço, você pode aumentar sua confiança de que seu sistema de identidade permanecerá operacional quando você precisar. Por exemplo, o Microsoft Entra ID oferece um SLA para tempo de atividade para as camadas de serviço Básico e Premium, que abrange os processos de entrada e emissão de token. Para mais informações, consulte Contratos de Nível de Serviço (SLA) para Serviços Online.

Da mesma forma, um sistema de identidade deve ter um bom desempenho e ser capaz de ser dimensionado para o nível de crescimento que seu sistema pode experimentar. Dependendo da arquitetura do aplicativo, é possível que cada solicitação exija interação com o sistema de identidade, e quaisquer problemas de desempenho serão aparentes para os usuários. Os provedores de IDaaS são incentivados a dimensionar suas plataformas para acomodar grandes cargas de usuários. Eles são projetados para absorver grandes volumes de tráfego, incluindo tráfego gerado por diferentes formas de ataques.

Teste sua segurança e aplique controles rígidos

Se você executar um sistema de identidade, é sua responsabilidade mantê-lo seguro. Exemplos dos controles que você precisa considerar a implementação incluem:

  • Testes de penetração periódicos, que exigem conhecimentos especializados.
  • Verificação de funcionários e qualquer outra pessoa com acesso ao sistema.
  • Controle rígido de todas as alterações em sua solução com todas as alterações revisadas por especialistas.

Esses controles geralmente são caros e difíceis de implementar.

Usar controles de segurança nativos da nuvem

Ao usar o Microsoft Entra ID como provedor de identidade da sua solução, você pode aproveitar os recursos de segurança nativos da nuvem, como identidades gerenciadas para recursos do Azure.

Se você optar por usar uma plataforma de identidade separada, precisará considerar como seu aplicativo pode aproveitar as identidades gerenciadas e outros recursos do Microsoft Entra e, ao mesmo tempo, integrar-se à sua própria plataforma de identidade.

Concentre-se no seu valor principal

É caro e complexo manter uma plataforma de identidade segura, confiável e responsiva. Na maioria das situações, um sistema de identidade não é um componente que agrega valor à sua solução ou que o diferencia de seus concorrentes. É bom terceirizar seus requisitos de identidade para um sistema criado por especialistas. Dessa forma, você pode se concentrar em projetar e criar os componentes de sua solução que agregam valor comercial para seus clientes.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

Outros colaboradores:

  • Jelle Druyts | Engenheiro principal de atendimento ao cliente, FastTrack for Azure
  • LaBrina Loving | Gerenciador de Engenharia de Clientes Principal do FastTrack para Azure
  • Gary Moore | Programador/escritor
  • Arsen Vladimirskiy | Engenheiro principal de atendimento ao cliente, FastTrack for Azure

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas