Referens: Konfigurationsinställningar för lokalt installerad gatewaycontainer

GÄLLER FÖR: Utvecklare | Premie

Den här artikeln innehåller en referens för obligatoriska och valfria inställningar som används för att konfigurera api Management-gatewaycontainern med egen värd.

För mer information, se Vägledning för att köra en självhostad gateway på Kubernetes i produktion.

Viktigt!

Den här referensen gäller endast för den lokalt installerade gatewayen v2. Denna referens anger den minsta versionen som stöder varje inställning.

Konfigurations-API-integrering

Den självhostade gatewayen använder Configuration API för att ansluta till Azure API Management, få den senaste konfigurationen och skicka mätvärden när den är aktiverad.

Följande tabell beskriver konfigurationsalternativen för konfigurations-API-integration:

Namn beskrivning Obligatoriskt Standardvärde Tillgänglighet
gateway.name ID för den lokalt installerade gatewayresursen. Ja, när du använder Microsoft Entra-autentisering Ej tillämpligt v2.3+
config.service.endpoint Konfigurationsslutpunkt i Azure API Management för den lokalt installerade gatewayen. Hitta det här värdet i Azure Portal under Gatewaydistribution>. Ja Ej tillämpligt v2.0+
config.service.auth Definierar hur den självhostade gatewayen autentiserar sig mot Configuration API. För närvarande stödjer gateway-token och Microsoft Entra-autentisering. Ja Ej tillämpligt v2.0+
config.service.auth.azureAd.tenantId ID för Microsoft Entra-klientorganisationen. Ja, när du använder Microsoft Entra-autentisering Ej tillämpligt v2.3+
config.service.auth.azureAd.clientId Klient-ID för Microsoft Entra-appen att autentisera med (även kallat program-ID). Ja, när du använder Microsoft Entra-autentisering Ej tillämpligt v2.3+
config.service.auth.azureAd.clientSecret Hemlighet för Microsoft Entra-appen att autentisera med. Ja, när du använder Microsoft Entra-autentisering (om du inte anger ett certifikat) Ej tillämpligt v2.3+
config.service.auth.azureAd.certificatePath Sökväg till certifikat att autentisera med för Microsoft Entra-appen. Ja, när man använder Microsoft Entra-autentisering (om du inte anger en hemlighet) Ej tillämpligt v2.3+
config.service.auth.azureAd.authority Utfärdar-URL för Microsoft Entra-ID. Nej https://login.microsoftonline.com v2.3+
config.service.auth.tokenAudience Målgruppen för token för Microsoft Entra-autentisering. Nej https://azure-api.net/configuration v2.3+
config.service.endpoint.disableCertificateValidation Definierar om den självhostade gatewayen validerar serversidans certifikat för Configuration API. Använd certifikatvalidering i produktion. Inaktivera det endast för testning och var försiktig eftersom det kan innebära en säkerhetsrisk. Nej false v2.0+
config.service.integration.timeout Definierar tidsgränsen för att interagera med konfigurations-API:et. Nej 00:01:40 v2.3.5+

Den självhostade gatewayen stöder flera autentiseringsalternativ för att integreras med Configuration API. Definiera dessa alternativ genom att använda config.service.auth.

För att definiera hur man autentiserar, ge följande information:

  • För gatewaytokenbaserad autentisering anger du en åtkomsttoken (autentiseringsnyckel) för den lokalt installerade gatewayen i Azure Portal under Gateways-distribution>.
  • För Microsoft Entra ID-baserad autentisering anger azureAdApp och anger du de ytterligare config.service.auth.azureAd autentiseringsinställningarna.

Upptäckt och synkronisering mellan instanser

