Objetos do principal de serviço e aplicação no Azure Active Directory

Este artigo descreve o registo de aplicações, objetos de aplicação e principais de serviço no Azure Active Directory (Azure AD): o que são, como são utilizados e como estão relacionados entre si. É também apresentado um cenário de exemplo multi-inquilino para ilustrar a relação entre o objeto de aplicação de uma aplicação e os objetos do principal de serviço correspondentes.

Registo da aplicação

Para delegar funções de gestão de identidades e acessos a Azure AD, uma aplicação tem de ser registada num inquilino Azure AD. Quando regista a sua aplicação com Azure AD, está a criar uma configuração de identidade para a sua aplicação que lhe permite integrar com Azure AD. Quando regista uma aplicação no portal do Azure, escolhe se é um único inquilino ou multi-inquilino e pode, opcionalmente, definir um URI de redirecionamento. Para obter instruções passo a passo sobre como registar uma aplicação, veja o início rápido do registo de aplicações.

Quando concluir o registo da aplicação, terá uma instância globalmente exclusiva da aplicação (o objeto da aplicação) que se encontra no seu inquilino ou diretório principal. Também tem um ID exclusivo global para a sua aplicação (o ID de aplicação/cliente). No portal, pode adicionar segredos ou certificados e âmbitos para que a sua aplicação funcione, personalizar a imagem corporativa da sua aplicação na caixa de diálogo de início de sessão e muito mais.

Se registar uma aplicação no portal, será criado automaticamente um objeto de aplicação e um objeto principal de serviço no seu inquilino principal. Se registar/criar uma aplicação com as APIs do Microsoft Graph, criar o objeto do principal de serviço é um passo separado.

Objeto da aplicação

Uma aplicação Azure AD é definida pelo respetivo único objeto de aplicação, que reside no inquilino Azure AD onde a aplicação foi registada (conhecida como o inquilino "home" da aplicação). Um objeto de aplicação é utilizado como um modelo ou esquema para criar um ou mais objetos de principal de serviço. É criado um principal de serviço em todos os inquilinos onde a aplicação é utilizada. Semelhante a uma classe na programação orientada para objetos, o objeto da aplicação tem algumas propriedades estáticas que são aplicadas a todos os principais de serviço criados (ou instâncias de aplicação).

O objeto da aplicação descreve três aspetos de uma aplicação:

  • Como o serviço pode emitir tokens para aceder à aplicação
  • Os recursos aos quais a aplicação poderá ter de aceder
  • As ações que a aplicação pode realizar

Pode utilizar a página Registos de aplicações no portal do Azure para listar e gerir os objetos da aplicação no seu inquilino principal.

painel Registos de aplicações

A entidade Aplicação do Microsoft Graph define o esquema das propriedades de um objeto de aplicação.

Objeto do principal de serviço

Para aceder a recursos protegidos por um inquilino Azure AD, a entidade que necessita de acesso tem de ser representada por um principal de segurança. Este requisito aplica-se aos utilizadores (principal de utilizador) e às aplicações (principal de serviço). O principal de segurança define a política de acesso e as permissões para o utilizador/aplicação no inquilino Azure AD. Isto permite funcionalidades principais, como a autenticação do utilizador/aplicação durante o início de sessão e a autorização durante o acesso a recursos.

Existem três tipos de principal de serviço:

  • Aplicação – o tipo de principal de serviço é a representação local, ou instância da aplicação, de um objeto de aplicação global num único inquilino ou diretório. Neste caso, um principal de serviço é uma instância concreta criada a partir do objeto da aplicação e herda determinadas propriedades desse objeto de aplicação. É criado um principal de serviço em cada inquilino onde a aplicação é utilizada e referencia o objeto de aplicação globalmente exclusivo. O objeto do principal de serviço define o que a aplicação pode realmente fazer no inquilino específico, quem pode aceder à aplicação e que recursos a aplicação pode aceder.

    Quando é dada permissão a uma aplicação para aceder a recursos num inquilino (após o registo ou consentimento), é criado um objeto do principal de serviço. Quando regista uma aplicação com o portal do Azure, é criado automaticamente um principal de serviço. Também pode criar objetos de principal de serviço num inquilino com Azure PowerShell, CLI do Azure, Microsoft Graph e outras ferramentas.

  • Identidade gerida – este tipo de principal de serviço é utilizado para representar uma identidade gerida. As identidades geridas eliminam a necessidade de os programadores gerirem as credenciais. As identidades geridas fornecem uma identidade para as aplicações utilizarem quando se ligam a recursos que suportam a autenticação Azure AD. Quando uma identidade gerida é ativada, é criado um principal de serviço que representa essa identidade gerida no seu inquilino. Os principais de serviço que representam identidades geridas podem ter acesso e permissões, mas não podem ser atualizados ou modificados diretamente.

  • Legado – este tipo de principal de serviço representa uma aplicação legada, que é uma aplicação criada antes de os registos de aplicações terem sido introduzidos ou uma aplicação criada através de experiências legadas. Um principal de serviço legado pode ter credenciais, nomes de principais de serviço, URLs de resposta e outras propriedades que um utilizador autorizado pode editar, mas não tem um registo de aplicação associado. O principal de serviço só pode ser utilizado no inquilino onde foi criado.

