Портал разработчика службы "Управление API" — часто задаваемые вопросы

ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Базовый | Базовая версия 2 | Стандартный | Standard v2 | Премиум

Что делать, если мне нужны функции, которые не поддерживаются на портале?

Вам доступны следующие варианты:

  • Для небольших настроек используйте встроенное мини-приложение для добавления пользовательского HTML-кода. В настоящее время мини-приложение пользовательского HTML-кода недоступно на уровнях Управление API версии 2.

  • Для более крупных настроек создайте и отправьте пользовательское мини-приложение на управляемый портал разработчика. В настоящее время пользовательские мини-приложения недоступны на уровнях версии 2 Управление API.

  • Самостоятельное размещение портала разработчика только в том случае, если необходимо внести изменения в ядро базы кода портала разработчика.

  • Откройте запрос на добавление функции в репозитории GitHub.

Дополнительные сведения о настройке и расширении функциональных возможностей портала разработчика.

Можно ли использовать несколько порталов разработчика в одной службе "Управление API"?

Вы можете использовать один управляемый портал и несколько локальных. Содержимое всех порталов хранится в одной Управление API службе, поэтому они будут идентичны. Если вы хотите, чтобы порталы различались по внешнему виду и функциональным возможностям, вы можете самостоятельно разместить их с использованием собственных пользовательских мини-приложений, которые динамически настраивают страницы во время выполнения, например на основе URL-адреса.

Поддерживает ли портал шаблоны Azure Resource Manager и/или совместим ли он с комплектом ресурсов DevOps Resource Kit службы "Управление API"?

Сохраняется ли содержимое портала функцией резервного копирования и восстановления в службе "Управление API"?

Нужно ли активировать дополнительное подключение виртуальной сети для зависимостей управляемого портала?

В большинстве случаев нет.

Если служба API Management находится во внутренней виртуальной сети, портал разработчика доступен лишь в пределах этой сети. Имя узла конечной точки управления должно разрешаться во внутренний виртуальный IP-адрес службы с компьютера, используемого для доступа к административному интерфейсу портала. Убедитесь, что конечная точка управления зарегистрирована в DNS. В случае неправильной настройки вы увидите ошибку: Unable to start the portal. See if settings are specified correctly in the configuration (...)

Если служба Управление API находится во внутренней виртуальной сети и вы обращаетесь к ней через Шлюз приложений из Интернета, обязательно включите подключение к порталу разработчика и конечным точкам управления в службе Управление API. Может потребоваться отключить правила Брандмауэра веб-приложений. Дополнительные сведения см. в этой статье.

Опубликованный портал не работает после назначения личного домена службы Управление API

После изменения домена нужно повторно опубликовать портал, чтобы изменения вступили в силу.

Я не вижу на портале добавленный поставщик удостоверений

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

Портал не использует настроенное мною делегирование

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

Изменения конфигурации API Management не были распространены на портал разработчика

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

При использовании интерактивной консоли возникает ошибка CORS

Интерактивная консоль выполняет клиентский запрос API из браузера. Устраните проблему CORS, добавив политику CORS в API или настроив портал для использования прокси-сервера CORS. Дополнительные сведения см. в разделе "Включение CORS для интерактивной консоли" на портале разработчика Управление API.

При использовании пользовательского мини-приложения кода HTML я получаю ошибку CORS.

При использовании пользовательского мини-приложения кода HTML в вашей среде может появиться ошибка CORS при взаимодействии с IFrame, загруженной мини-приложением. Эта проблема возникает из-за того, что IFrame обслуживает содержимое из другого источника, отличного от портала разработчика. Чтобы избежать этой проблемы, можно использовать пользовательское мини-приложение.

Какие разрешения нужны для изменения портала разработчика?

Если вы видите ошибку Oops. Something went wrong. Please try again later. при открытии портала в административном режиме, возможно, отсутствуют необходимые разрешения (Azure RBAC).

Для портала требуется разрешение Microsoft.ApiManagement/service/users/token/action на область/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim-service-name>/users/1.

Чтобы создать роль с требуемым разрешением, можно использовать указанный ниже сценарий PowerShell. Не забудьте изменить параметр <subscription-id>.