Namn beskrivning Obligatoriskt Standardvärde Tillgänglighet
neighborhood.host DNS-namn som används för att lösa alla instanser av en gatewaydistribution med egen värd för synkronisering mellan instanser. I Kubernetes, använd en headless Service för att lösa instanserna. Nej Ej tillämpligt v2.0+
neighborhood.heartbeat.port UDP-port som används för instanser av en gatewaydistribution med egen värd för att skicka pulsslag till andra instanser. Nej 4291 v2.0+
policy.rate-limit.sync.port UDP-port som används för gatewayinstanser med egen värd för att synkronisera hastighetsbegränsning över flera instanser. Nej 4290 v2.0+

HTTP

Namn beskrivning Obligatoriskt Standardvärde Tillgänglighet
net.server.http.forwarded.proto.enabled Hedrar X-Forwarded-Proto headern för att identifiera schemat som ska lösa den anropade API-rutten (endast http/https). Nej false v2.5+

Kubernetes-integrering

Kubernetes Ingress (preview)

Viktigt!

Stödet för Kubernetes Ingress är experimentellt, och Azure Support täcker det inte. Läs mer i Kubernetes Ingress GitHub-arkivet.

Namn beskrivning Obligatoriskt Standardvärde Tillgänglighet
k8s.ingress.enabled Aktivera Kubernetes Ingress-integrering. Nej false v2.0+
k8s.ingress.namespace Kubernetes-namnrymd för att titta på Kubernetes Ingress-resurser i. Nej default v2.0+
k8s.ingress.dns.suffix DNS-suffix för att skapa DNS-värdnamn för tjänster att skicka begäranden till. Nej svc.cluster.local v2.4+
k8s.ingress.config.path Sökväg till Kubernetes-konfiguration (Kubeconfig). Nej Ej tillämpligt v2.4+

Mått

Namn beskrivning Obligatoriskt Standardvärde Tillgänglighet
telemetry.metrics.local Aktivera insamling av lokala mått via StatsD. Värdet är ett av följande alternativ: none, statsd. Nej none v2.0+
telemetry.metrics.local.statsd.endpoint StatsD-slutpunkt. Ja, om telemetry.metrics.local är inställt på statsd; annars nej. Ej tillämpligt v2.0+
telemetry.metrics.local.statsd.sampling StatistikD-måttsamplingshastighet. Värdet måste vara mellan 0 och 1, till exempel 0,5. Nej Ej tillämpligt v2.0+
telemetry.metrics.local.statsd.tag-format Taggningsformat för StatsD-exportör. Värdet är ett av följande alternativ: librato, dogStatsD, influxDB. Nej Ej tillämpligt v2.0+
telemetry.metrics.cloud Indikering om man ska aktivera emitting metrics till Azure Monitor. Nej true v2.0+
observability.opentelemetry.enabled Indikation på om man ska aktivera emittering av mätvärden till en OpenTelemetrie-samlare på Kubernetes. Nej false v2.0+
observability.opentelemetry.collector.uri URI för OpenTelemetry-insamlaren att skicka mått till. Ja, om observability.opentelemetry.enabled är inställt på true; annars nej. Ej tillämpligt v2.0+
observability.opentelemetry.system-metrics.enabled Aktivera sändande systemmetrik, såsom CPU, minne och skräpsamling, till OpenTelemetrie-samlaren. Nej false v2.3+
observability.opentelemetry.histogram.buckets Histogramhinkar för att rapportera OpenTelemetri-metrier. Format: "x,y,z,...". Nej "5,10,25,50,100,250,500,1000,2500,5000,10000" v2.0+

Loggar

