Naslaginformatie: Zelf-hostende gatewaycontainerconfiguratie-instellingen

VAN TOEPASSING OP: Ontwikkelaar | Premium

Dit artikel bevat een verwijzing naar vereiste en optionele instellingen die worden gebruikt voor het configureren van de zelf-hostende gatewaycontainer van API Management.

Lees dit artikel voor meer informatie over onze (Kubernetes)-productierichtlijnen.

Belangrijk

Deze verwijzing is alleen van toepassing op de zelf-hostende gateway v2. Er zijn minimale versies beschikbaar voor de beschikbaarheid van instellingen.

Integratie van configuratie-API

De configuratie-API wordt gebruikt door de zelf-hostende gateway om verbinding te maken met Azure API Management om de meest recente configuratie op te halen en metrische gegevens te verzenden wanneer deze is ingeschakeld.

Hier volgt een overzicht van alle configuratieopties:

Name Beschrijving Vereist Standaardinstelling Beschikbaarheid
gateway.name Id van de zelf-hostende gatewayresource. Ja, wanneer u Microsoft Entra-verificatie gebruikt N.v.t. v2.3+
config.service.endpoint Configuratie-eindpunt in Azure API Management voor de zelf-hostende gateway. Zoek deze waarde in Azure Portal onder Gateways>Deployment. Ja N.v.t. v2.0+
config.service.auth Hiermee definieert u hoe de zelf-hostende gateway moet worden geverifieerd bij de configuratie-API. Momenteel worden gatewaytoken en Microsoft Entra-verificatie ondersteund. Ja N.v.t. v2.0+
config.service.auth.azureAd.tenantId Id van de Microsoft Entra-tenant. Ja, wanneer u Microsoft Entra-verificatie gebruikt N.v.t. v2.3+
config.service.auth.azureAd.clientId Client-id van de Microsoft Entra-app voor verificatie met (ook wel toepassings-id genoemd). Ja, wanneer u Microsoft Entra-verificatie gebruikt N.v.t. v2.3+
config.service.auth.azureAd.clientSecret Geheim van de Microsoft Entra-app waarmee moet worden geverifieerd. Ja, wanneer u Microsoft Entra-verificatie gebruikt (tenzij certificaat is opgegeven) N.v.t. v2.3+
config.service.auth.azureAd.certificatePath Pad naar certificaat voor verificatie bij de Microsoft Entra-app. Ja, wanneer u Microsoft Entra-verificatie gebruikt (tenzij geheim is opgegeven) N.v.t. v2.3+
config.service.auth.azureAd.authority Instantie-URL van Microsoft Entra-id. Nee https://login.microsoftonline.com v2.3+
config.service.auth.tokenAudience Doelgroep van token dat wordt gebruikt voor Microsoft Entra-verificatie Nee https://azure-api.net/configuration v2.3+
config.service.endpoint.disableCertificateValidation Definieert of de zelf-hostende gateway het certificaat aan de serverzijde van de configuratie-API moet valideren. Het wordt aanbevolen om certificaatvalidatie te gebruiken, alleen uit te schakelen voor testdoeleinden en met voorzichtigheid, omdat dit beveiligingsrisico kan veroorzaken. Nee false v2.0+
config.service.integration.timeout Hiermee definieert u de time-out voor interactie met de configuratie-API. Nee 00:01:40 v2.3.5+

De zelf-hostende gateway biedt ondersteuning voor enkele verificatieopties die kunnen worden geïntegreerd met de configuratie-API die kan worden gedefinieerd met behulp van config.service.auth.

Deze richtlijnen helpen u bij het opgeven van de vereiste informatie voor het definiëren van de verificatie:

  • Geef voor verificatie op basis van gatewaytoken een toegangstoken (verificatiesleutel) op van de zelf-hostende gateway in Azure Portal onder Gateways>Deployment.
  • Geef voor verificatie azureAdApp op basis van Microsoft Entra ID de aanvullende config.service.auth.azureAd verificatie-instellingen op en geef deze op.

