Share via


Solución de problemas de una solicitud de servicio que ha generado error en Azure Digital Twins: Error 403 (Prohibido)

En este artículo se describen las causas y los pasos de resolución al recibir un error 403 de las solicitudes de servicio a Azure Digital Twins. Esta información es específica del servicio Azure Digital Twins.

Síntomas

Este error puede producirse en muchos tipos de solicitudes de servicio que requieren autenticación con Azure Digital Twins. El efecto es que se produce un error en la solicitud de API y se devuelve un estado de error 403 (Forbidden).

Causas

Causa 1

A menudo, recibir este error en Azure Digital Twins indica que los permisos de control de acceso basado en rol (RBAC de Azure) para el servicio no están configurados correctamente. Muchas acciones para una instancia de Azure Digital Twins requieren que tenga el rol Propietario de datos de Azure Digital Twins en la instancia que intenta administrar.

Causa 2

Si usa una aplicación cliente para comunicarse con Azure Digital Twins que se autentique con el registro de aplicación, este error puede producirse porque el registro de aplicación no tiene permisos configurados para el servicio Azure Digital Twins.

Este registro de aplicación debe tener configurados los permisos de acceso a las API de Azure Digital Twins. Después, cuando la aplicación cliente se autentique durante el registro de la aplicación, se le concederán los permisos que se hayan configurado en este.

Soluciones

Solución 1

La primera solución es comprobar que el usuario de Azure tenga el rol Propietario de datos de Azure Digital Twins en la instancia que intenta administrar. Si no tiene este rol, establézcalo.

Tenga en cuenta que este rol es diferente del...

  • nombre anterior de este rol durante la versión preliminar, Propietario de Azure Digital Twins (versión preliminar). En este caso, el rol es el mismo, pero el nombre ha cambiado.
  • rol de propietario de toda la suscripción de Azure Propietario de datos de Azure Digital Twins es un rol dentro de Azure Digital Twins y tiene el ámbito de esa instancia individual de Azure Digital Twins.
  • rol de propietario en Azure Digital Twins. Son dos roles de administración distintos de Azure Digital Twins; Propietario de datos de Azure Digital Twins es el rol que debe usar para la administración.

Comprobación de la configuración actual

Una manera de comprobar que ha configurado correctamente la asignación de roles es consultar las asignaciones de roles para la instancia de Azure Digital Twins en Azure Portal. Vaya a la instancia de Azure Digital Twins en Azure Portal. Para ello, puede buscarla en la página de instancias de Azure Digital Twins o buscar su nombre en la barra de búsqueda del portal.

Luego, consulte todos sus roles asignados en Control de acceso (IAM) > Asignaciones de roles. La asignación de roles debe aparecer en la lista.

Screenshot of the role assignments for an Azure Digital Twins instance in the Azure portal.

Corrección de problemas

Si no tiene esta asignación de roles, alguien con el rol de propietario en la suscripción de Azure debe ejecutar el siguiente comando para proporcionar al usuario de Azure el rol Propietario de datos de Azure Digital Twins en la instancia de Azure Digital Twins.

Si es propietario de la suscripción, puede ejecutar este comando por su cuenta. Si no, póngase en contacto con un propietario para que ejecute este comando en su nombre.

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

Para más información sobre este requisito de rol y el proceso de asignación, consulte la Configuración de los permisos de acceso del usuario.

Si ya tiene esta asignación de roles y usa un registro de aplicación de Microsoft Entra para autenticar una aplicación cliente, puede continuar con la siguiente solución si esta solución no resolvió el problema 403.

Solución 2

Si usa un registro de aplicaciones de Microsoft Entra para autenticar una aplicación cliente, la segunda solución posible es comprobar que el registro de la aplicación tiene permisos configurados para el servicio Azure Digital Twins. Si no están configurados, hágalo.

Comprobación de la configuración actual

Para comprobar si los permisos se han configurado correctamente, vaya a la página de información general del registro de aplicaciones de Microsoft Entra en Azure Portal. Para acceder a esta página, escriba Registros de aplicaciones en la barra de búsqueda del portal.

Cambie a la pestaña Todas las aplicaciones para ver todos los registros de aplicaciones que se han creado en su suscripción.

Verá que aparece en la lista el registro de aplicaciones que ha creado. Selecciónelo para abrir sus detalles.

Screenshot of the app registrations page in the Azure portal.

En primer lugar, compruebe que la configuración de permisos de Azure Digital Twins se estableció correctamente en el registro: seleccione Manifiesto en la barra de menús para ver el código de manifiesto del registro de la aplicación. Desplácese hasta la parte inferior de la ventana de código y busque estos campos en requiredResourceAccess. Los valores deben coincidir con los de la siguiente captura de pantalla:

Screenshot of the manifest for the Microsoft Entra app registration in the Azure portal.

A continuación, seleccione Permisos de API en la barra de menús para comprobar que este registro de aplicaciones contiene permisos de lectura y escritura para Azure Digital Twins. Debería ver una entrada como la siguiente:

Screenshot of the API permissions for the Microsoft Entra app registration in the Azure portal, showing 'Read/Write Access' for Azure Digital Twins.

Corrección de problemas

Si alguno de estos problemas aparece de forma diferente a lo descrito, siga las instrucciones sobre cómo configurar el registro de una aplicación en Creación de un registro de aplicaciones con Azure Digital Twins.

Pasos siguientes

Lea los pasos de configuración para crear y autenticar una nueva instancia de Azure Digital Twins:

Obtenga más información sobre la seguridad y los permisos de Azure Digital Twins: