Sdílet prostřednictvím


Referenční informace: Nastavení konfigurace kontejneru brány v místním prostředí

PLATÍ PRO: Vývojář | Prémie

Tento článek obsahuje referenční informace pro povinná a volitelná nastavení, která slouží ke konfiguraci kontejneru brány v místním prostředí služby API Management.

Další informace o našich produkčních doprovodných materiálech (Kubernetes) doporučujeme přečíst si tento článek.

Důležité

Tento odkaz se vztahuje pouze na bránu v2 v místním prostředí. K dispozici jsou minimální verze pro dostupnost nastavení.

Integrace rozhraní API pro konfiguraci

Rozhraní API konfigurace používá brána v místním prostředí k připojení ke službě Azure API Management k získání nejnovější konfigurace a odesílání metrik, pokud je tato možnost povolená.

Tady je přehled všech možností konfigurace:

Název Popis Požaduje se Výchozí Dostupnost
gateway.name ID prostředku brány v místním prostředí. Ano, při použití ověřování Microsoft Entra v2.3 nebo novější
config.service.endpoint Koncový bod konfigurace ve službě Azure API Management pro bránu v místním prostředí Tuto hodnotu najdete na webu Azure Portal v části Nasazení bran>. Yes v2.0+
config.service.auth Definuje, jak se má brána v místním prostředí ověřovat v konfiguračním rozhraní API. V současné době se podporuje token brány a ověřování Microsoft Entra. Yes v2.0+
config.service.auth.azureAd.tenantId ID tenanta Microsoft Entra. Ano, při použití ověřování Microsoft Entra v2.3 nebo novější
config.service.auth.azureAd.clientId ID klienta aplikace Microsoft Entra pro ověření (označované také jako ID aplikace). Ano, při použití ověřování Microsoft Entra v2.3 nebo novější
config.service.auth.azureAd.clientSecret Tajný kód aplikace Microsoft Entra pro ověření. Ano, při použití ověřování Microsoft Entra (pokud není zadán certifikát) v2.3 nebo novější
config.service.auth.azureAd.certificatePath Cesta k certifikátu pro ověření pro aplikaci Microsoft Entra Ano, při použití ověřování Microsoft Entra (pokud není zadaný tajný kód) v2.3 nebo novější
config.service.auth.azureAd.authority Adresa URL autority Microsoft Entra ID. No https://login.microsoftonline.com v2.3 nebo novější
config.service.auth.tokenAudience Cílová skupina tokenu používaná pro ověřování Microsoft Entra No https://azure-api.net/configuration v2.3 nebo novější
config.service.endpoint.disableCertificateValidation Definuje, jestli má brána v místním prostředí ověřit certifikát na straně serveru konfiguračního rozhraní API. Doporučuje se používat ověřování certifikátů, zakázat pouze pro účely testování a s opatrností, protože může představovat bezpečnostní riziko. No false v2.0+
config.service.integration.timeout Definuje časový limit pro interakci s konfiguračním rozhraním API. No 00:01:40 v2.3.5 nebo novější

Brána v místním prostředí poskytuje podporu několika možností ověřování pro integraci s konfiguračním rozhraním API, které je možné definovat pomocí config.service.auth.

Tyto pokyny vám pomůžou poskytnout požadované informace k definování způsobu ověřování:

  • Pro ověřování na základě tokenů brány zadejte přístupový token (ověřovací klíč) brány v místním prostředí na webu Azure Portal v části Nasazení bran>.
  • Pro ověřování založené na ID Microsoft Entra zadejte azureAdApp a zadejte další config.service.auth.azureAd nastavení ověřování.

Zjišťování a synchronizace mezi instancemi

Název Popis Požaduje se Výchozí Dostupnost
neighborhood.host Název DNS používaný k překladu všech instancí nasazení brány v místním prostředí pro synchronizaci mezi instancemi. V Kubernetes ho můžete dosáhnout pomocí bezobslužné služby. No v2.0+
neighborhood.heartbeat.port Port UDP používaný pro instance nasazení brány v místním prostředí k odesílání prezenčních signálů do jiných instancí. No 4291 v2.0+
policy.rate-limit.sync.port Port UDP používaný pro instance brány v místním prostředí k synchronizaci omezování rychlosti napříč několika instancemi. No 4290 v2.0+

HTTP

Název Popis Požaduje se Výchozí Dostupnost
net.server.http.forwarded.proto.enabled Schopnost respektovat X-Forwarded-Proto hlavičku pro identifikaci schématu pro překlad pojmenované trasy rozhraní API (pouze http/https). No false (nepravda) v2.5 nebo novější

Integrace Kubernetes

Příchozí přenos dat Kubernetes

Důležité

Podpora příchozího přenosu dat Kubernetes je v současné době experimentální a neprobírá se prostřednictvím podpory Azure. Další informace najdete na GitHubu.

Název Popis Požaduje se Výchozí Dostupnost
k8s.ingress.enabled Povolte integraci příchozího přenosu dat Kubernetes. No false v1.2 nebo novější
k8s.ingress.namespace Obor názvů Kubernetes pro sledování prostředků příchozího přenosu dat Kubernetes No default v1.2 nebo novější
k8s.ingress.dns.suffix Přípona DNS pro sestavení názvu hostitele DNS pro služby, na které se mají odesílat požadavky. No svc.cluster.local v2.4 nebo novější
k8s.ingress.config.path Cesta ke konfiguraci Kubernetes (Kubeconfig). No v2.4 nebo novější

Metriky

Název Popis Požaduje se Výchozí Dostupnost
telemetry.metrics.local Povolte shromažďování místních metrik prostřednictvím statistiky. Hodnota je jednou z následujících možností: none, statsd. No none v2.0+
telemetry.metrics.local.statsd.endpoint Koncový bod statistiky Ano, pokud telemetry.metrics.local je nastavená hodnota statsd; jinak ne. v2.0+
telemetry.metrics.local.statsd.sampling Vzorkovací frekvence metrik StatsD Hodnota musí být mezi 0 a 1, například 0,5. No v2.0+
telemetry.metrics.local.statsd.tag-format Formát označování exportéru StatsD. Hodnota je jednou z následujících možností: ibrato, dogStatsD, influxDB. No v2.0+
telemetry.metrics.cloud Indikuje, jestli chcete povolit generování metrik do služby Azure Monitor nebo ne. No true v2.0+
observability.opentelemetry.enabled Označuje, jestli chcete povolit generování metrik do kolektoru OpenTelemetry v Kubernetes. No false v2.0+
observability.opentelemetry.collector.uri Identifikátor URI kolektoru OpenTelemetry pro odesílání metrik. Ano, pokud observability.opentelemetry.enabled je nastavená hodnota true; jinak ne. v2.0+
observability.opentelemetry.system-metrics.enabled Povolte odesílání systémových metrik do kolektoru OpenTelemetry, jako je procesor, paměť, uvolňování paměti atd. No false v2.3 nebo novější
observability.opentelemetry.histogram.buckets Kontejnery histogramu, ve kterých by se měly hlásit metriky OpenTelemetry. Formát: "x,y,z,...". No "5,10,25,50,100,250,500,1000,2500,5000,10000" v2.0+

Protokoly

Název Popis Požaduje se Výchozí Dostupnost
telemetry.logs.std Povolte protokolování do standardního datového proudu. Hodnota je jednou z následujících možností: none, text, json. No text v2.0+
telemetry.logs.std.level Definuje úroveň protokolu protokolů odesílaných do standardního datového proudu. Hodnota je jedna z následujících možností: all, debug, info, warn, error nebo fatal. No info v2.0+
telemetry.logs.std.color Indikuje, zda se mají barevné protokoly používat ve standardním datovém proudu. No true v2.0+
telemetry.logs.local Povolte místní protokolování. Hodnota je jednou z následujících možností: none, auto, localsyslog, rfc5424, journaljson No auto v2.0+
telemetry.logs.local.localsyslog.endpoint koncový bod localsyslogu. Ano, pokud telemetry.logs.local je nastavená hodnota localsyslog; jinak ne. Další podrobnosti o konfiguraci najdete v dokumentaci k místnímu syslogu. v2.0+
telemetry.logs.local.localsyslog.facility Určuje kód zařízení localsyslog, například 7. No v2.0+
telemetry.logs.local.rfc5424.endpoint koncový bod rfc5424. Ano, pokud telemetry.logs.local je nastavená hodnota rfc5424; jinak ne. v2.0+
telemetry.logs.local.rfc5424.facility Kód zařízení na rfc5424, například7 No v2.0+
telemetry.logs.local.journal.endpoint Koncový bod deníku. Ano, pokud telemetry.logs.local je nastavená hodnota journal; jinak ne. v2.0+
telemetry.logs.local.json.endpoint Koncový bod UDP, který přijímá data JSON určená jako cesta k souboru, IP:port nebo název hostitele:port. Ano, pokud telemetry.logs.local je nastavená hodnota json; jinak ne. 127.0.0.1:8888 v2.0+

Zabezpečení

Certifikáty a šifry

Název Popis Požaduje se Výchozí Dostupnost
certificates.local.ca.enabled Označuje, jestli má brána v místním prostředí používat připojené certifikáty certifikační autority. Je nutné spustit bránu v místním prostředí jako kořen nebo s ID uživatele 1001. No false v2.0+
net.server.tls.ciphers.allowed-suites Čárkami oddělený seznam šifr, které se mají použít pro připojení TLS mezi klientem rozhraní API a bránou v místním prostředí. 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 Čárkami oddělený seznam šifer, které se mají použít pro připojení TLS mezi bránou v místním prostředí a back-endem. 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 Poskytuje možnost zapnout nebo vypnout ověřování seznamu odvolaných certifikátů. No false v2.3.6 nebo novější

Protokol TLS

Název Popis Požaduje se Výchozí Dostupnost
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls13 Indikuje, jestli je k back-endu povolený protokol SSL 3.0 nebo ne. Podobá se správě šifer protokolu ve spravované bráně. No true v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls12 Označuje, jestli je k back-endu povolený protokol TLS 1.2 nebo ne. Podobá se správě šifer protokolu ve spravované bráně. No true v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 Označuje, jestli je k back-endu povolený protokol TLS 1.1 nebo ne. Podobá se správě šifer protokolu ve spravované bráně. No false v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 Indikuje, jestli je k back-endu povolený protokol TLS 1.0 nebo ne. Podobá se správě šifer protokolu ve spravované bráně. No false v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30 Indikuje, jestli je k back-endu povolený protokol SSL 3.0 nebo ne. Podobá se správě šifer protokolu ve spravované bráně. No false v2.0+

Suverénní cloudy

Tady je přehled nastavení, která je potřeba nakonfigurovat tak, aby fungovala s suverénními cloudy:

Název Veřejná Azure (Čína) Vláda USA
config.service.auth.tokenAudience https://azure-api.net/configuration (Výchozí) https://azure-api.cn/configuration https://azure-api.us/configuration
logs.applicationinsights.endpoint https://dc.services.visualstudio.com/v2/track (Výchozí) https://dc.applicationinsights.azure.cn/v2/track https://dc.applicationinsights.us/v2/track

Konfigurace nastavení

Soubor YAML Kubernetes

Při nasazování brány v místním prostředí do Kubernetes pomocí souboru YAML nakonfigurujte nastavení jako páry název-hodnota v data elementu ConfigMap brány. Příklad:

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"

[...]

Graf Helm

Při použití Helmu k nasazení brány v místním prostředí do Kubernetes předejte nastavení konfigurace grafu jako parametry příkazu helm install . Příklad:

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

Další kroky