Solucionar problemas de solicitação de serviço com falha dos Gêmeos Digitais do Azure: erro 403 (Proibido)

Este artigo descreve as causas e as etapas de resolução para receber um erro 403 de solicitações de serviço para os Gêmeos Digitais do Azure. Essas informações são específicas do serviço Gêmeos Digitais do Azure.

Sintomas

Esse erro pode ocorrer em muitos tipos de solicitações de serviço que exigem autenticação. O efeito é que a solicitação de API falha, retornando um status de erro de 403 (Forbidden).

Causas

Causa 1

Geralmente, esse erro indica que as permissões do RBAC (controle de acesso baseado em função) do Azure para o serviço não foram configuradas corretamente. Muitas ações para uma instância dos Gêmeos Digitais do Azure exigem que você tenha a função Proprietário de dados dos Gêmeos Digitais do Azure na instância que você está tentando gerenciar.

Causa 2

Se você estiver usando um aplicativo cliente para se comunicar com os Gêmeos Digitais do Azure que está fazendo a autenticação em um registro de aplicativo, esse erro poderá acontecer porque o registro do aplicativo não tem permissões configuradas para o serviço de Gêmeos Digitais do Azure.

O registro do aplicativo precisa ter permissões de acesso configuradas para as APIs dos Gêmeos Digitais do Azure. Em seguida, quando o aplicativo cliente for autenticado no registro do aplicativo, ele receberá as permissões configuradas pelo registro do aplicativo.

Soluções

Solução 1

A primeira solução é verificar se o usuário do Azure tem a função Proprietário de dados dos Gêmeos Digitais do Azure na instância que você está tentando gerenciar. Se você não tiver essa função, configure-a.

Essa função é diferente de...

  • o nome antigo dessa função durante a versão prévia, Proprietário dos Gêmeos Digitais do Azure (Versão Prévia). Nesse caso, a função é a mesma, mas o nome mudou.
  • da função Proprietário em toda a assinatura do Azure. Proprietário de dados dos Gêmeos Digitais do Azure é uma função dentro dos Gêmeos Digitais do Azure e tem como escopo essa instância individual dos Gêmeos Digitais do Azure.
  • a função Proprietário nos Gêmeos Digitais do Azure. Essas são duas funções de gerenciamento diferentes dos Gêmeos Digitais do Azure, e Proprietário de dados dos Gêmeos Digitais do Azure é a função que deve ser usada para gerenciamento.

Verificar a configuração atual

Uma maneira de verificar se você configurou com êxito a atribuição de função é exibir as atribuições de função para a instância dos Gêmeos Digitais do Azure no portal do Azure. Acesse seu Gêmeos Digitais do Azure de dados no portal do Azure. Para chegar lá, você pode pesquisá-lo na página de instâncias do Gêmeos Digitais do Azure ou pesquisar seu nome na barra de pesquisa do portal).

Em seguida, visualize todas as funções atribuídas em Controle de acesso (IAM) > Atribuições de funções. Sua atribuição de função deve aparecer na lista.

Captura de tela das atribuições de função de uma instância dos Gêmeos Digitais do Azure no portal do Azure.

Corrigir problemas

Se você não tiver essa atribuição de função, alguém com uma função Proprietário em sua assinatura do Azure deverá executar o comando a seguir para dar ao usuário do Azure a função Proprietário de dados dos Gêmeos Digitais do Azure na instância dos Gêmeos Digitais do Azure.

Se você for um Proprietário na assinatura, poderá executar esse comando por conta própria. Se não for, entre em contato com um Proprietário para executar esse comando em seu nome.

az dt role-assignment create --dt-name <your-Azure-Digital-Twins-instance> --assignee "<your-Azure-AD-email>" --role "Azure Digital Twins Data Owner"

Para obter mais informações sobre esse requisito de função e o processo de atribuição, confira Configurar permissões de acesso do usuário.

Se você já tiver essa atribuição de função e estiver usando um registro de aplicativo do Azure AD para autenticar um aplicativo cliente, passe para a próxima solução se essa solução não tiver resolvido o problema 403.

Solução 2

Se você estiver usando um registro de aplicativo do Azure AD para autenticar um aplicativo cliente, a segunda solução possível será verificar se o registro do aplicativo tem permissões configuradas para o serviço de Gêmeos Digitais do Azure. Se elas não estiverem configuradas, configure-as.

Verificar a configuração atual

Para verificar se as permissões foram configuradas corretamente, navegue até a página de visão geral do registro de aplicativo do Azure AD no portal do Azure. Você mesmo pode acessar essa página pesquisando Registros de aplicativo na barra de pesquisa do portal.

Alterne para a guia Todos os aplicativos para ver todos os Registros de aplicativo que foram criados em sua assinatura.

Você deve ver o registro do aplicativo criado na lista. Selecione-o para abrir os detalhes.

Captura de tela da página de registros do aplicativo no portal do Azure.

Primeiro, verifique se as configurações das permissões dos Gêmeos Digitais do Azure foram definidas corretamente no registro: selecione Manifesto na barra de menus para exibir o código de manifesto do registro do aplicativo. Role até a parte inferior da janela de código e procure esses campos em requiredResourceAccess. Os valores devem corresponder aos mostrados na captura de tela abaixo:

Captura de tela do manifesto do registro de aplicativo do Azure AD no portal do Azure.

Em seguida, selecione Permissões de API na barra de menus para verificar se esse registro de aplicativo contém permissões de leitura/gravação para os Gêmeos Digitais do Azure. Você verá uma entrada semelhante à seguinte:

Captura de tela das permissões de API para o registro de aplicativo do Azure AD no portal do Azure mostrando a opção de

Corrigir problemas

Se qualquer um deles aparecer de maneira diferente da descrita, siga as instruções sobre como configurar um registro de aplicativo em Criar um registro de aplicativo com acesso aos Gêmeos Digitais do Azure.

Próximas etapas

Leia as etapas de configuração para criar e autenticar uma nova instância dos Gêmeos Digitais do Azure:

Leia mais sobre segurança e permissões nos Gêmeos Digitais do Azure: