Autenticar solicitações entre locatários

Ao criar um aplicativo multilocatário, talvez você precise lidar com solicitações de autenticação para recursos que estão em diferentes locatários. Um cenário comum é quando uma máquina virtual em um locatário deve ingressar em uma rede virtual em outro locatário. O Azure Resource Manager fornece um valor de cabeçalho para armazenar os tokens auxiliares para autenticar as solicitações em locatários diferentes.

Valores de cabeçalho para autenticação

A solicitação tem os seguintes valores de cabeçalho de autenticação:

Nome do cabeçalho Descrição Valor de exemplo
Autorização Token primário <Token primário> portador
x-ms-authorization-auxiliary Tokens auxiliares Bearer <auxiliary-token1>, EncryptedBearer <auxiliary-token2>, Bearer <auxiliary-token3>

O cabeçalho auxiliar pode conter até três tokens auxiliares.

No código do seu aplicativo multilocatário, obtenha o token de autenticação para outros locatários e armazene-o nos cabeçalhos auxiliares. O usuário ou aplicativo deve ter sido convidado como um convidado para os outros locatários.

Processando a solicitação

Quando seu aplicativo envia uma solicitação para o Resource Manager, a solicitação é executada sob a identidade do token primário. O token primário deve ser válido e não expirado. Esse token deve ser de um locatário que pode gerenciar a assinatura.

Quando a solicitação faz referência a um recurso de um locatário diferente, o Resource Manager verifica os tokens auxiliares para determinar se a solicitação pode ser processada. Todos os tokens auxiliares no cabeçalho devem ser válidos e não estar expirados. Se nenhum token tiver expirado, o Resource Manager retornará um código de resposta 401. A resposta inclui a ID do cliente e a ID do locatário do token que não é válido. Se o cabeçalho auxiliar contiver um token válido para o locatário, a solicitação de locatário cruzada será processada.

Próximas etapas