Modelo de aplicativo
Os aplicativos podem autenticar os próprios usuários ou delegar a autenticação a um provedor de identidade. Este artigo discute as etapas necessárias para registrar um aplicativo na plataforma de identidade da Microsoft.
Registrar um aplicativo
Para que um provedor de identidade saiba que um usuário tem acesso a um aplicativo específico, o usuário e o aplicativo devem ser registrados com o provedor de identidade. Ao registrar seu aplicativo com a ID do Microsoft Entra, você está fornecendo uma configuração de identidade para seu aplicativo que permite que ele se integre à plataforma de identidade da Microsoft. Registrar o aplicativo também permite que você:
- Personalize a identidade visual do aplicativo na caixa de diálogo de entrada. Essa identidade visual é importante porque entrar é a primeira experiência que um usuário terá com seu aplicativo.
- Decida se deseja permitir que os usuários entrem somente se eles pertencem à sua organização. Essa arquitetura é conhecida como um aplicativo de locatário único. Ou você pode permitir que os usuários façam login usando qualquer conta corporativa ou de estudante, que é conhecida como um aplicativo multitenant. Você também pode permitir contas pessoais da Microsoft ou uma conta social do LinkedIn, google e assim por diante.
- Solicitar permissões de escopo. Por exemplo, você pode solicitar o escopo "user.read", que concede permissão para ler o perfil do usuário conectado.
- Defina escopos que definem o acesso à sua API Web. Normalmente, quando um aplicativo deseja acessar sua API, ele precisará solicitar permissões para os escopos definidos.
- Compartilhe um segredo com a plataforma de identidade da Microsoft que prove a identidade do aplicativo. O uso de um segredo é relevante no caso em que o aplicativo é um aplicativo cliente confidencial. Um aplicativo cliente de confidencial é um aplicativo que pode conter credenciais com segurança, como um cliente Web . Um servidor de back-end confiável é necessário para armazenar as credenciais.
Depois que o aplicativo é registrado, ele recebe um identificador exclusivo que compartilha com a plataforma de identidade da Microsoft quando solicita tokens. Se o aplicativo for um aplicativo cliente confidencial, ele também compartilhará o segredo ou a chave pública, dependendo se certificados ou segredos foram usados.
A plataforma de identidade da Microsoft representa aplicativos usando um modelo que atende a duas funções principais:
- Identifique o aplicativo pelos protocolos de autenticação aos quais ele dá suporte.
- Forneça todos os identificadores, URLs, segredos e informações relacionadas necessárias para autenticação.
A plataforma de identidade da Microsoft:
- Mantém todos os dados necessários para dar suporte à autenticação em runtime.
- Contém todos os dados para decidir quais recursos um aplicativo pode precisar acessar e em que circunstâncias uma determinada solicitação deve ser atendida.
- Fornece infraestrutura para implementação do provisionamento de aplicativos dentro do locatário do desenvolvedor do aplicativo e em qualquer outro locatário do Microsoft Entra.
- Lida com o consentimento do usuário durante o tempo de solicitação de token e facilita o provisionamento dinâmico de aplicativos entre locatários.
Consentimento é o processo do proprietário de recurso concedendo autorização para um aplicativo cliente acessar recursos protegidos, sob permissões específicas, em nome do proprietário do recurso. A plataforma de identidade da Microsoft habilita:
- Usuários e administradores concedem ou negam dinamicamente o consentimento para que o aplicativo acesse recursos em seu nome.
- Os administradores finalmente decidem quais aplicativos têm permissão para fazer e quais usuários podem usar aplicativos específicos e como os recursos de diretório são acessados.
Aplicativos multilocatários
Importante
Os MTAs (aplicativos multilocatários) não funcionam entre limites de nuvem devido à segregação de autoridades de entidade de serviço em cada nuvem. Por exemplo, se o objeto de aplicativo estiver hospedado na nuvem comercial, a entidade de serviço associada será criada localmente durante a integração do cliente. Esse processo falha ao cruzar limites de nuvem porque as URLs de autoridade diferem (por exemplo, .com
versus .us
), causando uma incompatibilidade.
Na plataforma de identidade da Microsoft, um objeto de aplicativo descreve um aplicativo. No momento da implantação, a plataforma de identidade da Microsoft usa um objeto de aplicativo como um blueprint para criar uma entidade de serviço, que representa uma instância concreta de um aplicativo em um diretório ou um locatário. A entidade de serviço define o que o aplicativo pode realmente fazer em um diretório de destino específico, quem pode usá-lo, a quais recursos ele tem acesso e assim por diante. A plataforma de identidade da Microsoft cria um principal de serviço de um objeto de aplicativo por meio do consentimento.
O diagrama a seguir mostra um fluxo de provisionamento simplificado da plataforma de identidade da Microsoft orientado pelo consentimento. Ele mostra dois locatários: A e B.
- O locatário A possui o aplicativo.
- O locatário B está instanciando o aplicativo por meio de uma entidade de serviço.
Neste fluxo de provisionamento:
- Um usuário do locatário B tenta entrar com o aplicativo. O endpoint de autorização solicita um token para uso no aplicativo.
- As credenciais do usuário são adquiridas e verificadas para autenticação.
- O usuário é solicitado a fornecer consentimento para que o aplicativo obtenha acesso ao locatário B.
- A plataforma de identidade da Microsoft usa o objeto de aplicativo no locatário A como um blueprint para criar uma entidade de serviço no locatário B.
- O usuário recebe o token solicitado.
Você pode repetir esse processo para mais locatários. O locatário A retém o blueprint para o aplicativo (objeto de aplicativo). Os usuários e os administradores de todos os outros locatários nos quais o aplicativo recebe consentimento mantêm o controle sobre o que o aplicativo pode fazer por meio do objeto de entidade de serviço correspondente em cada locatário. Para obter mais informações, consulte objetos principais de aplicativo e de serviço na plataforma de identidade da Microsoft.
Próximas etapas
Para obter mais informações sobre autenticação e autorização na plataforma de identidade da Microsoft, consulte os seguintes artigos:
- Para saber mais sobre os conceitos básicos de autenticação e autorização, consulte Authentication vs. authorization.
- Para saber como os tokens de acesso, de atualização e de ID são usados na autorização e na autenticação, consulte Token de segurança.
- Para saber mais sobre o fluxo de entrada de aplicativos Web, de desktop e móveis, consulte Fluxo de entrada do aplicativo.
- Para saber mais sobre como usar a autorização adequada por meio de declarações de token, consulte Proteger aplicativos e APIs validando declarações
Para obter mais informações sobre o modelo de aplicativo, consulte os seguintes artigos:
- Para obter mais informações sobre objetos de aplicativo e entidades de serviço na plataforma de identidade da Microsoft, consulte Como e por que os aplicativos são adicionados à ID do Microsoft Entra.
- Para obter mais informações sobre aplicativos de locatário único e aplicativos de locatário múltiplo, consulte Tenancy no Microsoft Entra ID.
- Para obter mais informações sobre como o Microsoft Entra ID também fornece o Azure Active Directory B2C para que as organizações possam conectar usuários, normalmente clientes, usando identidades sociais como uma conta do Google, consulte documentação do Azure Active Directory B2C.