Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
VAN TOEPASSING OP: Ontwikkelaar | Premie
Dit artikel bevat een verwijzing naar vereiste en optionele instellingen die worden gebruikt voor het configureren van de zelf-hostende gatewaycontainer van API Management.
Voor meer informatie, zie Richtlijnen voor het draaien van een zelf-gehoste gateway op Kubernetes in productie.
Belangrijk
Deze verwijzing is alleen van toepassing op de zelf-hostende gateway v2. Deze referentie vermeldt de minimale versie die elke instelling ondersteunt.
Integratie van configuratie-API
De zelfgehoste gateway gebruikt de Configuration API om verbinding te maken met Azure API Management, de nieuwste configuratie te krijgen en metrics te verzenden wanneer ingeschakeld.
De volgende tabel beschrijft de configuratieopties voor integratie van Configuration API:
| Naam | 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 | Definieert hoe de zelfgehoste gateway zich authenticeert naar de Configuration API. Momenteel ondersteunt de gateway gateway token en Microsoft Entra-authenticatie. | 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, bij het gebruik van Microsoft Entra-authenticatie (tenzij je een certificaat specificeert) | N.v.t. | v2.3+ |
| config.service.auth.azureAd.certificatePath | Pad naar certificaat voor verificatie bij de Microsoft Entra-app. | Ja, bij het gebruik van Microsoft Entra-authenticatie (tenzij je een geheim specificeert) | 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 | Publiek van de token voor Microsoft Entra-authenticatie. | Nee | https://azure-api.net/configuration |
v2.3+ |
| config.service.endpoint.disableCertificateValidation | Bepaalt of de zelf-gehoste gateway het server-side certificaat van de Configuration API valideert. Gebruik certificaatvalidatie in productie. Schakel het alleen uit voor testen en wees voorzichtig, want het kan een beveiligingsrisico met zich meebrengen. | 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-gehoste gateway ondersteunt verschillende authenticatieopties om te integreren met de Configuration API. Definieer deze opties door gebruik te maken van config.service.auth.
Om te definiƫren hoe authenticatie te doen, geef de volgende informatie:
- 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
azureAdAppop basis van Microsoft Entra ID de aanvullendeconfig.service.auth.azureAdverificatie-instellingen op en geef deze op.
Cross-instance ontdekking en synchronisatie
| Naam | 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. Gebruik in Kubernetes een headless Service om de instanties op te lossen. | 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
| Naam | Beschrijving | Vereist | Standaardinstelling | Beschikbaarheid |
|---|---|---|---|---|
| net.server.http.forwarded.proto.enabled | Eer de X-Forwarded-Proto header om het schema te identificeren dat de aangeroepen API-route oplost (alleen http/https). |
Nee | false |
v2.5+ |
Kubernetes-integratie
Kubernetes Ingress (preview)
Belangrijk
Ondersteuning voor Kubernetes Ingress is experimenteel, en Azure Support dekt het niet. Lees meer in de Kubernetes Ingress GitHub-repository.
| Naam | Beschrijving | Vereist | Standaardinstelling | Beschikbaarheid |
|---|---|---|---|---|
| k8s.ingress.enabled | Kubernetes-integratie voor inkomend verkeer inschakelen. | Nee | false |
v2.0+ |
| k8s.ingress.namespace | Kubernetes-naamruimte om Kubernetes-toegangsbeheerbronnen te bekijken. | Nee | default |
v2.0+ |
| 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
| Naam | 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: librato, dogStatsD, influxDB. |
Nee | N.v.t. | v2.0+ |
| telemetry.metrics.cloud | Indicatie of het uitzenden van metrics naar Azure Monitor moet worden ingeschakeld. | Nee | true |
v2.0+ |
| observability.opentelemetry.enabled | Indicatie of het uitzenden van metrics naar een OpenTelemetrie-verzamelaar op Kubernetes moet worden ingeschakeld. | 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 verzendingssysteemmetrics in, zoals CPU, geheugen en garbage collection, in naar de OpenTelemetrie-verzamelaar. | Nee | false |
v2.3+ |
| observability.opentelemetry.histogram.buckets | Histogramemmers om OpenTelemetrie-metrieken te rapporteren. Notatie: "x,y,z,...". | Nee | "5,10,25,50,100,250,500,1000,2500,5000,10000" | v2.0+ |
Logboeken
| Naam | 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 | Definieert het logniveau van logs die naar de standaardstroom worden gestuurd. Waarde is een van de volgende opties: all, debug, , info, warn, error, , of fatal. |
Nee | info |
v2.0+ |
| telemetry.logs.std.color | Aangeven of gekleurde logs in de standaardstroom gebruikt moeten worden. | 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
Certificaten en cijfers
| Naam | Beschrijving | Vereist | Standaardinstelling | Beschikbaarheid |
|---|---|---|---|---|
| certificates.local.ca.enabled | Indicatie of de zelfgehoste gateway gemonteerde lokale CA-certificaten moet gebruiken. 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 | Comma-gescheiden lijst van cijfers die gebruikt moeten worden voor TLS-verbinding tussen de API-client en de zelfgehoste 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 | Zet de validatie van certificaatintrekkingslijsten aan of uit. | Nee | false |
v2.3.6+ |
TLS
| Naam | Beschrijving | Vereist | Standaardinstelling | Beschikbaarheid |
|---|---|---|---|---|
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls13 | Geeft aan of de gateway TLS 1.3 naar de backend toestaat. Vergelijkbaar met het beheren van protocol ciphers in managed gateway. | Nee | true |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls12 | Geeft aan of de gateway TLS 1.2 naar de backend toestaat. Vergelijkbaar met het beheren van protocol ciphers in managed gateway. | Nee | true |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 | Geeft aan of de gateway TLS 1.1 naar de backend toestaat. Vergelijkbaar met het beheren van protocol ciphers in managed gateway. | Nee | false |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 | Geeft aan of de gateway TLS 1.0 naar de backend toestaat. Vergelijkbaar met het beheren van protocol ciphers in managed gateway. | Nee | false |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30 | Geeft aan of de gateway SSL 3.0 naar de backend toestaat. Vergelijkbaar met het beheren van protocol ciphers in managed gateway. | Nee | false |
v2.0+ |
Onafhankelijke clouds
De volgende tabel beschrijft de instellingen die je moet configureren om met sovereign clouds te werken:
| Naam | Openbaar | Azuurblauw China | Amerikaanse regering |
|---|---|---|---|
| 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
Wanneer je de zelfgehoste gateway naar Kubernetes uitrolt met behulp van een YAML-bestand, configureer je instellingen als naam-waardeparen in het data element van de 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 je Helm gebruikt om de zelfgehoste gateway naar Kubernetes te deployen, geef dan de configuratie-instellingen van de grafiek als parameters door aan het helm install commando. 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
Verwante inhoud
- Lees meer over het draaien van de zelfgehoste gateway op Kubernetes in productie
- Zelf-hostende gateway implementeren in Docker
- Zelf-hostende gateway implementeren in Kubernetes
- Zelf-hostende gateway implementeren in Kubernetes-cluster met Azure Arc
- Dapr-ondersteuning inschakelen op zelf-hostende gateway
- Meer informatie over configuratieopties voor De Azure Arc-extensie