Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SI APPLICA A: Sviluppatore | Premium
Questo articolo fornisce informazioni di riferimento per le impostazioni obbligatorie e facoltative usate per configurare il contenitore del gateway self-hosted Gestione API.
Per maggiori informazioni, vedi Guida per gestire un gateway auto-ospitato su Kubernetes in produzione.
Importante
Questo riferimento si applica solo al gateway self-hosted v2. Questo riferimento indica la versione minima che supporta ciascuna impostazione.
Integrazione dell'API di configurazione
Il gateway self-hosted utilizza l'API di Configurazione per connettersi ad Gestione API di Azure, ottenere l'ultima configurazione e inviare metriche quando abilitate.
La tabella seguente descrive le opzioni di configurazione per l'integrazione dell'API di configurazione:
| Nome | Descrizione | Richiesto | Valore predefinito | Disponibilità |
|---|---|---|---|---|
| gateway.name | ID della risorsa gateway self-hosted. | Sì, quando si usa l'autenticazione Microsoft Entra | N/D | v2.3+ |
| config.service.endpoint | Endpoint di configurazione in Azure Gestione API per il gateway self-hosted. Trovare questo valore nella portale di Azure in >. | Sì | N/D | v2.0+ |
| config.service.auth | Definisce come il gateway auto-ospitato si autentica all'API di configurazione. Attualmente, il gateway supporta token gateway e autenticazione Microsoft Entra. | Sì | N/D | v2.0+ |
| config.service.auth.azureAd.tenantId | ID del tenant di Microsoft Entra. | Sì, quando si usa l'autenticazione Microsoft Entra | N/D | v2.3+ |
| config.service.auth.azureAd.clientId | ID client dell'app Microsoft Entra per l'autenticazione con (noto anche come ID applicazione). | Sì, quando si usa l'autenticazione Microsoft Entra | N/D | v2.3+ |
| config.service.auth.azureAd.clientSecret | Segreto dell'app Microsoft Entra con cui eseguire l'autenticazione. | Sì, quando si utilizza l'autenticazione Microsoft Entra (a meno che non specifichi un certificato) | N/D | v2.3+ |
| config.service.auth.azureAd.certificatePath | Percorso del certificato con cui eseguire l'autenticazione per l'app Microsoft Entra. | Sì, quando si usa l'autenticazione Microsoft Entra (a meno che tu non specifichi un segreto) | N/D | v2.3+ |
| config.service.auth.azureAd.authority | URL autorità di Microsoft Entra ID. | NO | https://login.microsoftonline.com |
v2.3+ |
| config.service.auth.tokenAudience | Pubblico del token per l'autenticazione Microsoft Entra. | NO | https://azure-api.net/configuration |
v2.3+ |
| config.service.endpoint.disableCertificateValidation | Definisce se il gateway auto-ospitato valida il certificato lato server dell'API di configurazione. Usa la validazione dei certificati in produzione. Disabilitalo solo per i test e fai attenzione perché può rappresentare un rischio per la sicurezza. | NO | false |
v2.0+ |
| config.service.integration.timeout | Definisce il timeout per interagire con l'API di configurazione. | NO | 00:01:40 |
v2.3.5+ |
Il gateway auto-ospitato supporta diverse opzioni di autenticazione per integrarsi con l'API di Configurazione. Definisci queste opzioni usando config.service.auth.
Per definire come autenticarsi, fornisci le seguenti informazioni:
- Per l'autenticazione basata su token del gateway, specificare un token di accesso (chiave di autenticazione) del gateway self-hosted nella portale di Azure in >.
- Per l'autenticazione basata su ID Di Microsoft Entra specificare e specificare
azureAdApple impostazioni di autenticazione aggiuntiveconfig.service.auth.azureAd.
Scoperta e sincronizzazione tra istanze
| Nome | Descrizione | Richiesto | Valore predefinito | Disponibilità |
|---|---|---|---|---|
| neighborhood.host | Nome DNS usato per risolvere tutte le istanze di una distribuzione del gateway self-hosted per la sincronizzazione tra istanze. In Kubernetes, usa un servizio headless per risolvere le istanze. | NO | N/D | v2.0+ |
| neighborhood.heartbeat.port | Porta UDP usata per le istanze di una distribuzione di gateway self-hosted per inviare heartbeat ad altre istanze. | NO | 4291 |
v2.0+ |
| policy.rate-limit.sync.port | Porta UDP usata per le istanze del gateway self-hosted per sincronizzare la limitazione della frequenza tra più istanze. | NO | 4290 |
v2.0+ |
Protocollo HTTP
| Nome | Descrizione | Richiesto | Valore predefinito | Disponibilità |
|---|---|---|---|---|
| net.server.http.forwarded.proto.enabled | Onora l'intestazione X-Forwarded-Proto per identificare lo schema per risolvere la via API chiamata (solo http/https). |
NO | false |
v2.5+ |
Integrazione di Kubernetes
Kubernetes Ingress (anteprima)
Importante
Il supporto per Kubernetes Ingress è sperimentale, e il supporto Azure non lo copre. Scopri di più nel repository GitHub di Kubernetes Ingress.
| Nome | Descrizione | Richiesto | Valore predefinito | Disponibilità |
|---|---|---|---|---|
| k8s.ingress.enabled | Abilitare l'integrazione in ingresso di Kubernetes. | NO | false |
v2.0+ |
| k8s.ingress.namespace | Spazio dei nomi Kubernetes per controllare le risorse in ingresso di Kubernetes. | NO | default |
v2.0+ |
| k8s.ingress.dns.suffix | Suffisso DNS per compilare il nome host DNS per i servizi a cui inviare richieste. | NO | svc.cluster.local |
v2.4+ |
| k8s.ingress.configpercorso | Percorso della configurazione di Kubernetes (Kubeconfig). | NO | N/D | v2.4+ |
Metriche
| Nome | Descrizione | Richiesto | Valore predefinito | Disponibilità |
|---|---|---|---|---|
| telemetry.metrics.local | Abilitare la raccolta delle metriche locali tramite StatsD. Il valore è una delle opzioni seguenti: none, statsd. |
NO | none |
v2.0+ |
| telemetry.metrics.local.statsd.endpoint | Endpoint StatsD. | Sì, se telemetry.metrics.local è impostato su statsd; in caso contrario, no. |
N/D | v2.0+ |
| telemetry.metrics.local.statsd.sampling | Frequenza di campionamento delle metriche StatsD. Il valore deve essere compreso tra 0 e 1, ad esempio 0,5. | NO | N/D | v2.0+ |
| telemetry.metrics.local.statsd.tag-format | L'utilità di esportazione StatsD formato di assegnazione di tag. Value è una delle opzioni seguenti: librato, dogStatsD, influxDB. |
NO | N/D | v2.0+ |
| telemetry.metrics.cloud | Indica se abilitare le metriche di emissione su Monitoraggio di Azure. | NO | true |
v2.0+ |
| observability.opentelemetry.enabled | Indicare se abilitare le metriche di emissione a un collezionista OpenTelemetry su Kubernetes. | NO | false |
v2.0+ |
| observability.opentelemetry.collector.uri | URI dell'agente di raccolta OpenTelemetry a cui inviare le metriche. | Sì, se observability.opentelemetry.enabled è impostato su true; in caso contrario, no. |
N/D | v2.0+ |
| observability.opentelemetry.system-metrics.enabled | Abilita l'invio di metriche di sistema, come CPU, memoria e garbage collection, al raccoglitore OpenTelemetry. | NO | false |
v2.3+ |
| observability.opentelemetry.histogram.buckets | Bucket di istogrammi in cui riportare metriche OpenTelemetry. Formato: "x,y,z,...". | NO | "5,10,25,50,100,250,500,1000,2500,5000,10000" | v2.0+ |
Registri
| Nome | Descrizione | Richiesto | Valore predefinito | Disponibilità |
|---|---|---|---|---|
| telemetry.logs.std |
Abilitare la registrazione in un flusso standard. Value è una delle opzioni seguenti: none, text, json. |
NO | text |
v2.0+ |
| telemetry.logs.std.level | Definisce il livello logaritmico dei log inviati al flusso standard. Il valore è una delle seguenti opzioni: all, debug, info, warn, error, o fatal. |
NO | info |
v2.0+ |
| telemetry.logs.std.color | Indica se utilizzare o meno tronchi colorati nel flusso standard. | NO | true |
v2.0+ |
| telemetry.logs.local |
Abilitare la registrazione locale. Value è una delle opzioni seguenti: none, auto, localsyslog, rfc5424, journaljson |
NO | auto |
v2.0+ |
| telemetry.logs.local.localsyslog.endpoint | endpoint localsyslog. | Sì se telemetry.logs.local è impostato su localsyslog; in caso contrario, no. Per altre informazioni sulla configurazione, vedere la documentazione di syslog locale. |
N/D | v2.0+ |
| telemetry.logs.local.localsyslog.facility | Specifica il codice della struttura localsyslog, 7ad esempio . |
NO | N/D | v2.0+ |
| telemetry.logs.local.rfc5424.endpoint | Endpoint RFC5424. | Sì se telemetry.logs.local è impostato su rfc5424; in caso contrario, no. |
N/D | v2.0+ |
| telemetry.logs.local.rfc5424.facility | Codice della struttura per rfc5424, ad esempio 7 |
NO | N/D | v2.0+ |
| telemetry.logs.local.journal.endpoint | Endpoint journal. | Sì se telemetry.logs.local è impostato su journal; in caso contrario, no. |
N/D | v2.0+ |
| telemetry.logs.local.jsonendpoint | Endpoint UDP che accetta dati JSON, specificati come percorso file, IP:port o hostname:port. | Sì se telemetry.logs.local è impostato su json; in caso contrario, no. |
127.0.0.1:8888 | v2.0+ |
Sicurezza
Certificati e cifrari
| Nome | Descrizione | Richiesto | Valore predefinito | Disponibilità |
|---|---|---|---|---|
| certificates.local.ca.enabled | Indicare se il gateway auto-ospitato debba utilizzare certificati CA locali montati. È necessario eseguire il gateway self-hosted come radice o con ID utente 1001. | NO | false |
v2.0+ |
| net.server.tls.ciphers.allowed-suites | Elenco separato da virgole di cifrari da utilizzare per la connessione TLS tra il client API e il gateway auto-ospitato. | 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 | Elenco delimitato da virgole di crittografie da usare per la connessione TLS tra il gateway self-hosted e il back-end. | 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 | Attiva o disattiva la validazione della lista di revoca dei certificati. | NO | false |
v2.3.6+ |
TLS
| Nome | Descrizione | Richiesto | Valore predefinito | Disponibilità |
|---|---|---|---|---|
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls13 | Indica se il gateway consente TLS 1.3 al backend. Analogamente alla gestione delle crittografie dei protocolli nel gateway gestito. | NO | true |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls12 | Indica se il gateway consente TLS 1.2 al backend. Analogamente alla gestione delle crittografie dei protocolli nel gateway gestito. | NO | true |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 | Indica se il gateway consente TLS 1.1 al backend. Analogamente alla gestione delle crittografie dei protocolli nel gateway gestito. | NO | false |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 | Indica se il gateway consente TLS 1.0 al backend. Analogamente alla gestione delle crittografie dei protocolli nel gateway gestito. | NO | false |
v2.0+ |
| Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30 | Indica se il gateway consente SSL 3.0 al backend. Analogamente alla gestione delle crittografie dei protocolli nel gateway gestito. | NO | false |
v2.0+ |
Cloud sovrani
La tabella seguente descrive le impostazioni da configurare per lavorare con i sovrani cloud:
| Nome | Pubblico | Azure Cina | Governo degli Stati Uniti |
|---|---|---|---|
| config.service.auth.tokenAudience |
https://azure-api.net/configuration (impostazione predefinita) |
https://azure-api.cn/configuration |
https://azure-api.us/configuration |
| logs.applicationinsights.endpoint |
https://dc.services.visualstudio.com/v2/track (impostazione predefinita) |
https://dc.applicationinsights.azure.cn/v2/track |
https://dc.applicationinsights.us/v2/track |
Come configurare le impostazioni
File YAML di Kubernetes
Quando si distribuisce il gateway auto-ospitato su Kubernetes utilizzando un file YAML, configura le impostazioni come coppie nome-valore nell'elemento data della ConfigMap del gateway. Ad esempio:
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"
[...]
Grafico Helm
Quando usi Helm per distribuire il gateway self-hosted su Kubernetes, passa le impostazioni di configurazione delle carte come parametri al helm install comando. Ad esempio:
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
Contenuti correlati
- Scopri di più su come gestire il gateway self-hosted su Kubernetes in produzione
- Distribuire un gateway self-hosted in Docker
- Distribuire un gateway self-hosted in Kubernetes
- Distribuire un gateway self-hosted nel cluster Kubernetes abilitato per Azure Arc
- Abilitare il supporto dapr nel gateway self-hosted
- Altre informazioni sulle opzioni di configurazione per l'estensione Azure Arc