Semion Vasilevitzky e Jonathan Elkabas

Nota do editor: Bem-vindo ao segundo «Ponto de verificação prática» do guia «Compreender e prevenir ataques à identidade do agente Entra ID: Um guia abrangente». Ao longo da série, estes mini-guias práticos e concisos mostram os objetos e comportamentos exatos que acabámos de abordar. Se o seu objetivo for compreender o modelo conceptual, sinta-se à vontade para os ler de forma superficial; se estiver a validar no seu próprio tenant, estes são a forma mais rápida de acompanhar o conteúdo. Cada ponto de verificação é autónomo e mantém uma lista atualizada de IDs (blueprint, principal, identidade do agente, utilizador do agente) para que as secções seguintes possam fazer referência aos mesmos objetos. Para rever os capítulos anteriores e as lições práticas, começa aqui.


No nosso primeiro «Practice Checkpoint», aprendeu a definir o ID do agente e a criar o seu primeiro utilizador de agente.

Agora que os objetos principais já existem, vamos configurar o modelo de permissões da mesma forma que aparece em implementações reais: permissões diretas exclusivas da aplicação na identidade do agente e permissões delegadas concedidas ao nível do blueprint e marcadas como herdáveis.

Este ponto de verificação define os dados de entrada exatos que iremos validar posteriormente nos tokens ao longo dos fluxos de autenticação.

Atribuir permissão à identidade do agente

Para demonstrar as permissões «diretas» exclusivas da aplicação ao nível da identidade do agente, atribua uma função de aplicação a <agent-identity-id> utilizando o mesmo appRoleAssignments padrão como anteriormente.

Nesta demonstração, o appRoleId representa User.Read.All. Vamos utilizá-la mais tarde para nos autenticarmos com a identidade do agente e para listar os utilizadores.

Figura 1. Atribuição de uma função de aplicação à identidade do agente

Configurar permissões herdáveis

Configure as permissões hereditárias para que o agente possa herdar os âmbitos delegados nos fluxos delegados.


Passo 1: Conceder a autorização delegada

Criar um oauth2PermissionGrants registo que concede Group.Read.All para o modelo de identidade do agente (fluxo padrão de consentimento delegado).

Figura 2. Atribuição do direito «Group.Read.All» à identidade do agente

Passo 2: Marcar como hereditário

Ligue para o /applications/microsoft.graph.agentIdentityBlueprint /<agent identity blueprint id>/inheritablePermissions ponto final e inclua o ID da aplicação do recurso do Graph. Utilize um âmbito enumerado para que a identidade do agente herde apenas o Group.Read.All permissões.

Figura 3. Limitação das permissões de leitura herdadas pela identidade do agente com um âmbito enumerado

Num cenário de autenticação delegada, iremos ver e utilizar essas permissões para listar os grupos de inquilinos. Se pretender que todas as permissões sejam herdadas, basta definir tipo para allAllowed em vez de enumerated e remova a propriedade «scopes».

Embora não esteja documentado, é possível herdar permissões enumeradas exclusivas da aplicação. Em vez de âmbitos, iremos utilizar appRoleIds, que exigem o GUID da função da aplicação. Assim, o pedido terá o seguinte aspeto:

Figura 4. Ativar a herança de permissões enumeradas exclusivas da aplicação

Também pode definir ambas ao mesmo tempo. Para atualizar as permissões herdáveis existentes, envie um pedido «Patch» para o recurso relevante que pretende atualizar.

Patch: /applications/microsoft.graph.agentIdentityBlueprint/<agent-identity-blueprint>/inheritablePermissions/<resource-app-id>

A seguir: Vamos descobrir como a identidade do seu agente se autentica e funciona no Entra ID.


Explore o guia