Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR: Developer | Premium
Dieser Artikel enthält eine Referenz für erforderliche und optionale Einstellungen, die zum Konfigurieren des selbstgehosteten Gatewaycontainers von API Management verwendet werden.
Weitere Informationen finden Sie unter Leitlinien zum Betrieb eines selbstgehosteten Gateways auf Kubernetes in der Produktion.
Wichtig
Diese Referenz gilt nur für das selbstgehostete Gateway v2. Diese Referenz verweist auf die minimale Version, die jede Einstellung unterstützt.
Integration der Konfigurations-API
Das selbstgehostete Gateway verwendet die Konfigurations-API, um sich mit Azure API Management zu verbinden, die neueste Konfiguration zu erhalten und Metriken zu senden, wenn es aktiviert ist.
Die folgende Tabelle beschreibt die Konfigurationsoptionen für die Integration der Konfigurations-API:
| Name | BESCHREIBUNG | Erforderlich | Standard | Verfügbarkeit |
|---|---|---|---|---|
| gateway.name | ID der selbst gehosteten Gatewayressource. | Ja, bei Verwendung der Microsoft Entra-Authentifizierung | Nicht zutreffend | v2.3+ |
| config.service.endpoint | Konfigurationsendpunkt in Azure API Management für das selbstgehostete Gateway. Suchen Sie diesen Wert im Azure-Portal unter Gateways>Deployment. | Ja | Nicht zutreffend | v2.0+ |
| config.service.auth | Definiert, wie das selbstgehostete Gateway sich auf die Konfigurations-API authentifiziert. Derzeit unterstützt das Gateway Gateway-Token und Microsoft Entra-Authentifizierung. | Ja | Nicht zutreffend | v2.0+ |
| config.service.auth.azureAd.tenantId | ID des Microsoft Entra-Mandanten. | Ja, bei Verwendung der Microsoft Entra-Authentifizierung | Nicht zutreffend | v2.3+ |
| config.service.auth.azureAd.clientId | Client-ID der Microsoft Entra-App für die Authentifizierung (auch als Anwendungs-ID bezeichnet). | Ja, bei Verwendung der Microsoft Entra-Authentifizierung | Nicht zutreffend | v2.3+ |
| config.service.auth.azureAd.clientSecret | Geheimnis der Microsoft Entra-App für die Authentifizierung. | Ja, wenn man Microsoft Entra-Authentifizierung verwendet (es sei denn, man gibt ein Zertifikat an). | Nicht zutreffend | v2.3+ |
| config.service.auth.azureAd.certificatePath | Pfad zum Zertifikat, mit dem sich die Microsoft Entra-App authentifizieren soll. | Ja, wenn du Microsoft Entra-Authentifizierung verwendest (es sei denn, du gibst ein Geheimnis an). | Nicht zutreffend | v2.3+ |
| config.service.auth.azureAd.authority | Autoritäts-URL der Microsoft Entra ID. | Nein | https://login.microsoftonline.com |
v2.3+ |
| config.service.auth.tokenAudience | Zielgruppe des Tokens für die Microsoft Entra-Authentifizierung. | Nein | https://azure-api.net/configuration |
v2.3+ |
| config.service.endpoint.disableCertificateValidation | Definiert, ob das selbstgehostete Gateway das serverseitige Zertifikat der Konfigurations-API validiert. Verwenden Sie die Zertifikatsvalidierung in der Produktion. Deaktiviere es nur zum Testen und sei vorsichtig, da es ein Sicherheitsrisiko darstellen kann. | Nein | false |
v2.0+ |
| config.service.integration.timeout | Definiert das Timeout für die Interaktion mit der Konfigurations-API. | Nein | 00:01:40 |
v2.3.5+ |
Das selbstgehostete Gateway unterstützt mehrere Authentifizierungsoptionen, um mit der Konfigurations-API zu integrieren. Definiere diese Optionen mit config.service.auth.
Um zu definieren, wie man authentifiziert, geben Sie folgende Informationen an:
- Geben Sie für die auf Gatewaytoken basierende Authentifizierung ein Zugriffstoken (Authentifizierungsschlüssel) des selbstgehosteten Gateways im Azure-Portal unter Gateways>Bereitstellung an.
- Geben Sie für die Microsoft Entra ID-basierte Authentifizierung
azureAdAppan, und stellen Sie die zusätzlichenconfig.service.auth.azureAd-Authentifizierungseinstellungen bereit.
Cross-Instanz-Entdeckung und Synchronisation
| Name | BESCHREIBUNG | Erforderlich | Standard | Verfügbarkeit |
|---|---|---|---|---|
| nachbarschaft.host | DNS-Name, der verwendet wird, um alle Instanzen einer selbstgehosteten Gatewaybereitstellung für die instanzenübergreifende Synchronisierung aufzulösen. In Kubernetes verwenden Sie einen headless Service, um die Instanzen aufzulösen. | Nein | Nicht zutreffend | v2.0+ |
| neighborhood.heartbeat.port | UDP-Port, der für Instanzen einer selbstgehosteten Gatewaybereitstellung verwendet wird, um Heartbeats an andere Instanzen zu senden. | Nein | 4291 |
v2.0+ |
| policy.rate-limit.sync.port | UDP-Port, der für selbstgehostete Gatewayinstanzen verwendet wird, um die Ratenbegrenzung über mehrere Instanzen hinweg zu synchronisieren. | Nein | 4290 |
v2.0+ |
HTTP
| Name | BESCHREIBUNG | Erforderlich | Standard | Verfügbarkeit |
|---|---|---|---|---|
| net.server.http.forwarded.proto.enabled | Es wird der X-Forwarded-Proto Header anerkannt, um das Schema zu identifizieren, um die aufgerufene API-Route (nur http/https) aufzulösen. |
Nein | false |
v2.5+ |
Kubernetes-Integration
Kubernetes Ingress (preview)
Wichtig
Die Unterstützung für Kubernetes Ingress ist experimentell, und Azure Support deckt das nicht ab. Erfahren Sie mehr im Kubernetes Ingress GitHub-Repository.
| Name | BESCHREIBUNG | Erforderlich | Standard | Verfügbarkeit |
|---|---|---|---|---|
| k8s.ingress.enabled | Aktivieren Sie die Kubernetes Ingress-Integration. | Nein | false |
v2.0+ |
| k8s.ingress.namespace | Kubernetes-Namespace zum Überwachen von Kubernetes Ingress-Ressourcen. | Nein | default |
v2.0+ |
| k8s.ingress.dns.suffix | DNS-Suffix zum Erstellen des DNS-Hostnamens für Dienste zum Senden von Anforderungen an. | Nein | svc.cluster.local |
v2.4+ |
| k8s.ingress.config.path | Pfad zur Kubernetes-Konfiguration (Kubeconfig). | Nein | Nicht zutreffend | v2.4+ |
metrics
| Name | BESCHREIBUNG | Erforderlich | Standard | Verfügbarkeit |
|---|---|---|---|---|
| telemetry.metrics.local | Aktivieren Sie die Erfassung lokaler Metriken über StatsD. Der Wert ist eine der folgenden Optionen: none, statsd. |
Nein | none |
v2.0+ |
| telemetry.metrics.local.statsd.endpoint | StatsD-Endpunkt. | Ja, wenn telemetry.metrics.local auf statsd festgelegt ist; andernfalls nein. |
Nicht zutreffend | v2.0+ |
| telemetry.metrics.local.statsd.sampling | Abtastrate der StatsD-Metriken. Der Wert muss zwischen 0 und 1 liegen, z. B. 0,5. | Nein | Nicht zutreffend | v2.0+ |
| telemetry.metrics.local.statsd.tag-format |
Taggingformat der Exportfunktion von StatsD. Der Wert ist eine der folgenden Optionen: librato, dogStatsD, influxDB. |
Nein | Nicht zutreffend | v2.0+ |
| telemetry.metrics.cloud | Hinweis darauf, ob das Emittieren von Metriken an Azure Monitor aktiviert werden soll. | Nein | true |
v2.0+ |
| observability.opentelemetry.enabled | Hinweis darauf, ob das Aussenden von Metriken an einen OpenTelemetrie-Sammler auf Kubernetes aktiviert werden soll. | Nein | false |
v2.0+ |
| observability.opentelemetry.collector.uri | URI des OpenTelemetry-Collectors, an den Metriken gesendet werden sollen. | Ja, wenn observability.opentelemetry.enabled auf true festgelegt ist; andernfalls nein. |
Nicht zutreffend | v2.0+ |
| observability.opentelemetry.system-metrics.enabled | Aktivieren Sie das Senden von Systemmetriken wie CPU, Speicher und Garbage Collection an den OpenTelemetrie-Sammler. | Nein | false |
v2.3+ |
| observability.opentelemetry.histgram.buckets | Histogramm-Eimer, in denen OpenTelemetrie-Metriken gemeldet werden. Format: "x,y,z,...". | Nein | "5,10,25,50,100,250,500,1000,2500,5000,10000" | v2.0+ |
Protokolle
| Name | BESCHREIBUNG | Erforderlich | Standard | Verfügbarkeit |
|---|---|---|---|---|
| telemetry.logs.std |
Aktivieren Sie die Protokollierung in einem Standardstream. Der Wert ist eine der folgenden Optionen: none, text, json. |
Nein | text |
v2.0+ |
| telemetry.logs.std.level | Definiert die Log-Ebene der an den Standardstrom gesendeten Logs. Wert ist eine der folgenden Optionen: all, debug, info, , warn, error, oder fatal. |
Nein | info |
v2.0+ |
| telemetry.logs.std.color | Hinweis darauf, ob farbige Logs im Standardstrom verwendet werden sollen oder nicht. | Nein | true |
v2.0+ |
| telemetry.logs.local |
Aktivieren Sie die lokale Protokollierung. Der Wert ist eine der folgenden Optionen: none, auto, localsyslog, rfc5424, journal, json. |
Nein | auto |
v2.0+ |
| telemetry.logs.local.localsyslog.endpoint | localsyslog Endpunkt. | Ja, wenn telemetry.logs.local auf localsyslog festgelegt ist; andernfalls nein. Weitere Informationen zur Konfiguration finden Sie in der lokalen Syslog-Dokumentation . |
Nicht zutreffend | v2.0+ |
| telemetry.logs.local.localsyslog.facility | Gibt den Facilitycode für localsyslog an, zum Beispiel 7. |
Nein | Nicht zutreffend | v2.0+ |
| telemetry.logs.local.rfc5424.endpoint | rfc5424-Endpunkt. | Ja, wenn telemetry.logs.local auf rfc5424 festgelegt ist; andernfalls nein. |
Nicht zutreffend | v2.0+ |
| telemetry.logs.local.rfc5424.facility | Einrichtungscode pro rfc5424, z.B. 7 |
Nein | Nicht zutreffend | v2.0+ |
| telemetry.logs.local.journal.endpoint | Journalendpunkt. | Ja, wenn telemetry.logs.local auf journal festgelegt ist; andernfalls nein. |
Nicht zutreffend | v2.0+ |
| telemetry.logs.local.json.endpoint | UDP-Endpunkt, der JSON-Daten akzeptiert, angegeben als Dateipfad, IP:Port oder Hostname:Port. | Ja, wenn telemetry.logs.local auf json festgelegt ist; andernfalls nein. |
127.0.0.1:8888 | v2.0+ |
Sicherheit
Zertifikate und Chiffren
| Name | BESCHREIBUNG | Erforderlich | Standard | Verfügbarkeit |
|---|---|---|---|---|
| certificates.local.ca.enabled | Hinweis darauf, ob das selbstgehostete Gateway montierte lokale CA-Zertifikate verwenden sollte. Es ist erforderlich, das selbstgehostete Gateway als „root“ oder mit der Benutzer-ID 1001 auszuführen. | Nein | false |
v2.0+ |
| net.server.tls.ciphers.allowed-suites | Komma-getrennte Liste von Chiffren, die für die TLS-Verbindung zwischen dem API-Client und dem selbstgehosteten Gateway verwendet werden. | Nein | 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 | Durch Kommas getrennte Liste von Chiffren, die für die TLS-Verbindung zwischen dem selbstgehosteten Gateway und dem Back-End verwendet werden sollen. | Nein | 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 | Schaltet die Validierung der Zertifikatswiderrufsliste ein- oder aus. | Nein | false |
v2.3.6+ |
TLS
| Name | BESCHREIBUNG | Erforderlich | Standard | Verfügbarkeit |
|---|---|---|---|---|
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Back.Protocols.Tls13 | Gibt an, ob das Gateway TLS 1.3 zum Backend zulässt. Ähnlich wie beim Verwalten von Protokollchiffre in verwaltetem Gateway. | Nein | true |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Back.Protocols.Tls12 | Gibt an, ob das Gateway TLS 1.2 zum Backend zulässt. Ähnlich wie beim Verwalten von Protokollchiffre in verwaltetem Gateway. | Nein | true |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Back.Protocols.Tls11 | Zeigt an, ob das Gateway TLS 1.1 im Backend zulässt. Ähnlich wie beim Verwalten von Protokollchiffre in verwaltetem Gateway. | Nein | false |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Back.Protocols.Tls10 | Zeigt an, ob das Gateway TLS 1.0 zum Backend zulässt. Ähnlich wie beim Verwalten von Protokollchiffre in verwaltetem Gateway. | Nein | false |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Back.Protocols.Ssl30 | Gibt an, ob das Gateway SSL 3.0 im Backend zulässt. Ähnlich wie beim Verwalten von Protokollchiffre in verwaltetem Gateway. | Nein | false |
v2.0+ |
Sovereign Clouds
Die folgende Tabelle beschreibt die Einstellungen, die Sie konfigurieren müssen, um mit souveränen Clouds zu arbeiten:
| Name | Öffentlich | Azurblaues China | US-Regierung |
|---|---|---|---|
| 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 |
So konfigurieren Sie Einstellungen
Kubernetes-YAML-Datei
Beim Bereitstellen des selbstgehosteten Gateways in Kubernetes mit einer YAML-Datei konfigurieren Sie die Einstellungen als Name-Wert-Paare im data Element des Gateway-ConfigMap. Beispiel:
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-Chart
Wenn du Helm verwendest, um das selbstgehostete Gateway zu Kubernetes bereitzustellen, gib die Chart-Konfigurationseinstellungen als Parameter an den helm install Befehl weiter. Beispiel:
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
Verwandte Inhalte
- Erfahren Sie mehr über den Betrieb des selbstgehosteten Gateways auf Kubernetes in der Produktion
- Bereitstellen eines selbstgehosteten Gateways in Docker
- Bereitstellen eines selbstgehosteten Gateways in Kubernetes
- Bereitstellung eines selbst gehosteten Gateways für einen Azure Arc-fähigen Kubernetes-Cluster
- Dapr-Unterstützung im selbstgehosteten Gateway aktivieren
- Weitere Informationen zu Konfigurationsoptionen für die Azure Arc-Erweiterung