Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’APPLIQUE À : Développeur | Premium
Cet article fournit une référence pour les paramètres obligatoires et facultatifs utilisés pour configurer le conteneur de la passerelle auto-hébergée de la Gestion des API.
Pour plus d’informations, voir Directives pour faire fonctionner une passerelle auto-hébergée sur Kubernetes en production.
Important
Cette référence s’applique uniquement à la passerelle auto-hébergée v2. Cette référence indique la version minimale qui prend en charge chaque univers.
Intégration de l’API de configuration
La passerelle auto-hébergée utilise l’API de configuration pour se connecter à Gestion des API Azure, obtenir la dernière configuration et envoyer des métriques lorsque les données sont activées.
Le tableau suivant décrit les options de configuration pour l’intégration de l’API de configuration :
| Nom | Descriptif | Obligatoire | Par défaut | Disponibilité |
|---|---|---|---|---|
| gateway.name | ID de la ressource de passerelle auto-hébergée. | Oui, lors de l'utilisation de l'authentification Microsoft Entra | N/A | v2.3+ |
| config.service.endpoint | Point de terminaison de configuration dans la Gestion des API Azure pour la passerelle auto-hébergée. Recherchez cette valeur dans le Portail Azure sous Déploiement>. | Oui | N/A | v2.0+ |
| config.service.auth | Définit comment la passerelle auto-hébergée s’authentifie à l’API de configuration. Actuellement, la passerelle prend en charge le jeton passerelle et l’authentification Microsoft Entra. | Oui | N/A | v2.0+ |
| config.service.auth.azureAd.tenantId | ID du locataire Microsoft Entra. | Oui, lors de l'utilisation de l'authentification Microsoft Entra | N/A | v2.3+ |
| config.service.auth.azureAd.clientId | ID client de l’application Microsoft Entra avec laquelle s’authentifier (également appelé ID d’application). | Oui, lors de l'utilisation de l'authentification Microsoft Entra | N/A | v2.3+ |
| config.service.auth.azureAd.clientSecret | Secret de l'application Microsoft Entra avec laquelle s'authentifier. | Oui, lors de l’authentification Microsoft Entra (sauf si vous spécifiez un certificat) | N/A | v2.3+ |
| config.service.auth.azureAd.certificatePath | Chemin d’accès au certificat avec lequel s’authentifier pour l’application Microsoft Entra. | Oui, lors de l’authentification Microsoft Entra (sauf si vous spécifiez un secret) | N/A | v2.3+ |
| config.service.auth.azureAd.authority | URL d’autorité de l’ID Microsoft Entra. | Non | https://login.microsoftonline.com |
v2.3+ |
| config.service.auth.tokenAudience | Audience du jeton pour l’authentification Microsoft Entra. | Non | https://azure-api.net/configuration |
v2.3+ |
| config.service.endpoint.disableCertificateValidation | Définit si la passerelle auto-hébergée valide le certificat côté serveur de l’API de configuration. Utilisez la validation des certificats en production. Désactivez-le uniquement pour les tests, et faites preuve de prudence car cela peut présenter un risque de sécurité. | Non | false |
v2.0+ |
| config.service.intégration.timeout | Définit le délai d'expiration pour interagir avec l'API de configuration. | Non | 00:01:40 |
v2.3.5+ |
La passerelle auto-hébergée prend en charge plusieurs options d’authentification pour s’intégrer à l’API de configuration. Définissez ces options en utilisant config.service.auth.
Pour définir comment s’authentifier, fournissez les informations suivantes :
- Pour l’authentification basée sur les jetons de passerelle, spécifiez un jeton d’accès (clé d’authentification) de la passerelle auto-hébergée dans le Portail Azure sousDéploiement>de passerelles.
- Pour l’authentification basée sur Microsoft Entra ID, spécifiez
azureAdAppet fournissez les paramètres d’authentificationconfig.service.auth.azureAdsupplémentaires.
Découverte et synchronisation entre instances
| Nom | Descriptif | Obligatoire | Par défaut | Disponibilité |
|---|---|---|---|---|
| neighborhood.host | Nom DNS utilisé pour résoudre toutes les instances d’un déploiement de passerelle auto-hébergée pour la synchronisation entre instances. Dans Kubernetes, utilisez un service headless pour résoudre les instances. | Non | N/A | v2.0+ |
| neighborhood.heartbeat.port | Port UDP utilisé pour les instances d’un déploiement de passerelle auto-hébergé pour envoyer des pulsations à d’autres instances. | Non | 4291 |
v2.0+ |
| policy.rate-limit.sync.port | Port UDP utilisé pour les instances de passerelle auto-hébergées pour synchroniser la limitation de débit entre plusieurs instances. | Non | 4290 |
v2.0+ |
HTTP
| Nom | Descriptif | Obligatoire | Par défaut | Disponibilité |
|---|---|---|---|---|
| net.server.http.forwarded.proto.enabled | Honore l’en-tête X-Forwarded-Proto pour identifier le schéma afin de résoudre la route API appelée (http/https uniquement). |
Non | false |
v2.5+ |
Intégration à Kubernetes
Kubernetes Ingress (aperçu)
Important
Le support de Kubernetes Ingress est expérimental, et le support Azure ne le couvre pas. Pour en savoir plus, consultez le dépôt GitHub Kubernetes Ingress.
| Nom | Descriptif | Obligatoire | Par défaut | Disponibilité |
|---|---|---|---|---|
| k8s.ingress.enabled | Activer l’intégration Kubernetes Ingress. | Non | false |
v2.0+ |
| k8s.ingress.namespace | Espace de noms Kubernetes dans lequel regarder les ressources Kubernetes Ingress. | Non | default |
v2.0+ |
| k8s.ingress.dns.suffix | Suffixe DNS pour générer le nom d’hôte DNS pour que les services envoient les requêtes. | Non | svc.cluster.local |
v2.4+ |
| k8s.ingress.config.path | Chemin d’accès à la configuration Kubernetes (Kubeconfig). | Non | N/A | v2.4+ |
Mesures
| Nom | Descriptif | Obligatoire | Par défaut | Disponibilité |
|---|---|---|---|---|
| telemetry.metrics.local | Activez la collecte de métriques locales via StatsD. La valeur est l’une des options suivantes : none, statsd. |
Non | none |
v2.0+ |
| telemetry.metrics.local.statsd.endpoint | Point de terminaison StatsD. | Oui, s’il telemetry.metrics.local est défini sur statsd ; sinon non. |
N/A | v2.0+ |
| telemetry.metrics.local.statsd.sampling | Taux d’échantillonnage des métriques StatsD. La valeur doit être comprise entre 0 et 1, par exemple, 0,5. | Non | N/A | v2.0+ |
| telemetry.metrics.local.statsd.tag-format |
Format d’étiquetage de l’exportateur StatsD. La valeur est l’une des options suivantes : librato, dogStatsD, influxDB. |
Non | N/A | v2.0+ |
| telemetry.metrics.cloud | Indiquez s’il faut activer les métriques d’émission sur Azure Monitor. | Non | true |
v2.0+ |
| observability.opentelemetry.enabled | Indiquer s’il faut activer les métriques d’émission à un collecteur OpenTelemetry sur Kubernetes. | Non | false |
v2.0+ |
| observability.opentelemetry.collector.uri | URI du collecteur OpenTelemetry vers laquelle envoyer des métriques. | Oui, s’il observability.opentelemetry.enabled est défini sur true ; sinon non. |
N/A | v2.0+ |
| observability.opentelemetry.system-metrics.enabled | Activez l’envoi de métriques système, telles que le processeur, la mémoire et la collecte des ordures, vers le collecteur OpenTelemetry. | Non | false |
v2.3+ |
| observability.opentelemetry.histogram.buckets | Compartiments d’histogrammes pour rapporter les métriques OpenTelemetry. Format : « x,y,z,... ». | Non | « 5,10, 25, 50,100, 250, 500,1 000, 2 500, 5 000,10 000 » | v2.0+ |
Journaux d’activité
| Nom | Descriptif | Obligatoire | Par défaut | Disponibilité |
|---|---|---|---|---|
| telemetry.logs.std |
Activez la journalisation dans un flux standard. La valeur est l’une des options suivantes : none, text, json. |
Non | text |
v2.0+ |
| telemetry.logs.std.level | Définit le niveau logarithmique des journaux envoyés au flux standard. La valeur est l’une des options suivantes : all, debug, info, warn, error, ou fatal. |
Non | info |
v2.0+ |
| telemetry.logs.std.color | Indiquez s’il faut ou non utiliser des rondins colorés dans le flux standard. | Non | true |
v2.0+ |
| telemetry.logs.local |
Activez la journalisation locale. La valeur est l’une des options suivantes : none, auto, localsyslog,rfc5424,journal,json |
Non | auto |
v2.0+ |
| telemetry.logs.local.localsyslog.endpoint | Point de terminaison localsyslog. | Oui, s’il telemetry.logs.local est défini sur localsyslog ; sinon non. Pour plus d’informations sur la configuration, consultez la documentation syslog locale. |
N/A | v2.0+ |
| telemetry.logs.local.localsyslog.facility | Specifies le code de facilité de localsyslog 7. |
Non | N/A | v2.0+ |
| telemetry.logs.local.rfc5424.endpoint | point de terminaison de rfc5424. | Oui, s’il telemetry.logs.local est défini sur rfc5424 ; sinon non. |
N/A | v2.0+ |
| telemetry.logs.local.rfc5424.facility | Code d’installation par rfc5424, par exemple, 7 |
Non | N/A | v2.0+ |
| telemetry.logs.local.journal.endpoint | Point de terminaison de journal. | Oui, s’il telemetry.logs.local est défini sur journal ; sinon non. |
N/A | v2.0+ |
| telemetry.logs.local.json.endpoint | Point de terminaison UDP qui accepte les données JSON, spécifié en tant que chemin de fichier, adresse IP : port ou nom d’hôte : port. | Oui, s’il telemetry.logs.local est défini sur json ; sinon non. |
127.0.0.1:8888 | v2.0+ |
Sécurité
Certificats et chiffres
| Nom | Descriptif | Obligatoire | Par défaut | Disponibilité |
|---|---|---|---|---|
| certificates.local.ca.enabled | Indiquer si la passerelle auto-hébergée doit utiliser des certificats de CA locaux montés. Il est nécessaire d'exécuter la passerelle auto-hébergée en tant que racine ou avec l'ID utilisateur 1001. | Non | false |
v2.0+ |
| net.server.tls.ciphers.allowed-suites | Liste de chiffres séparés par virgules à utiliser pour la connexion TLS entre le client API et la passerelle auto-hébergée. | Non | 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 | Liste séparée par des virgules de chiffrements à utiliser pour la connexion TLS entre la passerelle auto-hébergée et le serveur principal. | Non | 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 | Cela active ou désactive la validation de liste de révocation de certificats. | Non | false |
v2.3.6+ |
TLS
| Nom | Descriptif | Obligatoire | Par défaut | Disponibilité |
|---|---|---|---|---|
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls13 | Indique si la passerelle permet TLS 1.3 vers le backend. Similaire à la gestion des chiffrements de protocole dans la passerelle managée. | Non | true |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls12 | Indique si la passerelle permet TLS 1.2 vers le backend. Similaire à la gestion des chiffrements de protocole dans la passerelle managée. | Non | true |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 | Indique si la passerelle permet TLS 1.1 vers le backend. Similaire à la gestion des chiffrements de protocole dans la passerelle managée. | Non | false |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 | Indique si la passerelle permet TLS 1.0 vers le backend. Similaire à la gestion des chiffrements de protocole dans la passerelle managée. | Non | false |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30 | Indique si la passerelle permet SSL 3.0 vers le backend. Similaire à la gestion des chiffrements de protocole dans la passerelle managée. | Non | false |
v2.0+ |
Clouds souverains
Le tableau suivant décrit les réglages à configurer pour fonctionner avec des clouds souverains :
| Nom | Publique | Azure Chine | US Government |
|---|---|---|---|
| config.service.auth.tokenAudience |
https://azure-api.net/configuration (valeur par défaut) |
https://azure-api.cn/configuration |
https://azure-api.us/configuration |
| logs.applicationinsights.endpoint |
https://dc.services.visualstudio.com/v2/track (valeur par défaut) |
https://dc.applicationinsights.azure.cn/v2/track |
https://dc.applicationinsights.us/v2/track |
Configuration des paramètres
Fichier YAML Kubernetes
Lors du déploiement de la passerelle auto-hébergée sur Kubernetes à l’aide d’un fichier YAML, configurez les paramètres comme paires nom-valeur dans l’élément data de la ConfigMap de la passerelle. Par exemple :
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"
[...]
Graphique Helm
Lorsque vous utilisez Helm pour déployer la passerelle auto-hébergée vers Kubernetes, passez les paramètres de configuration des graphiques comme paramètres à la helm install commande. Par exemple :
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
Contenu connexe
- En savoir plus sur l’exécution de la passerelle auto-hébergée sur Kubernetes en production
- Déployer une passerelle auto-hébergée sur Docker
- Déployer une passerelle auto-hébergée sur Kubernetes
- Déployer une passerelle auto-hébergée sur un cluster Kubernetes avec Azure Arc
- Activer la prise en charge de Dapr sur une passerelle auto-hébergée
- En savoir plus sur les options de configuration pour l’extension Azure Arc