Detectie en synchronisatie tussen exemplaren

Name Beschrijving Vereist Standaardinstelling Beschikbaarheid
neighborhood.host DNS-naam die wordt gebruikt voor het oplossen van alle exemplaren van een zelf-hostende gatewayimplementatie voor synchronisatie tussen exemplaren. In Kubernetes kan dit worden bereikt met behulp van een headless service. Nee N.v.t. v2.0+
neighborhood.heartbeat.port UDP-poort die wordt gebruikt voor exemplaren van een zelf-hostende gatewayimplementatie om heartbeats naar andere exemplaren te verzenden. Nee 4291 v2.0+
policy.rate-limit.sync.port UDP-poort die wordt gebruikt voor zelf-hostende gateway-exemplaren om snelheidsbeperking tussen meerdere exemplaren te synchroniseren. Nee 4290 v2.0+

HTTP

Name Beschrijving Vereist Standaardinstelling Beschikbaarheid
net.server.http.forwarded.proto.enabled Mogelijkheid om header te respecteren X-Forwarded-Proto om het schema te identificeren om de api-route op te lossen (alleen http/https). Nee false v2.5+

Kubernetes-integratie

Kubernetes Inkomend verkeer

Belangrijk

Ondersteuning voor Kubernetes Inkomend verkeer is momenteel experimenteel en wordt niet gedekt door Azure-ondersteuning. Meer informatie op GitHub.

Name Beschrijving Vereist Standaardinstelling Beschikbaarheid
k8s.ingress.enabled Kubernetes-integratie voor inkomend verkeer inschakelen. Nee false v1.2+
k8s.ingress.namespace Kubernetes-naamruimte om Kubernetes-toegangsbeheerbronnen te bekijken. Nee default v1.2+
k8s.ingress.dns.suffix DNS-achtervoegsel voor het bouwen van DNS-hostnaam voor services om aanvragen naar te verzenden. Nee svc.cluster.local v2.4+
k8s.ingress.config.path Pad naar Kubernetes-configuratie (Kubeconfig). Nee N.v.t. v2.4+

Metrische gegevens voor

Name Beschrijving Vereist Standaardinstelling Beschikbaarheid
telemetry.metrics.local Lokale verzameling metrische gegevens inschakelen via StatsD. Waarde is een van de volgende opties: none, statsd. Nee none v2.0+
telemetry.metrics.local.statsd.endpoint StatsD-eindpunt. Ja, als telemetry.metrics.local dit is ingesteld op statsd; anders nee. N.v.t. v2.0+
telemetry.metrics.local.statsd.sampling Metrische statistieken steekproeffrequentie voor metrische gegevens. De waarde moet tussen 0 en 1 zijn, bijvoorbeeld 0,5. Nee N.v.t. v2.0+
telemetry.metrics.local.statsd.tag-format De tagindeling statsD-exporteur. Waarde is een van de volgende opties: ibrato, dogStatsD, influxDB. Nee N.v.t. v2.0+
telemetry.metrics.cloud Indicatie of het verzenden van metrische gegevens wel of niet naar Azure Monitor moet worden verzonden. Nee true v2.0+
observability.opentelemetry.enabled Indicatie of het verzenden van metrische gegevens wel of niet moet worden ingeschakeld voor een OpenTelemetry-collector in Kubernetes. Nee false v2.0+
observability.opentelemetry.collector.uri URI van de OpenTelemetry-collector om metrische gegevens naar te verzenden. Ja, als observability.opentelemetry.enabled dit is ingesteld op true; anders nee. N.v.t. v2.0+
observability.opentelemetry.system-metrics.enabled Schakel het verzenden van metrische systeemgegevens in naar de OpenTelemetry-collector, zoals CPU, geheugen, garbagecollection, enzovoort. Nee false v2.3+
observability.opentelemetry.histogram.buckets Histogram buckets waarin metrische gegevens van OpenTelemetry moeten worden gerapporteerd. Notatie: "x,y,z,...". Nee "5,10,25,50,100,250,500,1000,2500,5000,10000" v2.0+

