Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни управления API
Когда вы создаете экземпляр службы "Управления API" в облаке Azure, Azure назначает ему поддомен azure-api.net
(например, apim-service-name.azure-api.net
). Вы также можете предоставить доступ к своим конечным точкам управления API, используя собственное доменное имя, например contoso.com
. В этой статье показано, как сопоставить существующее пользовательское имя DNS с конечными точками, предоставляемыми экземпляром Управления API.
Важно!
Управление API принимает только запросы со значениями заголовка узла , соответствующими:
- доменное имя шлюза по умолчанию;
- любое настроенное пользовательское доменное имя шлюза.
Примечание
В настоящее время имена пользовательских доменов не поддерживаются в шлюзе рабочей области.
Важно!
Изменения инфраструктуры службы управления API (например, настройка пользовательских доменов, добавление сертификатов ЦС, масштабирование, конфигурация виртуальной сети, изменения зоны доступности и дополнения регионов) могут занять 15 минут или больше времени, в зависимости от уровня служб и размера развертывания. Ожидается больше времени для экземпляра с большим числом единиц масштабирования или конфигурацией с несколькими регионами. Изменения в управлении API внедряются постепенно и тщательно для сохранения производительности и доступности.
В то время как служба обновляется, другие изменения инфраструктуры служб не могут быть сделаны. Однако вы можете настроить API, продукты, политики и параметры пользователя. Служба не столкнется с простоем шлюза, а управление API будет продолжать обрабатывать запросы API без прерываний (за исключением уровня разработчика).
Экземпляр управления API. Дополнительные сведения см. в разделе Создание экземпляра службы управления API Azure.
Пользовательское доменное имя, принадлежащее вам или вашей организации. В этой статье не приводятся инструкции по приобретению пользовательского доменного имени.
Действительный сертификат с открытым и закрытым ключом (PFX) (необязательно). Субъект или альтернативное имя субъекта (SAN) должны совпадать с доменным именем (это позволяет экземпляру Управления API безопасно предоставлять URL-адреса через TLS).
DNS-записи, размещенные на DNS-сервере, которые сопоставляют пользовательское доменное имя с доменным именем по умолчанию для вашего экземпляра Управления API. В этом разделе не приводятся инструкции по размещению DNS-записей.
Дополнительные сведения о необходимых записях см. в разделе "Конфигурация DNS" далее в этой статье.
Есть ряд конечных точек Управления API, которым вы можете назначить пользовательское доменное имя. Сейчас доступны следующие конечные точки:
Конечная точка | По умолчанию. |
---|---|
Шлюз | По умолчанию: <apim-service-name>.azure-api.net . Шлюз — единственная конечная точка, доступная для настройки на уровне потребления.Конфигурация конечной точки шлюза по умолчанию остается доступной после добавления домена пользовательского шлюза. |
Портал разработчика | По умолчанию: <apim-service-name>.developer.azure-api.net |
Управление | По умолчанию: <apim-service-name>.management.azure-api.net |
API конфигурации (версия 2) | По умолчанию: <apim-service-name>.configuration.azure-api.net |
SCM | По умолчанию: <apim-service-name>.scm.azure-api.net |
- Вы можете обновить любую конечную точку, поддерживаемую на уровне служб. Как правило, клиенты обновляют шлюз (этот URL-адрес используется для вызова API, предоставляемых через управление API) и портала разработчика (URL-адрес портала разработчика ).
- Конечная точка шлюза по умолчанию остается доступной после настройки пользовательского доменного имени шлюза и не может быть удалена. Для других конечных точек управления API (например , портала разработчика), настроенных с помощью имени личного домена, конечная точка по умолчанию больше недоступна.
- Только владельцы экземпляров управления API могут использовать конечные точки Management и SCM для внутреннего доступа. Этим конечным точкам реже назначается пользовательское доменное имя.
- Уровни "Премиум " и "Разработчик " поддерживают настройку нескольких имен узлов для конечной точки шлюза .
- Доменные имена с подстановочными знаками, такие как
*.contoso.com
, поддерживаются на всех уровнях, кроме уровня потребления. Определенный поддомен сертификат (например, api.contoso.com) будет иметь приоритет над подстановочным сертификатом (*.contoso.com) для запросов к api.contoso.com.
Управление API поддерживает пользовательские сертификаты TLS и сертификаты, импортированные из Azure Key Vault. Вы также можете активировать бесплатный управляемый сертификат.
Предупреждение
Если вы хотите закрепить сертификат, следует использовать пользовательское доменное имя и пользовательский сертификат или сертификат Key Vault, а не сертификат по умолчанию или бесплатный управляемый сертификат. Мы не рекомендуем настраивать жесткую зависимость от сертификата, которым вы не управляете.
Если у вас уже есть закрытый сертификат от стороннего поставщика, вы можете его отправить в экземпляр Управления API. Он должен соответствовать следующим требованиям (бесплатный сертификат, управляемый службой "Управление API", уже им соответствует этим требованиям):
- экспортирован как PFX-файл, зашифрованный с помощью TRIPLE DES и при необходимости защищенный паролем;
- Содержит закрытый ключ длиной не менее 2048 битов
- должен содержать все промежуточные сертификаты и корневой сертификат в цепочке сертификатов.
Выберите шаги в соответствии с сертификатом домена , который вы хотите использовать.
- Перейдите к экземпляру службы "Управление API" на портале Azure.
- В области навигации слева выберите "Личные домены".
- Нажмите кнопку +Добавить или выберите существующую конечную точку , которую требуется обновить.
- В окне справа выберите тип конечной точки для личного домена.
- В поле "Имя узла " укажите имя, которое вы хотите использовать. Например,
api.contoso.com
. - В разделе "Сертификат" выберите "Настраиваемый"
- Выберите файл сертификата , чтобы выбрать и отправить сертификат.
- Загрузите допустимый файл .PFX и укажите его пароль, если сертификат защищен паролем.
- При настройке конечной точки шлюза выберите или отключите другие параметры при необходимости, включая согласование сертификата клиента или привязку SSL по умолчанию.
- Выберите "Добавить" или выберите "Обновить " для существующей конечной точки.
- Нажмите кнопку "Сохранить".
- Настройте запись CNAME для личного домена.
- При использовании бесплатного управляемого сертификата Управления API также настройте запись типа TXT, чтобы установить владение доменом.
Примечание
бесплатный сертификат выдается DigiCert. Для некоторых доменов необходимо явно разрешить DigiCert в качестве издателя сертификата, создав запись домена CAA со значением: 0 issue digicert.com
Настройте запись CNAME, которая связывает имя личного домена (например, api.contoso.com
) с именем узла службы "Управление API" (например, <apim-service-name>.azure-api.net
). Запись CNAME обеспечивает более стабильную работу, чем запись A, в случае изменения IP-адреса. Дополнительные сведения см. в разделах IP-адреса службы "Управление API Azure" и Часто задаваемые вопросы об управлении API.
Примечание
Некоторые регистраторы доменов позволяют отображать поддомены только при использовании записи CNAME, например www.contoso.com
, а не корневых имен, таких как contoso.com
. Дополнительные сведения о записях CNAME см. в документации, предоставленной вашим регистратором, или в документе IETF — доменные имена: реализация и спецификация.
Внимание!
При использовании бесплатного управляемого сертификата и настройки записи CNAME с поставщиком DNS убедитесь, что он разрешается в имя узла<apim-service-name>.azure-api.net
службы по умолчанию Управление API (). В настоящее время Управление API не обновляет сертификат автоматически, если запись CNAME не разрешает имя узла по умолчанию Управление API. Например, если вы используете бесплатный управляемый сертификат и используете Cloudflare в качестве поставщика DNS, убедитесь, что DNS-прокси не включен в записи CNAME.
При включении бесплатного управляемого сертификата для Управления API также настройте запись типа TXT в свой зоне DNS, чтобы установить владение доменным именем.
- Имя записи — это имя личного домена с префиксом
apimuid
. Пример:apimuid.api.contoso.com
. - Значение — это идентификатор владения доменом, предоставленный экземпляром Управления API.
Если для настройки бесплатного управляемого сертификата для личного домена вы использовали портал, имя и значение необходимой записи типа TXT отображаются автоматически.
Вы также можете получить идентификатор владения доменом, вызвав REST API Get Domain Ownership Identifier.
При настройке личного домена для конечной точки шлюза можно задать дополнительные свойства, определяющие способ ответа службы "Управление API" сертификатом сервера в зависимости от запроса клиента.
При наличии одного или нескольких личных доменов, настроенных для конечной точки шлюза, служба "Управления API" может отвечать на запросы HTTPS из следующих источников.
- Личный домен (например,
contoso.com
) - Домен по умолчанию (например,
apim-service-name.azure-api.net
).
В зависимости от информации в заголовке SNI, служба управления API отвечает соответствующим сертификатом сервера.
Если вы используете клиент, который не отправляет заголовок SNI , управление API создает ответы на основе следующей логики:
Если служба имеет только один личный домен, настроенный для шлюза, сертификат по умолчанию является сертификатом, выданным пользовательскому домену шлюза.
Если служба настроила несколько пользовательских доменов для шлюза (поддерживается на уровне "Разработчик " и "Премиум "), можно назначить сертификат по умолчанию, установив для свойства defaultSslBinding значение true (
"defaultSslBinding":"true"
). На портале установите флажок привязки SSL по умолчанию .Если вы не задали свойство, сертификатом по умолчанию является сертификат, выданный домену шлюза по умолчанию по адресу
*.azure-api.net
.
Прокси-сервер управления API поддерживает запросы с большим объемом (>40 КБ) полезных данных при использовании клиентских сертификатов в HTTPS. Чтобы предотвратить замораживание запроса сервера, можно задать для свойства negotiateClientCertificate значение true ("negotiateClientCertificate": "true"
) в имени узла шлюза. На портале установите флажок "Согласование сертификата клиента ".
Если свойство имеет значение true, сертификат клиента запрашивается во время подключения SSL/TLS перед обменом HTTP-запросами. Так как параметр применяется на уровне имени узла шлюза , все запросы на подключение запрашивают сертификат клиента. Это ограничение можно обойти и настроить до 20 пользовательских доменов для шлюза (только для уровня "Премиум ").