Ошибка авторизации Azure для dnsZones

Я новичок в Microsoft Azure.

Я пытаюсь использовать их API для DNS. Спустя долгое время я наконец нашел, как создать приложение и как получить все необходимые ключи. Я также добавил разрешение (на данный момент я добавил все разрешения для своих тестов), но у меня следующая ошибка:

The client 'xxx' with object id 'xxx' does not have authorization to perform action 'Microsoft.Network/dnsZones/read' over scope '/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Network/dnsZones/xxx'.

Я думал, что это проблема с разрешением, но я добавил все возможные разрешения в приложение. Я не особо разбираюсь в Active Directory.

Кто-нибудь может мне помочь ? Большое спасибо.

Обновлено:

Что я сделал:

Создайте приложение: Azure Active Directory> Регистрация приложения> Добавить> Создать.

Добавьте разрешения: Azure Active Directory> Регистрация приложения> Просмотреть все приложения> Мое приложение> Параметры> Требуемые разрешения> Windows Azure Active Directory> Проверить все разрешения приложений и все делегированные разрешения> Сохранить> Предоставить разрешение.

Создание ролей: Подписки> Моя подписка> Контроль доступа (IAM)> Добавить> Выбрать роль «Участник зоны DNS»> Назначить моему пользователю.

Я что-то делаю не так?

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как создать простое погодное приложение на Python с API OpenWeatherMap
Как создать простое погодное приложение на Python с API OpenWeatherMap
Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.
Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
В этом руководстве вы узнаете, как использовать API парсинга квитанций за 5 минут с помощью JavaScript. Eden AI предоставляет простой и удобный для...
0
0
416
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это означает, что у вас нет разрешений. :)

Вам необходимо это разрешение: Microsoft.Network/dnsZones/read
в этой области: /subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Network/dnsZones/xxx

вы можете предоставить именно эти разрешения с помощью настраиваемой роли или использовать одну из встроенных ролей.

https://docs.microsoft.com/en-us/azure/role-based-access-control/rbac-and-directory-admin-roles
https://docs.microsoft.com/en-us/azure/role-based-access-control/custom-roles

Я использовал встроенную роль (эта: docs.microsoft.com/en-us/azure/role-based-access-control/…), но у меня все еще есть ошибка.

iAmoric 09.08.2018 16:14

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

4c74356b41 09.08.2018 17:19

Я редактирую свой вопрос, чтобы объяснить, что я сделал. Это правильно ?

iAmoric 10.08.2018 09:45

вам нужно назначать разрешения не вашему пользователю, а приложению. вы можете использовать objectId, указанный в тексте ошибки

4c74356b41 10.08.2018 09:57

вы можете использовать для этого powershell: docs.microsoft.com/en-us/powershell/azure/… вы можете попробовать с порталом, используя имя службы princiapl \ objectid

4c74356b41 10.08.2018 10:06

Хорошо, я нашел это. Я назначаю своему приложению роль DNS Zone Contributor, и оно работает

iAmoric 10.08.2018 10:13

Другие вопросы по теме