Logboeken

Name Beschrijving Vereist Standaardinstelling Beschikbaarheid
telemetry.logs.std Schakel logboekregistratie in voor een standaardstream. Waarde is een van de volgende opties: none, text, json. Nee text v2.0+
telemetry.logs.std.level Hiermee definieert u het logboekniveau van logboeken die naar de standaardstream worden verzonden. De waarde is een van de volgende opties: , , , of fatalwarnerror . infodebugall Nee info v2.0+
telemetry.logs.std.color Indicatie of gekleurde logboeken al dan niet moeten worden gebruikt in de standaardstroom. Nee true v2.0+
telemetry.logs.local Lokale logboekregistratie inschakelen. Waarde is een van de volgende opties: none, auto, localsyslog, rfc5424, , journaljson Nee auto v2.0+
telemetry.logs.local.localsyslog.endpoint localsyslog-eindpunt. Ja als telemetry.logs.local dit is ingesteld op localsyslog; anders nee. Raadpleeg de lokale syslog-documentatie voor meer informatie over de configuratie. N.v.t. v2.0+
telemetry.logs.local.localsyslog.facility Hiermee geeft u localsyslog faciliteit code, bijvoorbeeld 7. Nee N.v.t. v2.0+
telemetry.logs.local.rfc5424.endpoint rfc5424-eindpunt. Ja als telemetry.logs.local dit is ingesteld op rfc5424; anders nee. N.v.t. v2.0+
telemetry.logs.local.rfc5424.facility Faciliteitcode per rfc5424, bijvoorbeeld 7 Nee N.v.t. v2.0+
telemetry.logs.local.journal.endpoint Logboekeindpunt. Ja als telemetry.logs.local dit is ingesteld op journal; anders nee. N.v.t. v2.0+
telemetry.logs.local.json.endpoint UDP-eindpunt dat JSON-gegevens accepteert, die zijn opgegeven als bestandspad, IP:poort of hostnaam:poort. Ja als telemetry.logs.local dit is ingesteld op json; anders nee. 127.0.0.1:8888 v2.0+

Beveiliging

Name Beschrijving Vereist Standaardinstelling Beschikbaarheid
certificates.local.ca.enabled Geeft aan of de zelf-hostende gateway lokale CA-certificaten moet gebruiken die zijn gekoppeld. Het is vereist om de zelf-hostende gateway uit te voeren als hoofdmap of met gebruikers-id 1001. Nee false v2.0+
net.server.tls.ciphers.allowed-suites Door komma's gescheiden lijst met coderingen die moeten worden gebruikt voor TLS-verbinding tussen api-client en de zelf-hostende gateway. Nee 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 Door komma's gescheiden lijst met coderingen die moeten worden gebruikt voor TLS-verbinding tussen de zelf-hostende gateway en de back-end. Nee 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 Biedt mogelijkheden om validatie van certificaatintrekkingslijsten in/uit te schakelen Nee false v2.3.6+

Onafhankelijke clouds

Hier volgt een overzicht van instellingen die moeten worden geconfigureerd om te kunnen werken met onafhankelijke clouds:

Naam Openbaar Azure China US Government
config.service.auth.tokenAudience https://azure-api.net/configuration (standaard) https://azure-api.cn/configuration https://azure-api.us/configuration
logs.applicationinsights.endpoint https://dc.services.visualstudio.com/v2/track (standaard) https://dc.applicationinsights.azure.cn/v2/track https://dc.applicationinsights.us/v2/track

Instellingen configureren

Kubernetes YAML-bestand

Bij het implementeren van de zelf-hostende gateway naar Kubernetes met behulp van een YAML-bestand, configureert u instellingen als naam-waardeparen in het element van de data ConfigMap van de gateway. Voorbeeld:

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

Wanneer u Helm gebruikt om de zelf-hostende gateway naar Kubernetes te implementeren, geeft u configuratie-instellingen voor grafieken door als parameters aan de helm install opdracht. Voorbeeld:

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

Volgende stappen