El agente de Copilot studio no puede usar la tabla de dataverse: solución
🔍 WiseChecker

El agente de Copilot studio no puede usar la tabla de dataverse: solución

Creó un agente de Copilot Studio para consultar o actualizar una tabla de Dataverse, pero el agente responde con un error o no devuelve datos. Esto suele ocurrir porque el agente carece del rol de seguridad correcto o la tabla de Dataverse no está configurada correctamente para el acceso público. El agente de Copilot Studio usa las credenciales del creador en tiempo de diseño, pero se ejecuta bajo una entidad de servicio o un usuario anónimo en tiempo de ejecución, lo que requiere permisos explícitos en la tabla. Este artículo explica las tres causas más comunes y proporciona soluciones paso a paso para cada una.

Puntos clave: acceso a tablas de Dataverse para agentes de Copilot Studio

  • Centro de administración de Power Platform > Entornos > Seguridad > Roles: Asigne el rol de seguridad Usuario básico y un rol personalizado con privilegios de lectura o escritura en la tabla de destino al usuario de la aplicación de Copilot Studio.
  • Propiedades de la tabla de Dataverse > Opciones avanzadas: Habilite la configuración “Permitir uso anónimo” para conceder acceso en tiempo de ejecución sin una sesión de usuario con nombre.
  • Tema de Copilot Studio > Conector de Dataverse: Verifique que la conexión haga referencia al entorno y al nombre lógico de la tabla correctos, y vuelva a probar después de guardar el tema.

ADVERTISEMENT

Por qué el agente de Copilot Studio no puede acceder a la tabla de Dataverse

Cuando agrega una acción del conector de Dataverse a un tema de Copilot Studio, el agente intenta leer o escribir datos de una tabla específica. En tiempo de diseño, el agente usa su cuenta de usuario y los permisos de su rol de seguridad. Sin embargo, en tiempo de ejecución, el agente se ejecuta bajo una identidad diferente. Para los agentes publicados en un sitio web o en Microsoft Teams, la identidad en tiempo de ejecución es un usuario de aplicación creado automáticamente en el entorno de destino. Para los usuarios autenticados, la identidad en tiempo de ejecución es el usuario que inició sesión.

El usuario de la aplicación se crea con el rol Usuario básico de forma predeterminada. Este rol permite al usuario leer datos del entorno, pero no concede acceso a tablas personalizadas. Si la tabla de Dataverse es una tabla personalizada o tiene acceso restringido, el agente falla con errores como “Acceso denegado”, “Objeto no encontrado” o “El registro no existe”. La solución consiste en conceder el rol de seguridad correcto al usuario de la aplicación y, en algunos casos, habilitar el uso anónimo en la propia tabla.

Mensajes de error comunes

El texto exacto del error varía según el escenario. Los mensajes más frecuentes son:

  • “Acceso denegado a la tabla ‘table_name’”
  • “El registro no existe o no tiene permiso para verlo”
  • “Referencia a objeto no establecida como instancia de un objeto”
  • “No se puede conectar a Dataverse. Compruebe la configuración de conexión.”

Todos estos errores apuntan a la misma causa raíz: la identidad en tiempo de ejecución carece de los privilegios necesarios en la tabla de Dataverse.

Pasos para conceder al agente de Copilot Studio acceso a una tabla de Dataverse

Método 1: Asignar un rol de seguridad al usuario de la aplicación de Copilot Studio

  1. Abra el Centro de administración de Power Platform
    Vaya a admin.powerplatform.microsoft.com. Inicie sesión con una cuenta de administrador global o de administrador de Power Platform.
  2. Seleccione el entorno de destino
    En la navegación izquierda, haga clic en Entornos. Busque el entorno donde está publicado su agente de Copilot Studio. Haga clic en el nombre del entorno para abrir sus detalles.
  3. Vaya a la configuración de seguridad
    En el panel de detalles del entorno, haga clic en Configuración. En la sección Usuarios y permisos, haga clic en Usuarios.
  4. Localice el usuario de la aplicación
    En la página Usuarios, cambie la vista de Usuarios habilitados a Usuarios de la aplicación. Busque un usuario con el nombre “Copilot Studio” o “Microsoft Copilot Studio”. El identificador del usuario de la aplicación coincide con el identificador de la entidad de servicio del agente de Copilot Studio.
  5. Edite los roles del usuario
    Seleccione el usuario de la aplicación y haga clic en Administrar roles. En el cuadro de diálogo de selección de roles, marque la casilla de Usuario básico si aún no está seleccionada. Luego marque la casilla de un rol de seguridad personalizado que conceda permisos de lectura, escritura o ambos en la tabla de Dataverse de destino. Si no existe dicho rol, primero debe crear uno.
  6. Guarde los cambios
    Haga clic en Guardar. El usuario de la aplicación ahora tiene los privilegios necesarios. Vuelva a probar el agente en Copilot Studio.

