Вопрос или проблема
Я работаю в многопользовательской среде, где у нас есть учетная запись администратора в одном клиенте (клиенте-партнере), и мы используем эту учетную запись для работы в других клиентах (клиентах-абонентах). У нас есть доступ к клиенту-абоненту через GDAP (ранее DAP).
Когда я пытаюсь использовать инструменты командной строки Microsoft Graph (Connect-MgGraph
) для подключения к клиенту-абоненту, я получаю следующее сообщение об ошибке.
AADSTS90099: Приложение ‘{appId}’ ({appName}) не было авторизовано в клиенте ‘{tenant}’. Приложения должны быть авторизованы для доступа к внешнему клиенту, прежде чем администраторы-партнеры смогут их использовать.
Я нашел справку по этому коду ошибки:
https://learn.microsoft.com/en-us/entra/identity-platform/reference-error-codes
В ней говорится, что нужно сделать следующее:
Предоставить предварительное согласие или выполнить соответствующий API Partner Center для авторизации приложения.
Но я не совсем понимаю, как это сделать. Как мы можем авторизовать это приложение для использования?
Ответ или решение
Для решения проблемы "AADSTS90099: Приложение не авторизовано в арендаторах" в условиях многоарендного окружения, вам необходимо выполнить несколько шагов, чтобы предоставить предварительное согласие или авторизовать приложение в клиентском арендаторе. Вот детальный процесс:
Шаг 1: Подготовка информации о приложении
- Получите ID приложения (appId): Это уникальный идентификатор вашего приложения, который вы можете найти в вашем Azure Portal.
- Убедитесь, что у вас есть доступ к Partner Center: Вам нужен доступ, чтобы выполнять API-запросы для авторизации приложения.
Шаг 2: Предварительное согласие
Арендатор клиента должен предоставить разрешение на использование вашего приложения. Для этого выполните следующие действия:
- Перейдите в Azure Active Directory (AAD) в портале Azure клиента.
- Выберите "Регистрация приложений" и затем выберите ваше приложение (по appId или имени).
- Перейдите на вкладку "API разрешения" и убедитесь, что все необходимые разрешения были добавлены. Если некоторые разрешения требуют администраторского согласия, вам надо будет запросить это согласие от администратора арендатора.
Шаг 3: Использование API Partner Center
Если вам необходимо использовать API для авторизации приложения, выполните следующие запросы:
-
Получите токен доступа: Используя ваше клиентское приложение, получите токен доступа, который будет использоваться для выполнения дальнейших API-запросов.
-
Выполните запрос к API: Используйте полученный токен доступа для выполнения запроса к API Partner Center для предварительного согласия:
POST https://manage.devcenter.microsoft.com/v1.0/my/publisher/applications/{appId}/consent Authorization: Bearer {access_token} Content-Type: application/json { "consentType": "PreConsent" }
-
Замените
{appId}
на идентификатор вашего приложения и{access_token}
на полученный токен.
Шаг 4: Проверка
После выполнения всех вышеуказанных шагов, вернитесь к команде Connect-MgGraph
и попробуйте снова подключиться к клиентскому арендатору. Если все было сделано правильно, проблема должна быть решена.
Примечания
- Убедитесь, что у вас достаточно прав для выполнения этих действий как в партнерском, так и в клиентском арендаторах.
- Иногда может потребоваться обратиться к администратору клиента, чтобы они выполнили некоторые из вышеуказанных шагов, так как у них может не быть необходимой разрешительной информации.
Итог
Этот процесс обеспечит авторизацию вашего приложения для работы в многоарендном окружении, позволяя вам использовать команды Microsoft Graph, такие как Connect-MgGraph
, без ошибок авторизации.