Namn beskrivning Obligatoriskt Standardvärde Tillgänglighet
telemetry.logs.std Aktivera loggning till en standardström. Värdet är ett av följande alternativ: none, text, json. Nej text v2.0+
telemetry.logs.std.level Definierar loggnivån av loggar som skickas till standardströmmen. Värde är ett av följande alternativ: all, , debuginfo, warn, error, , eller fatal. Nej info v2.0+
telemetry.logs.std.color Indikera om färgade stockar ska användas i standardströmmen eller inte. Nej true v2.0+
telemetry.logs.local Aktivera lokal loggning. Värdet är ett av följande alternativ: none, auto, localsyslog, rfc5424, , journal, json Nej auto v2.0+
telemetry.logs.local.localsyslog.endpoint localsyslog-slutpunkt. Ja om telemetry.logs.local är inställt på localsyslog; annars nej. Mer information om konfiguration finns i dokumentationen för lokal syslog. Ej tillämpligt v2.0+
telemetry.logs.local.localsyslog.facility Anger localsyslog-anläggningskod, till exempel 7. Nej Ej tillämpligt v2.0+
telemetry.logs.local.rfc5424.endpoint rfc5424-slutpunkt. Ja om telemetry.logs.local är inställt på rfc5424; annars nej. Ej tillämpligt v2.0+
telemetry.logs.local.rfc5424.facility Anläggningskod per rfc5424, till exempel 7 Nej Ej tillämpligt v2.0+
telemetry.logs.local.journal.endpoint Journalslutpunkt. Ja om telemetry.logs.local är inställt på journal; annars nej. Ej tillämpligt v2.0+
telemetry.logs.local.json.slutpunkt UDP-slutpunkt som accepterar JSON-data, som anges som filsökväg, IP:port eller värdnamn:port. Ja om telemetry.logs.local är inställt på json; annars nej. 127.0.0.1:8888 v2.0+

Säkerhet

Certifikat och chiffer

Namn beskrivning Obligatoriskt Standardvärde Tillgänglighet
certificates.local.ca.enabled Ange om den självhostade gatewayen bör använda monterade lokala CA-certifikat. Det krävs för att köra den lokalt installerade gatewayen som rot eller med användar-ID 1001. Nej false v2.0+
net.server.tls.ciphers.allowed-suites Komma-separerad lista över chiffer att använda för TLS-anslutning mellan API-klienten och den självhostade gatewayen. Nej 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 Kommaavgränsad lista över chiffer som ska användas för TLS-anslutning mellan den lokala gatewayen och serverdelen. Nej 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 Slår på eller av validering av certifikatinkallningslistan. Nej false v2.3.6+

TLS

Namn beskrivning Obligatoriskt Standardvärde Tillgänglighet
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls13 Indikerar om gatewayen tillåter TLS 1.3 till backend. Liknar hantering av protokoll chiffer i hanterad gateway. Nej true v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls12 Indikerar om gatewayen tillåter TLS 1.2 till backend. Liknar hantering av protokoll chiffer i hanterad gateway. Nej true v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 Indikerar om gatewayen tillåter TLS 1.1 till backend. Liknar hantering av protokoll chiffer i hanterad gateway. Nej false v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 Indikerar om gatewayen tillåter TLS 1.0 till backend. Liknar hantering av protokoll chiffer i hanterad gateway. Nej false v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30 Indikerar om gatewayen tillåter SSL 3.0 till backend. Liknar hantering av protokoll chiffer i hanterad gateway. Nej false v2.0+

Nationella moln

Följande tabell beskriver de inställningar du måste konfigurera för att fungera med suveräna moln:

Namn Offentliga Azure Kina USA:s regering
config.service.auth.tokenAudience https://azure-api.net/configuration (Standard) https://azure-api.cn/configuration https://azure-api.us/configuration
logs.applicationinsights.endpoint https://dc.services.visualstudio.com/v2/track (Standard) https://dc.applicationinsights.azure.cn/v2/track https://dc.applicationinsights.us/v2/track

Så här konfigurerar du inställningar

Kubernetes YAML-fil

När du distribuerar den självhostade gatewayen till Kubernetes med hjälp av en YAML-fil, konfigurera inställningar som namn-värde-par i elementet data i gatewayens ConfigMap. Till exempel:

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-diagram

När du använder Helm för att distribuera den självhostade gatewayen till Kubernetes, skicka diagramkonfigurationsinställningar som parametrar till kommandot helm install . Till exempel:

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