Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SE APLICA A: Desarrollador | Premium
En este artículo se proporciona una referencia para los valores obligatorios y opcionales que se usan para configurar el contenedor de la puerta de enlace autohospedada de API Management.
Para más información, consulte Guía para ejecutar una pasarela autoalojada en Kubernetes en producción.
Importante
Esta referencia solo se aplica a la puerta de enlace autohospedada v2. Esta referencia indica la versión mínima que soporta cada configuración.
Integración de la API de configuración
La pasarela autoalojada utiliza la API de Configuración para conectarse a Azure API Management, obtener la última configuración y enviar métricas cuando está habilitada.
La siguiente tabla describe las opciones de configuración para la integración de la API de configuración:
| Nombre | Descripción | Necesario | Valor predeterminado | Disponibilidad |
|---|---|---|---|---|
| gateway.name | Identificador del recurso de puerta de enlace autohospedado. | Sí, cuando se usa la autenticación de Microsoft Entra | N/D | v2.3+ |
| config.service.endpoint | Punto de conexión de configuración de Azure API Management para la puerta de enlace autohospedada. Busque este valor en Azure Portal en Puertas de enlace>Implementación. | Sí | N/D | v2.0+ |
| config.service.auth | Define cómo la pasarela autoalojada se autentica a la API de configuración. Actualmente, la pasarela soporta token de gateway y autenticación Microsoft Entra. | Sí | N/D | v2.0+ |
| config.service.auth.azureAd.tenantId | Identificador del inquilino de Microsoft Entra. | Sí, cuando se usa la autenticación de Microsoft Entra | N/D | v2.3+ |
| config.service.auth.azureAd.clientId | Id. de cliente de la aplicación de Microsoft Entra con el que autenticarse (también conocido como id. de aplicación). | Sí, cuando se usa la autenticación de Microsoft Entra | N/D | v2.3+ |
| config.service.auth.azureAd.clientSecret | Secreto de la aplicación de Microsoft Entra con el que autenticarse. | Sí, cuando se utiliza la autenticación Microsoft Entra (a menos que especifiques un certificado) | N/D | v2.3+ |
| config.service.auth.azureAd.certificatePath | Ruta de acceso al certificado con la que autenticarse para la aplicación de Microsoft Entra. | Sí, cuando se usa autenticación Microsoft Entra (a menos que especifiques un secreto) | N/D | v2.3+ |
| config.service.auth.azureAd.authority | Dirección URL de autoridad de Microsoft Entra ID. | No | https://login.microsoftonline.com |
v2.3+ |
| config.service.auth.tokenAudience | Audiencia del token para la autenticación de Microsoft Entra. | No | https://azure-api.net/configuration |
v2.3+ |
| config.service.endpoint.disableCertificateValidation | Define si la pasarela autoalojada valida el certificado del lado servidor de la API de configuración. Usa la validación de certificados en producción. Desactívalo solo para pruebas y ten precaución porque puede suponer un riesgo de seguridad. | No | false |
v2.0+ |
| config.service.integration.timeout | Define el tiempo de espera para interactuar con la API de configuración. | No | 00:01:40 |
v2.3.5+ |
La pasarela autoalojada soporta varias opciones de autenticación para integrarse con la API de configuración. Defina estas opciones usando config.service.auth.
Para definir cómo autenticar, proporciona la siguiente información:
- Para la autenticación basada en tókenes de puerta de enlace, especifique un token de acceso (clave de autenticación) de la puerta de enlace autohospedada en Azure Portal en Puertas de enlace>Implementación.
- Para la autenticación basada en Microsoft Entra ID, especifique
azureAdAppy proporcione la configuración de autenticación adicionalconfig.service.auth.azureAd.
Descubrimiento y sincronización entre instancias
| Nombre | Descripción | Necesario | Valor predeterminado | Disponibilidad |
|---|---|---|---|---|
| neighborhood.host | Nombre DNS usado para resolver todas las instancias de una implementación de puerta de enlace autohospedada para la sincronización entre instancias. En Kubernetes, utiliza un servicio headless para resolver las instancias. | No | N/D | v2.0+ |
| neighborhood.heartbeat.port | Puerto UDP usado para instancias de una implementación de puerta de enlace autohospedada para enviar latidos a otras instancias. | No | 4291 |
v2.0+ |
| policy.rate-limit.sync.port | Puerto UDP usado para instancias de puerta de enlace autohospedada para sincronizar la limitación de velocidad entre varias instancias. | No | 4290 |
v2.0+ |
HTTP
| Nombre | Descripción | Necesario | Valor predeterminado | Disponibilidad |
|---|---|---|---|---|
| net.server.http.forwarded.proto.enabled | Respeta el X-Forwarded-Proto encabezado para identificar el esquema que resuelve la ruta API llamada (solo http/https). |
No | false |
v2.5+ |
Integración de Kubernetes
Kubernetes Ingress (vista previa)
Importante
El soporte para Kubernetes Ingress es experimental, y el soporte de Azure no lo cubre. Aprende más en el repositorio de GitHub Kubernetes Ingress.
| Nombre | Descripción | Necesario | Valor predeterminado | Disponibilidad |
|---|---|---|---|---|
| k8s.ingress.enabled | Habilite la integración de Kubernetes Ingress. | No | false |
v2.0+ |
| k8s.ingress.namespace | Espacio de nombres de Kubernetes en el que ver los recursos de Kubernetes Ingress. | No | default |
v2.0+ |
| k8s.ingress.dns.suffix | Sufijo DNS para compilar el nombre de host DNS para que los servicios envíen solicitudes. | No | svc.cluster.local |
v2.4+ |
| k8s.ingress.config.path | Ruta de acceso a la configuración de Kubernetes (Kubeconfig). | No | N/D | v2.4+ |
Métricas
| Nombre | Descripción | Necesario | Valor predeterminado | Disponibilidad |
|---|---|---|---|---|
| telemetry.metrics.local | Habilite la recopilación de métricas locales mediante StatsD. El valor es una de las siguientes opciones: none, statsd. |
No | none |
v2.0+ |
| telemetry.metrics.local.statsd.endpoint | Punto de conexión de StatsD. | Sí, si telemetry.metrics.local se establece en statsd; en caso contrario, no. |
N/D | v2.0+ |
| telemetry.metrics.local.statsd.sampling | Frecuencia de muestreo de las métricas de StatsD. El valor debe estar entre 0 y 1, por ejemplo, 0,5. | No | N/D | v2.0+ |
| telemetry.metrics.local.statsd.tag-format |
Formato de etiquetado del exportador de StatsD. El valor es una de las siguientes opciones: librato, dogStatsD, influxDB. |
No | N/D | v2.0+ |
| telemetry.metrics.cloud | Indica si habilitar las métricas de emisión en Azure Monitor. | No | true |
v2.0+ |
| observability.opentelemetry.enabled | Indica si habilitar métricas de emisión a un colector de OpenTelemetry en Kubernetes. | No | false |
v2.0+ |
| observability.opentelemetry.collector.uri | URI del recopilador de OpenTelemetry al que se van a enviar las métricas. | Sí, si observability.opentelemetry.enabled se establece en true; en caso contrario, no. |
N/D | v2.0+ |
| observability.opentelemetry.system-metrics.enabled | Habilitar el envío de métricas del sistema, como CPU, memoria y recogida de basura, al colector OpenTelemetry. | No | false |
v2.3+ |
| observability.opentelemetry.histogram.buckets | Cubos de histogramas en los que informar de métricas de OpenTelemetry. Formato: "x,y,z,...". | No | "5,10,25,50,100,250,500,1000,2500,5000,10000" | v2.0+ |
Registros
| Nombre | Descripción | Necesario | Valor predeterminado | Disponibilidad |
|---|---|---|---|---|
| telemetry.logs.std |
Habilite el registro en un flujo estándar. El valor es una de las siguientes opciones: none, text, json. |
No | text |
v2.0+ |
| telemetry.logs.std.level | Define el nivel logarítmico de los registros enviados al flujo estándar. El valor es una de las siguientes opciones: all, debug, info, warn, error, o fatal. |
No | info |
v2.0+ |
| telemetry.logs.std.color | Indica si usar o no troncos de colores en el flujo estándar. | No | true |
v2.0+ |
| telemetry.logs.local |
Habilite el registro local. El valor es una de las siguientes opciones: none, auto, localsyslog, rfc5424, journal, json |
No | auto |
v2.0+ |
| telemetry.logs.local.localsyslog.endpoint | punto de conexión localsyslog. | Sí, si telemetry.logs.local se establece en localsyslog; en caso contrario, no. Consulte la documentación de syslog local para obtener más información sobre la configuración. |
N/D | v2.0+ |
| telemetry.logs.local.localsyslog.facility | Especifica el código de componente de localsyslog, por ejemplo, 7. |
No | N/D | v2.0+ |
| telemetry.logs.local.rfc5424.endpoint | rfc5424 endpoint( punto de conexión de rfc5424). | Sí, si telemetry.logs.local se establece en rfc5424; en caso contrario, no. |
N/D | v2.0+ |
| telemetry.logs.local.rfc5424.facility | Código de componente por rfc5424; por ejemplo, 7 |
No | N/D | v2.0+ |
| telemetry.logs.local.journal.endpoint | Punto de conexión del diario. | Sí, si telemetry.logs.local se establece en journal; en caso contrario, no. |
N/D | v2.0+ |
| telemetry.logs.local.json.endpoint | Punto de conexión de UDP que acepta datos JSON, especificado como ruta de archivo, IP:puerto o nombreDeHost:puerto. | Sí, si telemetry.logs.local se establece en json; en caso contrario, no. |
127.0.0.1:8888 | v2.0+ |
Seguridad
Certificados y cifrados
| Nombre | Descripción | Necesario | Valor predeterminado | Disponibilidad |
|---|---|---|---|---|
| certificates.local.ca.enabled | Indicar si la pasarela autoalojada debe usar certificados locales de la CA montados. Se requiere ejecutar la puerta de enlace autohospedada como raíz o con el identificador de usuario 1001. | No | false |
v2.0+ |
| net.server.tls.ciphers.allowed-suites | Lista de cifrados separados por comas para usar en la conexión TLS entre el cliente API y la pasarela autoalojada. | No | 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 | Lista separada por comas de cifrados que se usan para la conexión TLS entre la puerta de enlace autohospedada y el backend. | No | 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 | Activa o desactiva la validación de la lista de revocación de certificados. | No | false |
v2.3.6+ |
TLS
| Nombre | Descripción | Necesario | Valor predeterminado | Disponibilidad |
|---|---|---|---|---|
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls13 | Indica si la pasarela permite TLS 1.3 al backend. De forma similar a la administración de cifrados de protocolos en la puerta de enlace administrada. | No | true |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls12 | Indica si el gateway permite TLS 1.2 al backend. De forma similar a la administración de cifrados de protocolos en la puerta de enlace administrada. | No | true |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 | Indica si la pasarela permite TLS 1.1 al backend. De forma similar a la administración de cifrados de protocolos en la puerta de enlace administrada. | No | false |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 | Indica si la pasarela permite TLS 1.0 al backend. De forma similar a la administración de cifrados de protocolos en la puerta de enlace administrada. | No | false |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30 | Indica si la pasarela permite SSL 3.0 al backend. De forma similar a la administración de cifrados de protocolos en la puerta de enlace administrada. | No | false |
v2.0+ |
Nubes soberanas
La siguiente tabla describe los ajustes que debes configurar para trabajar con nubes soberanas:
| Nombre | Público | Azure China | US Gov |
|---|---|---|---|
| config.service.auth.tokenAudience |
https://azure-api.net/configuration (Valor predeterminado) |
https://azure-api.cn/configuration |
https://azure-api.us/configuration |
| logs.applicationinsights.endpoint |
https://dc.services.visualstudio.com/v2/track (Valor predeterminado) |
https://dc.applicationinsights.azure.cn/v2/track |
https://dc.applicationinsights.us/v2/track |
Cómo configurar los valores
Archivo YAML de Kubernetes
Al desplegar la pasarela autoalojada en Kubernetes usando un archivo YAML, configura la configuración como pares nombre-valor en el data elemento del MapConfigMap de la pasarela. Por ejemplo:
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"
[...]
Gráfico de Helm
Cuando uses Helm para desplegar la puerta de enlace autoalojada en Kubernetes, pasa la configuración de gráficos como parámetros al helm install comando. Por ejemplo:
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
Contenido relacionado
- Aprende más sobre cómo gestionar la pasarela autoalojada en Kubernetes en producción
- Implementación de una puerta de enlace autohospedada en Docker
- Implementación de una puerta de enlace autohospedada en Kubernetes
- Implementación de una puerta de enlace autohospedada en el clúster de Kubernetes habilitado para Azure Arc
- Habilitación de la compatibilidad con Dapr en la puerta de enlace autohospedada
- Más información sobre las opciones de configuración de la extensión de Azure Arc