В чем разница между Microsoft.ApiManagement/service/portalsettings и Microsoft.ApiManagement/service/portalconfigs

В чем разница между ресурсами Microsoft.ApiManagement/service/portalsettings и Microsoft.ApiManagement/service/portalconfigs службы управления API Azure?

Я хочу развернуть некоторую конфигурацию портала разработчиков управления API Azure с помощью Bicep. Одним из пунктов является удаление поставщика удостоверений «Имя пользователя и пароль», поскольку мы собираемся использовать Microsoft Entra Id. Но я не уверен, что использовать.

Я удалил поставщика удостоверений вручную и заметил, что для свойства enabled в ресурсе portalsettings (имя signup) установлено значение false, а для свойства enableBasicAuth в ресурсе portalconfigs установлено значение false.

Я не смог найти в документации ничего, объясняющего разницу между этими двумя ресурсами.

Вы уже пробовали какой-нибудь код? @Рональд

Jahnavi 28.03.2024 08:19

Нет, не сейчас. Я надеялся, что кто-нибудь сможет объяснить разницу, прежде чем тратить много времени на ее устранение самостоятельно.

Ronald 28.03.2024 10:30
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
2
89
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Да, есть небольшая разница между PortalSettings и PortalConfigs в службе управления API Azure.

Microsoft.ApiManagement/service/portalsettings:

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

Microsoft.ApiManagement/service/portalconfigs:

Он управляет общим configuration options на портале разработчиков и фокусируется на аутентификации, например EnableBasicAuth.

Кроме того, этот поставщик ресурсов можно использовать для настройки отключения базовой аутентификации, обычно выполняемой при переходе на альтернативные методы аутентификации. (Ваш сценарий)

Заметил, что как для свойства enabled в ресурсе portalsettings (имя signup) установлено значение false, так и для свойства enableBasicAuth в ресурсе portalconfigs установлено значение false:

Вышеупомянутое наблюдение верно.

  • Установка enabled на false в portalsettings ( signup) отключает регистрацию пользователей через портал разработчиков.
  • Установка enableBasicAuth на false в portalconfigs отключает базовую аутентификацию.

Я попробовал выполнить приведенный ниже пример кода бицепса для поведения настроек портала (связанного с пользователем), и мне это удалось, как показано.

resource apima 'Microsoft.ApiManagement/service@2023-05-01-preview' existing= {
name: 'xxxapimgmt'
}
resource sett 'Microsoft.ApiManagement/service/portalsettings@2023-05-01-preview' = {
  name: 'signin'
  parent: apima
  properties: {
    enabled: true
  }
}

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

Я провел пару тестовых развертываний, и на самом деле они, похоже, частично перекрываются и влияют друг на друга.

Например:

  • Если вы включите свойство enableBasicAuth в portalconfigs, вы также включите portalsettings с именем signup и наоборот.
  • Если вы устанавливаете текст условий обслуживания через ресурс portalsettings, вы также настраиваете текст условий обслуживания в ресурсе portalconfigs и наоборот.

Таким образом, развертывание следующего Bicep, который содержит только ресурсы portalsettings, обновит ресурсы portalsettings, а также ресурс portalconfigs:

resource portalsettingsSignin 'Microsoft.ApiManagement/service/portalsettings@2022-08-01' = {
  name: 'signin'
  parent: apimService
  properties: {
    enabled: true // also changes /portalconfigs/properties/signin/require
  }
}

resource portalsettingsSignup 'Microsoft.ApiManagement/service/portalsettings@2022-08-01' = {
  name: 'signup'
  parent: apimService
  properties: {
    enabled: true // also changes /portalconfigs/properties/enableBasicAuth
    termsOfService: {
      consentRequired: true // also changes /portalconfigs/properties/signup/termsOfService/requireConsent
      text: 'My Terms of Service' // also changes /portalconfigs/properties/signup/termsOfService/text
      enabled: false  // doesn't seem to change anything in /portalconfigs
    }
  }
}

Следующий бицепс имеет тот же эффект, что и пример выше:

resource protalconfigs 'Microsoft.ApiManagement/service/portalconfigs@2022-08-01' = {
  name: 'default'
  parent: apimService
  properties: {
    enableBasicAuth: true
    signin: {
      require: true
    }
    signup: {
      termsOfService: {
        requireConsent: true
        text: 'My Terms of Service'
      }
    }
  }
}

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

Похожие вопросы

Устойчивые функции Azure PowerShell — странное поведение оркестратора
Ошибка выдачи приложения Microsoft Graph API. Код: Authorization_RequestDenied Сообщение: недостаточно прав для завершения операции
Альтернативы для пакета Python azure-iot-hub
Ошибка при входе в Azure AD B2C. URI перенаправления «localhost:3001», указанный в запросе, не зарегистрирован
Ошибка копирования большого двоичного объекта хранилища Azure из URL-адреса (REST API) в заголовке x-ms-requires-sync
Как узнать, повлияет ли обновление версии API на функцию AKS или нет?
Используйте DefaultAzureCredential для DataLakeServiceClient
Недопустимый атрибут «условие». Значение «@contains(string, «substring»)» находится вне диапазона допустимых значений
Ошибка входа в Azure AD B2C с ошибкой поставщика удостоверений Microsoft: для погашения кода авторизации между источниками требуется ключ подтверждения для обмена кодами
Невозможно преобразовать речь в текст с помощью службы преобразования речи в текст Azure