Справочник. Параметры конфигурации контейнера локального шлюза
ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Премия
В этой статье приведена ссылка на обязательные и необязательные параметры, которые используются для настройки контейнера шлюза Управление API локального размещения.
Чтобы узнать больше о руководстве по рабочей среде (Kubernetes), рекомендуем ознакомиться с этой статьей.
Внимание
Справочник применяется только к локальному шлюзу версии 2. Предоставляются минимальные версии для доступности параметров.
Интеграция API конфигурации
API конфигурации используется локальным шлюзом для подключения к Azure Управление API для получения последней конфигурации и отправки метрик при включении.
Ниже приведен обзор всех параметров конфигурации:
Имя | Описание | Обязательное поле | По умолчанию. | Availability |
---|---|---|---|---|
gateway.name | Идентификатор ресурса локального шлюза. | Да, при использовании проверки подлинности Microsoft Entra | Н/П | v2.3+ |
config.service.endpoint | Конечная точка конфигурации в Управлении API Azure для локального шлюза. Найдите это значение на портале Azure в разделе Шлюзы>Развертывание. | Да | Н/П | v2.0+ |
config.service.auth | Определяет способ проверки подлинности локального шлюза в API конфигурации. В настоящее время поддерживаются маркер шлюза и проверка подлинности Microsoft Entra. | Да | Н/П | v2.0+ |
config.service.auth.azureAd.tenantId | Идентификатор клиента Microsoft Entra. | Да, при использовании проверки подлинности Microsoft Entra | Н/П | v2.3+ |
config.service.auth.azureAd.clientId | Идентификатор клиента приложения Microsoft Entra для проверки подлинности (также называется идентификатором приложения). | Да, при использовании проверки подлинности Microsoft Entra | Н/П | v2.3+ |
config.service.auth.azureAd.clientSecret | Секрет приложения Microsoft Entra для проверки подлинности. | Да, при использовании проверки подлинности Microsoft Entra (если сертификат не указан) | Н/П | v2.3+ |
config.service.auth.azureAd.certificatePath | Путь к сертификату для проверки подлинности для приложения Microsoft Entra. | Да, при использовании проверки подлинности Microsoft Entra (если секрет не указан) | Н/П | v2.3+ |
config.service.auth.azureAd.authority | URL-адрес центра идентификатора Microsoft Entra. | No | https://login.microsoftonline.com |
v2.3+ |
config.service.auth.tokenAudience | Аудитория маркера, используемая для проверки подлинности Microsoft Entra | No | https://azure-api.net/configuration |
v2.3+ |
config.service.endpoint.disableCertificateValidation | Определяет, должен ли локальный шлюз проверить сертификат на стороне сервера API конфигурации. Рекомендуется использовать проверку сертификатов, отключать только для тестирования и с осторожностью, так как это может привести к риску безопасности. | No | false |
v2.0+ |
config.service.integration.timeout | Определяет время ожидания для взаимодействия с API конфигурации. | No | 00:01:40 |
v2.3.5+ |
Локальный шлюз обеспечивает поддержку нескольких вариантов проверки подлинности для интеграции с API конфигурации, который можно определить с помощью config.service.auth
.
Это руководство поможет вам предоставить необходимые сведения для определения способа проверки подлинности:
- Для проверки подлинности на основе маркера шлюза укажите маркер доступа (ключ проверки подлинности) локального шлюза в портал Azure в разделе "Развертывание шлюзов>".
- Для проверки подлинности на основе идентификаторов Microsoft Entra укажите и укажите
azureAdApp
дополнительныеconfig.service.auth.azureAd
параметры проверки подлинности.
Обнаружение и синхронизация между экземплярами
Имя | Описание | Обязательное поле | По умолчанию. | Availability |
---|---|---|---|---|
neighborhood.host | DNS-имя, используемое для разрешения всех экземпляров локального развертывания шлюза для синхронизации между экземплярами. В Kubernetes его можно достичь с помощью службы без головы. | No | Н/П | v2.0+ |
neighborhood.heartbeat.port | Порт UDP, используемый для экземпляров локального развертывания шлюза для отправки пульса другим экземплярам. | No | 4291 | v2.0+ |
policy.rate-limit.sync.port | Порт UDP, используемый для экземпляров локального шлюза для синхронизации ограничения скорости между несколькими экземплярами. | No | 4290 | v2.0+ |
HTTP
Имя | Описание | Обязательное поле | По умолчанию. | Availability |
---|---|---|---|---|
net.server.http.forwarded.proto.enabled | Возможность учитывать X-Forwarded-Proto заголовок для определения схемы для разрешения вызываемого маршрута API (только http/https). |
No | false | v2.5+ |
Интеграция Kubernetes
Входящий трафик Kubernetes
Внимание
Поддержка входящего трафика Kubernetes в настоящее время экспериментальна и не рассматривается через службу поддержки Azure. Дополнительные сведения см. на сайте GitHub.
Имя | Описание | Обязательное поле | По умолчанию. | Availability |
---|---|---|---|---|
k8s.ingress.enabled | Включите интеграцию входящего трафика Kubernetes. | No | false |
v1.2+ |
k8s.ingress.namespace | Пространство имен Kubernetes для просмотра ресурсов входящего трафика Kubernetes. | No | default |
v1.2+ |
k8s.ingress.dns.suffix | Суффикс DNS для создания имени узла DNS для служб для отправки запросов. | No | svc.cluster.local |
v2.4+ |
k8s.ingress.config.path | Путь к конфигурации Kubernetes (Kubeconfig). | No | Н/П | v2.4+ |
Метрики
Имя | Описание | Обязательное поле | По умолчанию. | Availability |
---|---|---|---|---|
telemetry.metrics.local | Включите локальный сбор метрик с помощью StatsD. Значение является одним из следующих параметров: none , statsd . |
No | none |
v2.0+ |
telemetry.metrics.local.statsd.endpoint | Конечная точка StatsD. | Да, если для telemetry.metrics.local задано значение statsd ; в противном случае — нет. |
Н/П | v2.0+ |
telemetry.metrics.local.statsd.sampling | Частота выборки метрик StatsD. Значение должно входит в диапазон 0–1 (по умолчанию: 0,5). | No | Н/П | v2.0+ |
telemetry.metrics.local.statsd.tag-format | Формат тегирования экспортера StatsD. Значение является одним из следующих параметров: ibrato , dogStatsD , influxDB . |
No | Н/П | v2.0+ |
telemetry.metrics.cloud | Указывает, следует ли включать отправку метрик в Azure Monitor. | No | true |
v2.0+ |
observability.opentelemetry.enabled | Указывает, следует ли включать отправку метрик в сборщик OpenTelemetry в Kubernetes. | No | false |
v2.0+ |
observability.opentelemetry.collector.uri | URI сборщика OpenTelemetry для отправки метрик. | Да, если для observability.opentelemetry.enabled задано значение true ; в противном случае — нет. |
Н/П | v2.0+ |
observability.opentelemetry.system-metrics.enabled | Включите отправку системных метрик сборщику OpenTelemetry, например ЦП, памяти, сборки мусора и т. д. | No | false |
v2.3+ |
observability.opentelemetry.histogram.buckets | Контейнеры гистограммы, в которые должны поступать метрики OpenTelemetry. Формат: "x,y,z,...". | No | "5,10,25,50,100,250,500,1000,2500,5000,10000" | v2.0+ |
Журналы
Имя | Описание | Обязательное поле | По умолчанию. | Availability |
---|---|---|---|---|
telemetry.logs.std | Включите запись журнала в стандартный поток. Значение является одним из следующих параметров: none , text , json . |
No | text |
v2.0+ |
telemetry.logs.std.level | Определяет уровень журнала журналов, отправленных в стандартный поток. Значение является одним из следующих параметров: all , debug , info , warn error или fatal . |
No | info |
v2.0+ |
telemetry.logs.std.color | Указывает, следует ли использовать цветные журналы в стандартном потоке. | No | true |
v2.0+ |
telemetry.logs.local | Включите локальное ведение журнала. Значение является одним из следующих параметров: none , auto , localsyslog , rfc5424 journal json |
No | auto |
v2.0+ |
telemetry.logs.local.localsyslog.endpoint | Конечная точка localsyslog. | Да, если для telemetry.logs.local задано значение localsyslog ; в противном случае — нет. Дополнительные сведения о конфигурации см . в документации по локальной системной системе. |
Н/П | v2.0+ |
telemetry.logs.local.localsyslog.facility | Задает код устройства localsyslog, например 7 . |
No | Н/П | v2.0+ |
telemetry.logs.local.rfc5424.endpoint | Конечная точка rfc5424. | Да, если для telemetry.logs.local задано значение rfc5424 ; в противном случае — нет. |
Н/П | v2.0+ |
telemetry.logs.local.rfc5424.facility | Код объекта для rfc5424, например 7 |
No | Н/П | v2.0+ |
telemetry.logs.local.journal.endpoint | Конечная точка журнала. | Да, если для telemetry.logs.local задано значение journal ; в противном случае — нет. |
Н/П | v2.0+ |
telemetry.logs.local.json.endpoint | Конечная точка UDP, которая принимает данные JSON, указанная как путь к файлу, IP-адрес:порт или имя узла:порт. | Да, если для telemetry.logs.local задано значение json ; в противном случае — нет. |
127.0.0.1:8888 | v2.0+ |
Безопасность
Сертификаты и шифры
Имя | Описание | Обязательное поле | По умолчанию. | Availability |
---|---|---|---|---|
certificates.local.ca.enabled | Указывает, следует ли локально размещенному шлюзу использовать локальные сертификаты ЦС, подключенные. Для запуска локального шлюза необходимо использовать корневой или с идентификатором пользователя 1001. | No | false |
v2.0+ |
net.server.tls.ciphers.allowed-suites | Разделенный запятыми список шифров, используемых для подключения TLS между клиентом API и локальным шлюзом. | No | TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA |
v2.0+ |
net.client.tls.ciphers.allowed-suites | Разделенный запятыми список шифров, используемых для подключения TLS между локальным шлюзом и серверной частью. | No | TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA |
v2.0+ |
security.certificate-revocation.validation.enabled | Предоставляет возможность включить или отключить проверку списка отзыва сертификатов | No | false |
v2.3.6+ |
TLS
Имя | Описание | Обязательное поле | По умолчанию. | Availability |
---|---|---|---|---|
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls13 | Указывает, разрешено ли протокол TLS 1.3 к серверной части. Аналогично управлению шифрами протоколов в управляемом шлюзе. | No | true |
v2.0+ |
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls12 | Указывает, разрешено ли tls 1.2 к серверной части. Аналогично управлению шифрами протоколов в управляемом шлюзе. | No | true |
v2.0+ |
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 | Указывает, разрешено ли tls 1.1 к серверной части. Аналогично управлению шифрами протоколов в управляемом шлюзе. | No | false |
v2.0+ |
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 | Указывает, разрешено ли протокол TLS 1.0 к серверной части. Аналогично управлению шифрами протоколов в управляемом шлюзе. | No | false |
v2.0+ |
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30 | Указывает, разрешено ли ssl 3.0 к серверной части. Аналогично управлению шифрами протоколов в управляемом шлюзе. | No | false |
v2.0+ |
Национальные облака
Ниже приведен обзор параметров, которые должны быть настроены для работы с суверенными облаками:
Имя. | Общедоступный | Azure – Китай | US Government |
---|---|---|---|
config.service.auth.tokenAudience | https://azure-api.net/configuration (по умолчанию) |
https://azure-api.cn/configuration |
https://azure-api.us/configuration |
logs.applicationinsights.endpoint | https://dc.services.visualstudio.com/v2/track (по умолчанию) |
https://dc.applicationinsights.azure.cn/v2/track |
https://dc.applicationinsights.us/v2/track |
Настройка параметров
YAML-файл Kubernetes
При развертывании локального шлюза в Kubernetes с помощью YAML-файла настройте параметры в виде пар имя-значение в элементе data
ConfigMap шлюза. Например:
apiVersion: v1
kind: ConfigMap
metadata:
name: contoso-gateway-environment
data:
config.service.endpoint: "contoso.configuration.azure-api.net"
telemetry.logs.std: "text"
telemetry.logs.local.localsyslog.endpoint: "/dev/log"
telemetry.logs.local.localsyslog.facility: "7"
[...]
Диаграмма Helm
При использовании Helm для развертывания локального шлюза в Kubernetes передайте параметры конфигурации диаграммы в качестве параметров в команде helm install
. Например:
helm install azure-api-management-gateway \
--set gateway.configuration.uri='contoso.configuration.azure-api.net' \
--set gateway.auth.key='GatewayKey contosogw&xxxxxxxxxxxxxx...' \
--set secret.createSecret=false \
--set secret.existingSecretName=`mysecret` \
azure-apim-gateway/azure-api-management-gateway
Следующие шаги
- Дополнительные указания по запуску локального шлюза в Kubernetes в рабочей среде
- Развертывание локального шлюза в Docker
- Развертывание локального шлюза в Kubernetes
- Развертывание локального шлюза в кластере Kubernetes с поддержкой Azure Arc
- Включение поддержки Dapr в локальном шлюзе
- Дополнительные сведения о параметрах конфигурации для расширения Azure Arc