A entidade Microsoft Graph ServicePrincipal define o esquema para as propriedades de um objeto de principal de serviço.

Pode utilizar a página Aplicações empresariais no portal do Azure para listar e gerir os principais de serviço num inquilino. Pode ver as permissões do principal de serviço, as permissões de consentimento do utilizador, as quais os utilizadores deram esse consentimento, informações de início de sessão e muito mais.

Painel Aplicações empresariais

Relação entre objetos de aplicação e principais de serviço

O objeto de aplicação é a representação global da sua aplicação para utilização em todos os inquilinos e o principal de serviço é a representação local para utilização num inquilino específico. O objeto da aplicação serve como o modelo a partir do qual as propriedades comuns e predefinidas são derivadas para utilização na criação de objetos correspondentes do principal de serviço.

Um objeto de aplicação tem:

  • Uma relação um-para-um com a aplicação de software e
  • Uma relação um-para-muitos com os objetos do principal de serviço correspondentes

Tem de ser criado um principal de serviço em cada inquilino onde a aplicação é utilizada, permitindo-lhe estabelecer uma identidade para início de sessão e/ou acesso aos recursos protegidos pelo inquilino. Uma aplicação de inquilino único tem apenas um principal de serviço (no inquilino principal), criado e com permissão para utilização durante o registo da aplicação. Uma aplicação multi-inquilino também tem um principal de serviço criado em cada inquilino em que um utilizador desse inquilino tenha consentido a sua utilização.

Consequências da modificação e eliminação de aplicações

As alterações efetuadas ao objeto da aplicação também são refletidas no respetivo objeto principal de serviço apenas no inquilino principal da aplicação (o inquilino onde foi registado). Isto significa que eliminar um objeto de aplicação também eliminará o objeto principal do serviço de inquilino principal. No entanto, restaurar esse objeto de aplicação através da IU de registos de aplicações não irá restaurar o respetivo principal de serviço correspondente. Para obter mais informações sobre a eliminação e recuperação de aplicações e respetivos objetos de principal de serviço, veja Eliminar e recuperar aplicações e objetos do principal de serviço.

Exemplo

O diagrama seguinte ilustra a relação entre o objeto de aplicação de uma aplicação e os objetos do principal de serviço correspondentes no contexto de uma aplicação multi-inquilino de exemplo denominada aplicação de RH. Existem três inquilinos Azure AD neste cenário de exemplo:

  • Adatum - O inquilino utilizado pela empresa que desenvolveu a aplicação de RH
  • Contoso – o inquilino utilizado pela organização Contoso, que é um consumidor da aplicação de RH
  • Fabrikam – o inquilino utilizado pela organização Fabrikam, que também consome a aplicação de RH

Relação entre objeto de aplicação e objeto principal de serviço

Neste cenário de exemplo:

Passo Descrição
1 O processo de criação de objetos da aplicação e do principal de serviço no inquilino principal da aplicação.
2 Quando os administradores da Contoso e da Fabrikam consoantem o consentimento, é criado um objeto de principal de serviço no inquilino Azure AD da empresa e atribuído as permissões concedidas pelo administrador. Tenha também em atenção que a aplicação de RH pode ser configurada/concebida para permitir o consentimento dos utilizadores para utilização individual.
3 Os inquilinos de consumidor da aplicação de RH (Contoso e Fabrikam) têm cada um o seu próprio objeto principal de serviço. Cada um representa a utilização de uma instância da aplicação no runtime, regida pelas permissões consentidas pelo respetivo administrador.

Passos seguintes

Saiba como criar um principal de serviço: