Agente do Copilot Studio não consegue usar tabela do Dataverse: Correção
🔍 WiseChecker

Agente do Copilot Studio não consegue usar tabela do Dataverse: Correção

Você criou um agente do Copilot Studio para consultar ou atualizar uma tabela do Dataverse, mas o agente responde com erro ou não retorna dados. Isso geralmente acontece porque o agente não tem a função de segurança correta ou a tabela do Dataverse não está configurada adequadamente para acesso público. O agente do Copilot Studio usa as credenciais do criador em tempo de design, mas em tempo de execução é executado sob uma entidade de serviço ou usuário anônimo, o que exige permissões explícitas na tabela. Este artigo explica as três causas mais comuns e fornece correções passo a passo para cada uma.

Principais conclusões: Acesso a tabelas do Dataverse para agentes do Copilot Studio

  • Power Platform admin center > Ambientes > Segurança > Funções: Atribua a função de segurança Usuário Básico e uma função personalizada com privilégios de leitura ou gravação na tabela de destino ao usuário do aplicativo do Copilot Studio.
  • Propriedades da tabela do Dataverse > Opções avançadas: Ative a configuração “Permitir uso anônimo” para conceder acesso em tempo de execução sem uma sessão de usuário nomeado.
  • Tópico do Copilot Studio > Conector do Dataverse: Verifique se a referência de conexão aponta para o ambiente e o nome lógico da tabela corretos e teste novamente após salvar o tópico.

ADVERTISEMENT

Por que o agente do Copilot Studio não consegue acessar a tabela do Dataverse

Quando você adiciona uma ação do conector do Dataverse a um tópico do Copilot Studio, o agente tenta ler ou gravar dados de uma tabela específica. Em tempo de design, o agente usa sua conta de usuário e as permissões da sua função de segurança. Em tempo de execução, no entanto, o agente é executado sob uma identidade diferente. Para agentes publicados em um site ou no Microsoft Teams, a identidade de tempo de execução é um usuário de aplicativo criado automaticamente no ambiente de destino. Para usuários autenticados, a identidade de tempo de execução é o usuário conectado.

O usuário do aplicativo é criado com a função Usuário Básico por padrão. Essa função permite que o usuário leia dados do ambiente, mas não concede acesso a tabelas personalizadas. Se a tabela do Dataverse for uma tabela personalizada ou tiver acesso restrito, o agente falhará com erros como “Acesso negado”, “Objeto não encontrado” ou “O registro não existe”. A correção envolve conceder a função de segurança correta ao usuário do aplicativo e, em alguns casos, habilitar o uso anônimo na própria tabela.

Mensagens de erro comuns

O texto exato do erro varia conforme o cenário. As mensagens mais frequentes são:

  • “Acesso negado à tabela ‘table_name’”
  • “O registro não existe ou você não tem permissão para visualizá-lo”
  • “Referência de objeto não definida para uma instância de um objeto”
  • “Não foi possível conectar ao Dataverse. Verifique suas configurações de conexão.”

Todos esses erros apontam para a mesma causa raiz: a identidade de tempo de execução não tem os privilégios necessários na tabela do Dataverse.

Etapas para conceder acesso do agente do Copilot Studio a uma tabela do Dataverse

Método 1: Atribuir uma função de segurança ao usuário do aplicativo do Copilot Studio

  1. Abra o Power Platform admin center
    Acesse admin.powerplatform.microsoft.com. Faça login com uma conta de administrador global ou administrador do Power Platform.
  2. Selecione o ambiente de destino
    Na navegação à esquerda, clique em Ambientes. Encontre o ambiente onde seu agente do Copilot Studio está publicado. Clique no nome do ambiente para abrir seus detalhes.
  3. Navegue até as configurações de segurança
    No painel de detalhes do ambiente, clique em Configurações. Na seção Usuários + permissões, clique em Usuários.
  4. Localize o usuário do aplicativo
    Na página de Usuários, altere a exibição de Usuários Habilitados para Usuários do Aplicativo. Procure um usuário com o nome “Copilot Studio” ou “Microsoft Copilot Studio”. O ID do usuário do aplicativo corresponde ao ID da entidade de serviço do agente do Copilot Studio.
  5. Edite as funções do usuário
    Selecione o usuário do aplicativo e clique em Gerenciar funções. Na caixa de diálogo de seleção de funções, marque a caixa para Usuário Básico se ainda não estiver marcada. Em seguida, marque a caixa para uma função de segurança personalizada que conceda permissões de leitura, gravação ou ambas na tabela do Dataverse de destino. Se essa função não existir, você deve criá-la primeiro.
  6. Salve as alterações
    Clique em Salvar. O usuário do aplicativo agora tem os privilégios necessários. Teste novamente o agente no Copilot Studio.

Método 2: Criar uma função de segurança personalizada para a tabela

  1. Abra o Power Platform admin center
    Navegue até o mesmo ambiente do Método 1.
  2. Vá para Funções de segurança
    Clique em Configurações > Usuários + permissões > Funções de segurança.
  3. Crie uma nova função
    Clique em Nova função. Dê à função um nome descritivo, por exemplo “Agente Copilot – Leitura de Tabela”.
  4. Configure as permissões em nível de tabela
    No editor de funções, vá para a guia Entidades Personalizadas. Encontre sua tabela do Dataverse de destino na lista. Para cada privilégio (Ler, Gravar, Criar, Excluir, Anexar, Anexar a, Atribuir, Compartilhar), selecione o nível de acesso apropriado. Para a maioria dos agentes, Ler é suficiente para operações de consulta. Gravar é necessário para ações de criação ou atualização.
  5. Salve a função
    Clique em Salvar e Fechar. Em seguida, atribua essa função ao usuário do aplicativo do Copilot Studio usando as etapas 4 a 6 do Método 1.

Método 3: Habilitar o uso anônimo na tabela do Dataverse

Se seu agente for publicado em um site anônimo e a tabela precisar ser acessível sem autenticação de usuário, você deve habilitar o uso anônimo na tabela.

  1. Abra o portal do Power Apps Maker
    Acesse make.powerapps.com e selecione o ambiente correto.
  2. Abra as tabelas do Dataverse
    Na navegação à esquerda, expanda Dataverse e clique em Tabelas.
  3. Selecione sua tabela
    Encontre a tabela que o agente precisa acessar. Clique no nome da tabela para abrir suas propriedades.
  4. Habilite o uso anônimo
    No painel de propriedades da tabela, clique em Opções avançadas. Role até a seção Acesso. Defina Permitir uso anônimo como Sim. Essa configuração permite que a tabela seja lida por chamadores não autenticados, incluindo o tempo de execução do agente do Copilot Studio.
  5. Salve a tabela
    Clique em Salvar. A alteração entra em vigor imediatamente. Teste novamente o agente.

ADVERTISEMENT

Se o agente ainda não conseguir acessar a tabela do Dataverse

O agente usa um nome lógico de tabela incorreto

Abra o tópico no Copilot Studio que contém a ação do conector do Dataverse. Clique no nó da ação para inspecionar suas propriedades. Verifique se o campo Tabela contém o nome lógico da tabela, não o nome de exibição. O nome lógico geralmente é todo em minúsculas e sem espaços, por exemplo cr977_incidentreport. Se o nome estiver errado, selecione a tabela correta no menu suspenso ou digite o nome lógico manualmente.

O agente se conecta ao ambiente errado

Cada ação do conector do Dataverse inclui uma Referência de conexão. Essa referência aponta para um ambiente específico. Se você publicou o agente no ambiente A, mas a referência de conexão aponta para o ambiente B, a tabela não será encontrada. Abra a referência de conexão no Copilot Studio e confirme se o ambiente corresponde àquele onde a tabela existe.

As permissões foram atualizadas, mas o agente ainda falha

As alterações de função de segurança no Dataverse podem levar até 15 minutos para serem propagadas. Aguarde 15 minutos e reinicie o agente do Copilot Studio fechando o chat de teste e abrindo um novo. Se o problema persistir, remova o usuário do aplicativo do ambiente e deixe o Copilot Studio recriá-lo. Para remover o usuário, vá para Power Platform admin center > Ambientes > seu ambiente > Configurações > Usuários > Usuários do Aplicativo, selecione o usuário do aplicativo do Copilot Studio e clique em Excluir. Republique o agente para acionar a recriação do usuário do aplicativo.

Item Agente em Site Anônimo Agente Autenticado no Teams
Identidade de tempo de execução Usuário do aplicativo (entidade de serviço) Usuário conectado (conta do Microsoft Entra ID)
Permissão necessária Função Usuário Básico + função personalizada OU habilitar uso anônimo na tabela Função de segurança do Dataverse do próprio usuário
Configuração de uso anônimo Deve estar definida como Sim na tabela Não é necessária
Atribuição de função Atribuir função ao usuário do aplicativo no Power Platform admin center Atribuir função a cada usuário por meio do gerenciamento padrão de funções de segurança do Dataverse

Este artigo abordou as três principais correções para um agente do Copilot Studio que não consegue usar uma tabela do Dataverse: atribuir uma função de segurança ao usuário do aplicativo, criar uma função personalizada com permissões específicas da tabela e habilitar o uso anônimo na tabela. Após aplicar a correção adequada, abra seu agente no Copilot Studio e execute uma consulta de teste na tabela para confirmar que o problema foi resolvido. Como dica avançada, use a ação “Listar registros” do conector do Dataverse com um filtro para verificar se o agente consegue conectar e filtrar dados corretamente.

ADVERTISEMENT