Método 2: Crear un rol de seguridad personalizado para la tabla

  1. Abra el Centro de administración de Power Platform
    Vaya al mismo entorno que en el Método 1.
  2. Vaya a Roles de seguridad
    Haga clic en Configuración > Usuarios y permisos > Roles de seguridad.
  3. Cree un nuevo rol
    Haga clic en Nuevo rol. Asigne al rol un nombre descriptivo, por ejemplo “Agente de Copilot: lectura de tabla”.
  4. Configure los permisos a nivel de tabla
    En el editor de roles, cambie a la pestaña Entidades personalizadas. Busque su tabla de Dataverse de destino en la lista. Para cada privilegio (Lectura, Escritura, Creación, Eliminación, Anexar, Anexar a, Asignar, Compartir), seleccione el nivel de acceso adecuado. Para la mayoría de los agentes, Lectura es suficiente para las operaciones de consulta. Se requiere Escritura para las acciones de creación o actualización.
  5. Guarde el rol
    Haga clic en Guardar y cerrar. Luego asigne este rol al usuario de la aplicación de Copilot Studio usando los pasos 4 a 6 del Método 1.

Método 3: Habilitar el uso anónimo en la tabla de Dataverse

Si su agente está publicado en un sitio web anónimo y se debe poder acceder a la tabla sin ninguna autenticación de usuario, debe habilitar el uso anónimo en la tabla.

  1. Abra el portal de creadores de Power Apps
    Vaya a make.powerapps.com y seleccione el entorno correcto.
  2. Abra las tablas de Dataverse
    En la navegación izquierda, expanda Dataverse y haga clic en Tablas.
  3. Seleccione su tabla
    Busque la tabla a la que el agente necesita acceder. Haga clic en el nombre de la tabla para abrir sus propiedades.
  4. Habilite el uso anónimo
    En el panel de propiedades de la tabla, haga clic en Opciones avanzadas. Desplácese hasta la sección Acceso. Establezca Permitir uso anónimo en Sí. Esta configuración permite que la tabla sea leída por llamadores no autenticados, incluido el tiempo de ejecución del agente de Copilot Studio.
  5. Guarde la tabla
    Haga clic en Guardar. El cambio surte efecto de inmediato. Vuelva a probar el agente.

Si el agente sigue sin poder acceder a la tabla de Dataverse

ADVERTISEMENT

El agente usa un nombre lógico de tabla incorrecto

Abra en Copilot Studio el tema que contiene la acción del conector de Dataverse. Haga clic en el nodo de la acción para inspeccionar sus propiedades. Verifique que el campo

Tabla contenga el nombre lógico de la tabla, no el nombre para mostrar. El nombre lógico suele estar todo en minúsculas y sin espacios, por ejemplo . Si el nombre es incorrecto, seleccione la tabla correcta en la lista desplegable o escriba el nombre lógico manualmente.cr977_incidentreport

El agente se conecta al entorno incorrecto

Cada acción del conector de Dataverse incluye una

Referencia de conexión. Esta referencia apunta a un entorno específico. Si publicó el agente en el entorno A pero la referencia de conexión apunta al entorno B, no se encontrará la tabla. Abra la referencia de conexión en Copilot Studio y confirme que el entorno coincide con aquel donde existe la tabla.

Los permisos se actualizaron pero el agente sigue fallando

Los cambios en los roles de seguridad de Dataverse pueden tardar hasta 15 minutos en propagarse. Espere 15 minutos y luego reinicie el agente de Copilot Studio cerrando el chat de prueba y abriendo uno nuevo. Si el problema persiste, elimine el usuario de la aplicación del entorno y deje que Copilot Studio lo vuelva a crear. Para eliminar el usuario, vaya a Centro de administración de Power Platform > Entornos > su entorno > Configuración > Usuarios > Usuarios de la aplicación, seleccione el usuario de la aplicación de Copilot Studio y haga clic en Eliminar. Vuelva a publicar el agente para desencadenar la recreación del usuario de la aplicación.

Elemento Agente de sitio web anónimo Agente autenticado de Teams
Identidad en tiempo de ejecución Usuario de la aplicación (entidad de servicio) Usuario que inició sesión (cuenta de Microsoft Entra ID)
Permiso requerido Rol Usuario básico + rol personalizado O habilitar el uso anónimo en la tabla Rol de seguridad de Dataverse propio del usuario
Configuración de uso anónimo Debe establecerse en Sí en la tabla No requerido
Asignación de roles Asignar el rol al usuario de la aplicación en el Centro de administración de Power Platform Asignar el rol a cada usuario mediante la administración estándar de roles de seguridad de Dataverse

Este artículo cubrió las tres soluciones principales para un agente de Copilot Studio que no puede usar una tabla de Dataverse: asignar un rol de seguridad al usuario de la aplicación, crear un rol personalizado con permisos específicos de la tabla y habilitar el uso anónimo en la tabla. Después de aplicar la solución correcta, abra su agente en Copilot Studio y ejecute una consulta de prueba en la tabla para confirmar que el problema se ha resuelto. Como sugerencia avanzada, use la acción “Listar registros” del conector de Dataverse con un filtro para verificar que el agente puede conectarse y filtrar datos correctamente.

ADVERTISEMENT