Справочник. Параметры конфигурации контейнера локального шлюза

ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Премиум

В этой статье приведена ссылка на обязательные и необязательные параметры, которые используются для настройки контейнера шлюза Управление 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, warnerror или fatal. No info v2.0+
telemetry.logs.std.color Указывает, следует ли использовать цветные журналы в стандартном потоке. No true v2.0+
telemetry.logs.local Включите локальное ведение журнала. Значение является одним из следующих параметров: none, auto, localsyslog, rfc5424journaljson 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+

Национальные облака

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

Имя. Общедоступный 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

Следующие шаги