Share via


Identidade nativa de nuvem

Dica

Esse conteúdo é um trecho do livro eletrônico, para Projetar os Aplicativos .NET nativos de nuvem para o Azure, disponível no .NET Docs ou como um PDF para download gratuito que pode ser lido offline.

Cloud Native .NET apps for Azure eBook cover thumbnail.

A maioria dos aplicativos de software precisa ter algum conhecimento do usuário ou processo que os está chamando. O usuário ou o processo de interação com um aplicativo é conhecido como uma entidade de segurança, e o processo de autenticação e autorização dessas entidades de segurança é conhecido como gerenciamento de identidade ou simplesmente identidade. Os aplicativos simples podem incluir todo o gerenciamento de identidade no aplicativo, mas essa abordagem não é bem dimensionada com muitos aplicativos e muitos tipos de entidades de segurança. O Windows dá suporte ao uso do Active Directory para fornecer autenticação e autorização centralizadas.

Embora essa solução seja eficaz em redes corporativas, ela não foi projetada para uso por usuários ou aplicativos que estão fora do domínio do AD. Com o crescimento de aplicativos baseados na Internet e a ascensão de aplicativos nativos de nuvem, os modelos de segurança evoluíram.

No modelo de identidade nativo de nuvem de hoje, a arquitetura é considerada distribuída. Os aplicativos podem ser implantados em qualquer lugar e podem se comunicar com outros aplicativos em qualquer lugar. Os clientes podem se comunicar com esses aplicativos de qualquer lugar e, de fato, os clientes podem consistir em qualquer combinação de plataformas e dispositivos. As soluções de identidade nativas de nuvem usam padrões abertos para obter dos clientes acesso seguro a aplicativos. Esses clientes vão desde usuários humanos em computadores ou telefones a outros aplicativos hospedados em qualquer lugar online e até decodificadores de sinais e dispositivos IOT executando qualquer plataforma de software em qualquer lugar do mundo.

As soluções de identidade nativas de nuvem modernas normalmente usam tokens de acesso emitidos por um servidor/serviço de token de segurança (STS) para uma entidade de segurança depois que a identidade delas é determinada. O token de acesso, normalmente um JWT (Token Web JSON), inclui declarações sobre a entidade de segurança. Essas declarações incluirão minimamente a identidade do usuário, mas também podem incluir outras declarações que podem ser usadas por aplicativos a fim de determinar o nível de acesso para conceder a entidade de segurança.

Normalmente, o STS é responsável apenas pela autenticação da entidade de segurança. A determinação do nível de acesso aos recursos é deixada para outras partes do aplicativo.

Referências