Удаление AppRole приложения в Azure Active Directory
Удаление AppRole из манифеста приложения приводит к 400 ошибочных запросов с ошибкой
Значение свойства не может быть удалено, если оно не отключено первым.
Когда я устанавливаю для свойства isEnabled значение false, а затем нажимаю "Сохранить", я получаю успешное сохранение с 200 OK, глядя на инструменты разработчика браузеров:
После перезагрузки экрана редактирования манифеста isEnabled
собственность все еще true
и если вы посмотрите на ответ PUT в инструментах разработчика браузеров, он вернется как true
там тоже.
Как я могу удалить appRole без необходимости удалять и заново создавать все приложение?
Обновить
Я поднял следующую ошибку.
7 ответов
Пока это не исправлено, есть два варианта решения этой проблемы:
Используя Azure AD PowerShell, вы можете отключить, а затем удалить роль приложения. Вот пример сценария, который бы достиг этого:
$appId = "83d7d56d-6e64-4791-b8e8-9a8da8dd957e" $appRoleValue = "app-role-value" # i.e. the scope Connect-AzureAD # Disable the AppRole $app = Get-AzureADApplication -Filter "appId eq '$appId'" ($app.AppRoles | Where-Object { $_.Value -eq $appRoleValue }).IsEnabled = $false Set-AzureADApplication -ObjectId $app.ObjectId -AppRoles $app.AppRoles # Remove the AppRole $toRemove = $app.AppRoles | Where-Object { $_.Value -eq $appRoleValue } $app.AppRoles.Remove($toRemove) | Out-Null Set-AzureADApplication -ObjectId $app.ObjectId -AppRoles $app.AppRoles
Альтернативный вариант - использовать Azure AD Graph Explorer и выпустить два
PATCH
запросы на объект Application. ПервыйPATCH
запрос должен установить роль приложенияisEnabled
приписыватьfalse
, ВторойPATCH
Затем запрос может удалить роль приложения (т. е. включить все существующие роли приложения, кроме отключенной).
Эта ошибка исправлена. Все, что вам нужно сделать, это установить isEnabled
ложно и сохранить. Затем вы можете удалить роль и сохранить снова. Обходной путь не требуется.
Чтобы удалить роль приложения:
- Перейти к манифесту приложения.
- Роль приложения, которое вы хотите удалить, измените значение
isEnabled
ложно. - Сохраните манифест.
- Удалите то, что соответствуете.
- Снова сохрани это.
Кажется, ошибка в новом портале. Операция сохранения не сохраняет isEnabled
ложь на стороне сервера. Любые отзывы вы можете оставить здесь.
В настоящее время вы можете использовать классический портал Azure AD для изменения ролей приложения в манифесте (загрузить манифест, а затем выгрузить измененный манифест) . Удаление ролей приложений на классическом портале прекрасно работает в моей среде. Пожалуйста, дайте мне знать, если это поможет.
Вы не можете удалить назначенные роли, которые включены, вы сначала должны установить флаг isEnable в значение false и сохранить манифест для ролей, которые вы хотите удалить, как это ->"isEnabled": false
в манифесте, а теперь попробуйте удалить всю часть appRoles. (Приветствия)
Это двухэтапный процесс, но он работает.
У меня было такое же сообщение об ошибке Property value cannot be deleted unless it is disabled first.
потому что я создал область на одной странице страницы и попытался добавить ее вручную в манифест на другой веб-странице. Я мало знал, что манифест обновляется автоматически, и мне просто нужно было его перезагрузить.