Configurar a autenticação

A Renderização Remota do Azure usa o mesmo mecanismo de autenticação que as Âncoras Espaciais do Azure (ASA). Para acessar uma determinada conta de Renderização Remota do Azure, os clientes precisam obter um token de acesso do STS (Serviço de Token de Segurança de Realidade Mista) do Azure. Os tokens obtidos do STS têm uma vida útil de 24 horas. Os clientes precisam definir uma das seguintes opções para chamar as APIs REST com êxito:

  • AccountKey: pode ser obtida na guia "Chaves" da conta de Renderização Remota no portal do Azure. As chaves de conta são recomendadas apenas para desenvolvimento/prototipagem. Account ID

  • AccountDomain: pode ser obtido na guia "Visão geral" da conta de Renderização Remota no portal do Azure. Account Domain

  • AuthenticationToken: é um token do Microsoft Entra, que pode ser obtido usando a biblioteca MSAL. Há vários fluxos diferentes disponíveis para aceitar credenciais de usuário e usar essas credenciais para obter um token de acesso.

  • MRAccessToken: é um token MR, que pode ser obtido do Serviço de Token de Segurança (STS) do Azure Mixed Reality. Recuperado do https://sts.<accountDomain> ponto de extremidade usando uma chamada REST semelhante à abaixo:

    GET https://sts.southcentralus.mixedreality.azure.com/Accounts/35d830cb-f062-4062-9792-d6316039df56/token HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni<truncated>FL8Hq5aaOqZQnJr1koaQ
    Host: sts.southcentralus.mixedreality.azure.com
    Connection: Keep-Alive
    
    HTTP/1.1 200 OK
    Date: Tue, 24 Mar 2020 09:09:00 GMT
    Content-Type: application/json; charset=utf-8
    Content-Length: 1153
    Accept: application/json
    MS-CV: 05JLqWeKFkWpbdY944yl7A.0
    {"AccessToken":"eyJhbGciOiJSUzI1<truncated>uLkO2FvA"}
    

    Onde o cabeçalho Autorização está formatado da seguinte forma: Bearer <Azure_AD_token> ou Bearer <accoundId>:<accountKey>. O primeiro é preferível para a segurança. O token retornado dessa chamada REST é o token de acesso MR.

Autenticação para aplicativos implantados

As chaves de conta são recomendadas para prototipagem rápida, apenas durante o desenvolvimento. É recomendável não enviar seu aplicativo para produção usando uma chave de conta incorporada nele. A abordagem recomendada é usar uma abordagem de autenticação do Microsoft Entra baseada no usuário ou no serviço.

Autenticação de usuário do Microsoft Entra

A autenticação do Microsoft Entra é descrita na documentação do Azure Spatial Anchors.

Siga as etapas para configurar a autenticação de usuário do Microsoft Entra no portal do Azure.

  1. Registe a sua aplicação no Microsoft Entra ID. Como parte do registro, você precisará determinar se seu aplicativo deve ser multilocatário. Você também precisará fornecer as URLs de redirecionamento permitidas para seu aplicativo na folha Autenticação. Authentication setup

  2. Na guia Permissões da API, solicite Permissões Delegadas para o escopo mixedreality.signin em mixedreality. Api permissions

  3. Conceda consentimento de administrador na guia Segurança -> Permissões. Admin consent

  4. Em seguida, navegue até o Recurso de Renderização Remota do Azure. No painel Controle de Acesso, conceda as funções desejadas para seus aplicativos e usuário, em nome dos quais você deseja usar permissões de acesso delegadas ao seu recurso de Renderização Remota do Azure. Add permissionsRole assignments

Para obter informações sobre como usar a autenticação de usuário do Microsoft Entra no código do aplicativo, consulte o Tutorial: Protegendo a renderização remota do Azure e o armazenamento de modelos - Autenticação do Microsoft Entra

Controlo de acesso baseado em funções do Azure

Para ajudar a controlar o nível de acesso concedido ao seu serviço, use as seguintes funções ao conceder acesso baseado em função:

  • Administrador de Renderização Remota: fornece ao usuário recursos de conversão, gerenciamento de sessão, renderização e diagnóstico para a Renderização Remota do Azure.
  • Cliente de Renderização Remota: fornece ao usuário recursos de gerenciamento de sessão, renderização e diagnóstico para a Renderização Remota do Azure.

Próximos passos