#New Portals Admin Role 
Import-Module Az 
Connect-AzAccount 
$contributorRole = Get-AzRoleDefinition "API Management Service Contributor" 
$customRole = $contributorRole 
$customRole.Id = $null
$customRole.Name = "APIM New Portal Admin" 
$customRole.Description = "This role gives the user ability to log in to the new Developer portal as administrator" 
$customRole.Actions = "Microsoft.ApiManagement/service/users/token/action" 
$customRole.IsCustom = $true 
$customRole.AssignableScopes.Clear() 
$customRole.AssignableScopes.Add('/subscriptions/<subscription-id>') 
New-AzRoleDefinition -Role $customRole 

После создания роли она может быть назначена любому пользователю из раздела Управление доступом (IAM) на портале Azure. Назначение этой роли пользователю приведет к назначению разрешения в области службы. Пользователь сможет создавать маркеры SAS от имени любого пользователя в службе. Эта роль должна быть назначена по меньшей мере администратору службы. Следующая команда PowerShell показывает, как назначить роль пользователю user1 в самой нижней области, чтобы избежать предоставления ему ненужных разрешений.

New-AzRoleAssignment -SignInName "user1@contoso.com" -RoleDefinitionName "APIM New Portal Admin" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim-service-name>/users/1" 

После предоставления разрешений пользователю он должен выйти из портала Azure и снова войти на него, чтобы новые разрешения вступили в силу.

Я вижу ошибку Unable to start the portal. See if settings are specified correctly (...).

Эта ошибка отображается при сбое вызова GET для https://<management-endpoint-hostname>/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.ApiManagement/service/xxx/contentTypes/document/contentItems/configuration?api-version=2018-06-01-preview. Вызов выполняется из браузера через административный интерфейс портала.

Если служба Управление API находится в виртуальной сети, см. вопрос о подключении к виртуальной сети.

Сбой вызова также может быть вызван сертификатом TLS/SSL, который назначается пользовательскому домену и не является доверенным браузером. В качестве временного решения вы можете удалить личный домен конечной точки управления. В таком случае Управление API будет использовать конечную точку по умолчанию с доверенным сертификатом.

Какова поддержка портала браузерами?

Браузер Поддерживается
Apple Safari Да1
Google Chrome Да1
Microsoft Edge Да1
Microsoft Internet Explorer No
Mozilla Firefox Да1

1 Поддерживается в двух последних рабочих версиях.

Локальная разработка локального портала больше не работает

Если локальная версия портала разработчика не может сохранить или получить сведения из учетной записи хранения или экземпляра Управление API, срок действия маркеров SAS может истек. Это можно исправить, создав маркеры. Инструкции см. в руководстве по самостоятельному размещению портала разработчика.

Как отключить регистрацию на портале разработчика?

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

  1. Перейдите к экземпляру Управления API на портале Azure.

  2. В разделе меню Портал разработчика выберите пункт Удостоверения.

  3. Удалите каждого поставщика удостоверений, который отображается в списке. Выберите каждого поставщика, откройте контекстное меню (...) и выберите пункт Удалить.

    Удаление поставщиков удостоверений

  4. Откройте интерфейс администрирования на портале разработчика.

  5. Удалите ссылки для регистрации и элементы навигации в содержимом портала. Сведения о настройке содержимого портала см. в статье Руководство. Доступ к порталу разработчика и его настройка.

  6. Измените содержимое страницы Регистрация, чтобы удалять поля, используемые для ввода данных об удостоверениях, если пользователь переходит к ним напрямую.

    При необходимости удалите страницу Регистрация. В настоящее время для перечисления и удаления этих страниц используются REST API contentItem.

  7. Сохраните изменения и заново опубликуйте портал.

Как удалить содержимое портала разработчика, подготовленное для службы "Управление API"?

Укажите необходимые параметры в сценарии scripts.v3/cleanup.bat в репозитории GitHub портала разработчика и запустите этот сценарий.

cd scripts.v3
.\cleanup.bat
cd ..

Как включить проверку подлинности с помощью единого входа на локальном портале разработчика?

Среди других методов проверки подлинности портал разработчика поддерживает единый вход. Для проверки подлинности с помощью этого метода нужно выполнить вызов /signin-sso с маркером в параметре запроса.

https://contoso.com/signin-sso?token=[user-specific token]

Создание маркеров пользователя

Вы можете создать маркеры для конкретного пользователя (включая маркеры администратора) с помощью операции Получить общий маркер доступаREST API Управления API.

Примечание.

Маркер должен быть закодирован в виде URL-адреса.

См. дополнительные сведения о портале разработчика:

Обзор других ресурсов