Устранение неполадок с запросом службы Azure Digital Twins: ошибка 403 (запрещено)

В этой статье описываются причины и способы устранения ошибки 403 от запросов на обслуживание до Azure Digital Twins. Эти сведения относятся к службе Azure Digital Twins.

Симптомы

Эта ошибка может возникать во многих типах запросов служб, требующих проверки подлинности с помощью Azure Digital Twins. Запрос API не выполняется и возвращается состояние ошибки 403 (Forbidden).

Причины

Причина 1

Чаще всего эта ошибка в Azure Digital Twins указывает, что разрешения на управление доступом на основе ролей Azure (Azure RBAC) для службы настроены неправильно. При выполнении многих действий требуется, чтобы у вас была роль Владельца данных Azure Digital Twins на экземпляре Azure Digital Twins, которым вы пытаетесь управлять.

Причина 2

Если вы используете клиентское приложение для обмена данными с экземпляром Azure Digital Twins, который выполняет проверку подлинности с помощью регистрации приложений, эта ошибка может возникать из-за того, что регистрация приложения не имеет разрешений настройки для службы Azure Digital Twins.

Регистрация приложений должна иметь права доступа, настроенные для API Azure Digital Twins. Затем, если клиентское приложение пройдет проверку подлинности для регистрации приложений, ему будут предоставлены разрешения, настроенные для регистрации приложения.

Решения

Решение 1

Первым решением является проверка наличия у пользователя Azure роли владельца данных Azure Digital Twins в экземпляре, которым вы пытаетесь управлять. Если у вас нет этой роли, настройте ее.

Эта роль отличается от…

  • предшествующего имени этой роли в предварительной версии, "Владелец Azure Digital Twins (предварительная версия)". В этом случае роль та же, но ее имя изменилось.
  • роль владельца для всей подписки Azure. Владелец данных Azure Digital Twins — это роль в Azure Digital Twins, которая действует в пределах этого отдельного экземпляра Azure Digital Twins.
  • роль владельца в Azure Digital Twins. Это две различные роли управления Azure Digital Twins, а владелец данных Azure Digital Twins — роль, которую следует использовать для управления.

Проверка текущей установки

Одним из способов проверка успешной настройки назначения ролей является просмотр назначений ролей для экземпляра Azure Digital Twins в портал Azure. Перейдите к экземпляру Azure Digital Twins в портал Azure. Чтобы получить его, вы можете найти его на странице экземпляров Azure Digital Twins или найти его имя в строке поиска на портале).

Затем просмотрите все назначенные роли в разделе назначения ролей управления доступом (IAM>). Назначение роли должно отображаться в списке.

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

Устранение неполадок

Если вам эта роль не назначена, пользователь с ролью владельца в подписке Azure должен выполнить следующую команду, чтобы предоставить пользователю Azure роль владельца данных Azure Digital Twins в экземпляре Azure Digital Twins.

Если вы являетесь владельцем подписки, вы можете выполнить эту команду самостоятельно. Если вы не являетесь владельцем, обратитесь к владельцу, чтобы выполнить эту команду от вашего имени.

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

Дополнительные сведения об этом требовании роли и процессе назначения см. в разделе "Настройка разрешений доступа пользователя".

Если у вас уже есть назначение ролей, и вы используете регистрацию приложения Microsoft Entra для проверки подлинности клиентского приложения, вы можете продолжить следующее решение, если это решение не устранит проблему 403.

Решение 2

Если вы используете регистрацию приложений Microsoft Entra для проверки подлинности клиентского приложения, второе возможное решение заключается в том, чтобы убедиться, что регистрация приложения имеет разрешения, настроенные для службы Azure Digital Twins. Если они не настроены, настройте их.

Проверка текущей установки

Чтобы проверка правильно ли настроены разрешения, перейдите на страницу обзора регистрации приложения Microsoft Entra в портал Azure. Вы можете самостоятельно добраться до этой страницы, выполнив поиск регистрации приложений на панели поиска на портале.

Перейдите на вкладку Все приложения, чтобы просмотреть все регистрации приложений, созданные в вашей подписке.

Вы должны увидеть созданную регистрацию приложений в списке. Выберите регистрацию, чтобы открыть подробные сведения.

Screenshot of the app registrations page in the Azure portal.

Сначала убедитесь, что для регистрации были правильно заданы параметры разрешений Azure Digital Twins: в строке меню выберите Манифест, чтобы просмотреть код манифеста регистрации приложения. Прокрутите окно кода вниз и найдите эти поля в разделе requiredResourceAccess. Значения должны соответствовать тем, которые приведены на снимке экрана ниже.

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

Затем в строке меню выберите разрешения API, чтобы убедиться, что регистрация приложений содержит разрешения на чтение и запись для Azure Digital Twins. Вы должны увидеть выходные данные, подобные этим.

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

Устранение неполадок

Если какой-либо из этих вариантов отличается от описанного, следуйте инструкциям по настройке регистрации приложения в разделе "Создание регистрации приложения с доступом Azure Digital Twins".

Следующие шаги

Ознакомьтесь с инструкциями по настройке создания и аутентификации нового экземпляра Azure Digital Twins:

Дополнительные сведения о безопасности и разрешениях для Azure Digital Twins: