Удаление AppRole приложения в Azure Active Directory

Удаление AppRole из манифеста приложения приводит к 400 ошибочных запросов с ошибкой

Значение свойства не может быть удалено, если оно не отключено первым.

Когда я устанавливаю для свойства isEnabled значение false, а затем нажимаю "Сохранить", я получаю успешное сохранение с 200 OK, глядя на инструменты разработчика браузеров:

До

После перезагрузки экрана редактирования манифеста isEnabled собственность все еще true и если вы посмотрите на ответ PUT в инструментах разработчика браузеров, он вернется как true там тоже.

После

Как я могу удалить appRole без необходимости удалять и заново создавать все приложение?

Обновить

Я поднял следующую ошибку.

7 ответов

Решение

Пока это не исправлено, есть два варианта решения этой проблемы:

  1. Используя 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
    
  2. Альтернативный вариант - использовать Azure AD Graph Explorer и выпустить два PATCH запросы на объект Application. Первый PATCH запрос должен установить роль приложения isEnabled приписывать false, Второй PATCH Затем запрос может удалить роль приложения (т. е. включить все существующие роли приложения, кроме отключенной).

Эта ошибка исправлена. Все, что вам нужно сделать, это установить isEnabled ложно и сохранить. Затем вы можете удалить роль и сохранить снова. Обходной путь не требуется.

Чтобы удалить роль приложения:

  1. Перейти к манифесту приложения.
  2. Роль приложения, которое вы хотите удалить, измените значение isEnabled ложно.
  3. Сохраните манифест.
  4. Удалите то, что соответствуете.
  5. Снова сохрани это.

Кажется, ошибка в новом портале. Операция сохранения не сохраняет isEnabled ложь на стороне сервера. Любые отзывы вы можете оставить здесь.

В настоящее время вы можете использовать классический портал Azure AD для изменения ролей приложения в манифесте (загрузить манифест, а затем выгрузить измененный манифест) . Удаление ролей приложений на классическом портале прекрасно работает в моей среде. Пожалуйста, дайте мне знать, если это поможет.

Вы не можете удалить назначенные роли, которые включены, вы сначала должны установить флаг isEnable в значение false и сохранить манифест для ролей, которые вы хотите удалить, как это ->"isEnabled": falseв манифесте, а теперь попробуйте удалить всю часть appRoles. (Приветствия)

Это двухэтапный процесс, но он работает.

У меня было такое же сообщение об ошибке Property value cannot be deleted unless it is disabled first.потому что я создал область на одной странице страницы и попытался добавить ее вручную в манифест на другой веб-странице. Я мало знал, что манифест обновляется автоматически, и мне просто нужно было его перезагрузить.

  • Перейдите к своему приложению

  • Перейти к ролям приложений

  • Щелкните отображаемое имя роли приложения.

  • Снимите флажок, чтобы отключить роль

  • Вернитесь к манифесту и внесите изменения вappRolesраздел, как вам нужно

  • Сохраните и он должен быть обновлен

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