Dela via


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.

Om du vill veta mer om vår (Kubernetes) produktionsvägledning rekommenderar vi att du läser den här artikeln.

Viktigt!

Den här referensen gäller endast för den lokalt installerade gatewayen v2. Minimiversioner för tillgänglighet för inställningar tillhandahålls.

Konfigurations-API-integrering

Konfigurations-API:et används av den lokala gatewayen för att ansluta till Azure API Management för att hämta den senaste konfigurationen och skicka mått när det är aktiverat.

Här är en översikt över alla konfigurationsalternativ:

Name 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-portalen under Gatewaydistribution>. Ja Ej tillämpligt v2.0+
config.service.auth Definierar hur den lokalt installerade gatewayen ska autentiseras till konfigurations-API:et. För närvarande stöds 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 inte certifikat har angetts) 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 du använder Microsoft Entra-autentisering (om inte hemlighet har angetts) 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ålgrupp för token som används för Microsoft Entra-autentisering Nej https://azure-api.net/configuration v2.3+
config.service.endpoint.disableCertificateValidation Definierar om den lokalt installerade gatewayen ska verifiera certifikatet på serversidan för konfigurations-API:et. Vi rekommenderar att du använder certifikatverifiering, endast inaktiverar i testsyfte och med försiktighet eftersom det kan medföra säkerhetsrisker. 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 lokalt installerade gatewayen har stöd för några autentiseringsalternativ för att integrera med konfigurations-API:et som kan definieras med hjälp config.service.authav .

Den här vägledningen hjälper dig att ange den information som krävs för att definiera hur du autentiserar:

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

Identifiering och synkronisering mellan instanser

Name 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 kan det uppnås med hjälp av en huvudlös tjänst. 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

Name beskrivning Obligatoriskt Standardvärde Tillgänglighet
net.server.http.forwarded.proto.enabled Möjlighet att respektera X-Forwarded-Proto huvudet för att identifiera schema för att matcha den så kallade API-vägen (endast http/https). Nej falskt v2.5+

Kubernetes-integrering

Kubernetes-ingress

Viktigt!

Stödet för Kubernetes Ingress är för närvarande experimentellt och omfattas inte av Azure Support. Läs mer på GitHub.

Name beskrivning Obligatoriskt Standardvärde Tillgänglighet
k8s.ingress.enabled Aktivera Kubernetes Ingress-integrering. Nej false v1.2+
k8s.ingress.namespace Kubernetes-namnrymd för att titta på Kubernetes Ingress-resurser i. Nej default v1.2+
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

Name 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: ibrato, dogStatsD, influxDB. Nej Ej tillämpligt v2.0+
telemetry.metrics.cloud Ange om mått ska genereras till Azure Monitor eller inte. Nej true v2.0+
observability.opentelemetry.enabled Ange om mått ska genereras till en OpenTelemetry-insamlare på Kubernetes eller inte. 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ändning av systemmått till OpenTelemetry-insamlaren, till exempel CPU, minne, skräpinsamling osv. Nej false v2.3+
observability.opentelemetry.histogram.buckets Histogram buckets där OpenTelemetry-mått ska rapporteras. Format: "x,y,z,...". Nej "5,10,25,50,100,250,500,1000,2500,5000,10000" v2.0+

Loggar

Name 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 för loggar som skickas till standardströmmen. Värdet är något av följande alternativ: all, debug, info, warneller errorfatal. Nej info v2.0+
telemetry.logs.std.color Ange om färgade loggar 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.endpoint 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

Name beskrivning Obligatoriskt Standardvärde Tillgänglighet
certificates.local.ca.enabled Ange om den lokalt installerade gatewayen ska använda lokala CA-certifikat som är monterade eller inte. 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 Kommaavgränsad lista över chiffer som ska användas för TLS-anslutning mellan API-klienten och den lokalt installerade 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 Ger möjlighet att aktivera/inaktivera validering av certifikatåterkallningslista Nej false v2.3.6+

TLS

Name beskrivning Obligatoriskt Standardvärde Tillgänglighet
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls13 Ange om SSL 3.0 tillåts mot serverdelen eller inte. Liknar hantering av protokoll chiffer i hanterad gateway. Nej true v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls12 Ange om TLS 1.2 tillåts mot serverdelen eller inte. Liknar hantering av protokoll chiffer i hanterad gateway. Nej true v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 Ange om TLS 1.1 tillåts mot serverdelen eller inte. Liknar hantering av protokoll chiffer i hanterad gateway. Nej false v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 Ange om TLS 1.0 tillåts mot serverdelen eller inte. Liknar hantering av protokoll chiffer i hanterad gateway. Nej false v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30 Ange om SSL 3.0 tillåts mot serverdelen eller inte. Liknar hantering av protokoll chiffer i hanterad gateway. Nej false v2.0+

Nationella moln

Här är en översikt över inställningar som måste konfigureras för att kunna arbeta med nationella moln:

Name Offentliga Azure Kina US Government
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 lokalt installerade gatewayen till Kubernetes med hjälp av en YAML-fil konfigurerar du inställningarna 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 lokalt installerade gatewayen till Kubernetes skickar du konfigurationsinställningarna för diagram som parametrar till helm install kommandot. 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

Nästa steg