Başvuru: Şirket içinde barındırılan ağ geçidi kapsayıcı yapılandırma ayarları

ŞUNLAR IÇIN GEÇERLIDIR: Geliştirici | Premium

Bu makale, API Management şirket içinde barındırılan ağ geçidi kapsayıcısını yapılandırmak için kullanılan gerekli ve isteğe bağlı ayarlar için bir başvuru sağlar.

Daha fazla bilgi için, Kubernetes'te üretimde kendi kendine barındırılan bir geçit çalıştırma rehberi'ne bakınız.

Önemli

Bu başvuru yalnızca şirket içinde barındırılan ağ geçidi v2 için geçerlidir. Bu referans, her ayarı destekleyen minimum sürümü belirtir.

Yapılandırma API'si tümleştirmesi

Kendi kendine barındırılan gateway, Yapılandırma API'sini kullanarak Azure API Management'a bağlanır, en son yapılandırmayı alır ve etkinleştirildiğinde metrikler gönderir.

Aşağıdaki tablo, Yapılandırma API entegrasyonu için yapılandırma seçeneklerini açıklar:

Veri Akışı Adı Açıklama Zorunlu Varsayılan Kullanılabilirlik
gateway.name Şirket içinde barındırılan ağ geçidi kaynağının kimliği. Evet, Microsoft Entra kimlik doğrulaması kullanılırken Yok v2.3+
config.service.endpoint Şirket içinde barındırılan ağ geçidi için Azure API Management'ta yapılandırma uç noktası. Bu değeri Azure portalında Ağ Geçitleribulabilirsiniz. Evet Yok v2.0+
config.service.auth Kendi kendine barındırılan gateway'in Yapılandırma API'sine nasıl kimlik doğrulamasını tanımlar. Şu anda gateway, gateway token ve Microsoft Entra kimlik doğrulamasını desteklemektedir. Evet Yok v2.0+
config.service.auth.azureAd.tenantId Microsoft Entra kiracısının kimliği. Evet, Microsoft Entra kimlik doğrulaması kullanılırken Yok v2.3+
config.service.auth.azureAd.clientId Kimlik doğrulaması için Microsoft Entra uygulamasının istemci kimliği (uygulama kimliği olarak da bilinir). Evet, Microsoft Entra kimlik doğrulaması kullanılırken Yok v2.3+
config.service.auth.azureAd.clientSecret Kimlik doğrulaması için Microsoft Entra uygulamasının gizli dizisi. Evet, Microsoft Entra doğrulaması kullanırken (sertifika belirtmezseniz) Yok v2.3+
config.service.auth.azureAd.certificatePath Microsoft Entra uygulaması için kimlik doğrulaması için sertifika yolu. Evet, Microsoft Entra kimlik doğrulaması kullanırken (sır belirtmediğiniz sürece) Yok v2.3+
config.service.auth.azureAd.authority Microsoft Entra Kimliğinin Yetkili URL'si. Hayır https://login.microsoftonline.com v2.3+
config.service.auth.tokenAudience Microsoft Entra kimlik doğrulaması tokenının hedef kitlesi. Hayır https://azure-api.net/configuration v2.3+
config.service.endpoint.disableCertificateValidation Kendi kendine barındırılan geçidin Yapılandırma API'sinin sunucu tarafı sertifikasını doğrulayıp doğrulamadığını tanımlar. Üretimde sertifika doğrulamasını kullanın. Sadece test için devre dışı bırakın ve güvenlik riski oluşturabileceği için dikkatli olun. Hayır false v2.0+
config.service.integration.timeout Yapılandırma API'siyle etkileşime yönelik zaman aşımını tanımlar. Hayır 00:01:40 v2.3.5+

Kendi kendine barındırılan gateway, Yapılandırma API ile entegre olmak için çeşitli kimlik doğrulama seçeneklerini destekler. Bu seçenekleri kullanarak config.service.authtanımlayın.

Kimlik doğrulama yöntemini tanımlamak için aşağıdaki bilgileri verin:

  • Ağ geçidi belirteci tabanlı kimlik doğrulaması için, Ağ GeçitleriAzure portalında şirket içinde barındırılan ağ geçidinin erişim belirtecini (kimlik doğrulama anahtarı) belirtin.
  • Microsoft Entra ID tabanlı kimlik doğrulaması için ek azureAdApp kimlik doğrulama ayarlarını belirtin config.service.auth.azureAd ve sağlayın.

Çapraz örnek keşfi ve senkronizasyon

Veri Akışı Adı Açıklama Zorunlu Varsayılan Kullanılabilirlik
neighborhood.host Örnekler arası eşitleme için şirket içinde barındırılan ağ geçidi dağıtımının tüm örneklerini çözümlemek için kullanılan DNS adı. Kubernetes'te, örnekleri çözmek için başsız bir servis kullanın. Hayır Yok v2.0+
neighborhood.heartbeat.port Diğer örneklere sinyal göndermek üzere şirket içinde barındırılan ağ geçidi dağıtımı örnekleri için kullanılan UDP bağlantı noktası. Hayır 4291 v2.0+
policy.rate-limit.sync.port Birden çok örnek arasında hız sınırlamasını eşitlemek için şirket içinde barındırılan ağ geçidi örnekleri için kullanılan UDP bağlantı noktası. Hayır 4290 v2.0+

HTTP

Veri Akışı Adı Açıklama Zorunlu Varsayılan Kullanılabilirlik
net.server.http.forwarded.proto.enabled Çağrılan API rotası (sadece http/https) çözüm şemasını belirlemek için başlığı onurlandırır X-Forwarded-Proto . Hayır false v2.5+

Kubernetes tümleştirmesi

Kubernetes Ingress (önizleme)

Önemli

Kubernetes Ingress desteği deneysel bir konudur ve Azure Destek bunu kapsamıyor. Daha fazla bilgi için Kubernetes Ingress GitHub deposunda bilgi edinin.

Veri Akışı Adı Açıklama Zorunlu Varsayılan Kullanılabilirlik
k8s.ingress.enabled Kubernetes Giriş tümleştirmesini etkinleştirin. Hayır false v2.0+
k8s.ingress.namespace Kubernetes Giriş kaynaklarını izlemek için Kubernetes ad alanı. Hayır default v2.0+
k8s.ingress.dns.suffix İsteklerin gönderileceğini hizmetler için DNS ana bilgisayar adı oluşturmak için DNS soneki. Hayır svc.cluster.local v2.4+
.path k8s.ingress.config Kubernetes yapılandırmasının yolu (Kubeconfig). Hayır Yok v2.4+

Ölçümler

Veri Akışı Adı Açıklama Zorunlu Varsayılan Kullanılabilirlik
telemetry.metrics.local statsD aracılığıyla yerel ölçüm toplamayı etkinleştirin. Değer şu seçeneklerden biridir: none, statsd. Hayır none v2.0+
telemetri.metrikler.yerel.statsd.endpoint statsD uç noktası. Evet, olarak ayarlanırsa telemetry.metrics.localstatsd; aksi takdirde hayır. Yok v2.0+
telemetry.metrics.local.statsd.sampling İstatistiklerD ölçümleri örnekleme oranı. Değer 0 ile 1 arasında olmalıdır, örneğin 0,5. Hayır Yok v2.0+
Telemetri.ölçümler.yerel.statsd.etiket-formatı statsD exporter etiketleme biçimi. Değer şu seçeneklerden biridir: librato, dogStatsD, influxDB. Hayır Yok v2.0+
telemetry.metrics.cloud Azure İzleyici'a emitting metrics etkinleştirip etkinleştirilmeyeceği belirti. Hayır true v2.0+
observability.opentelemetry.enabled Kubernetes'te bir OpenTelemetry koleksiyoncuya yayım metriklerini etkinleştirip etkinleştiremeyeceğimi belirtmek. Hayır false v2.0+
observability.opentelemetry.collector.uri Ölçümleri göndermek için OpenTelemetry toplayıcısının URI'sini seçin. Evet, olarak ayarlanırsa observability.opentelemetry.enabledtrue; aksi takdirde hayır. Yok v2.0+
observability.opentelemetry.system-metrics.enabled CPU, bellek ve çöp toplama gibi sistem metriklerini OpenTelemetry toplayıcısına göndermeyi etkinleştirin. Hayır false v2.3+
observability.opentelemetry.histogram.buckets OpenTelemetri metriklerini raporlamak için histogram kovaları. Biçim: "x,y,z,...". Hayır "5,10,25,50,100,250,500,1000,2500,5000,10000" v2.0+

Günlükler

Veri Akışı Adı Açıklama Zorunlu Varsayılan Kullanılabilirlik
telemetry.logs.std Standart bir akışta günlüğe kaydetmeyi etkinleştirin. Değer şu seçeneklerden biridir: none, text, json. Hayır text v2.0+
telemetry.logs.std.level Standart akışa gönderilen logların log seviyesini tanımlar. Değer şu seçeneklerden biridir: all, debug, info, warnerror, veya fatal. Hayır info v2.0+
telemetry.logs.std.color Standart akışta renkli kütüklerin kullanılıp kullanılmadığına dair gösterge. Hayır true v2.0+
telemetry.logs.local Yerel günlüğü etkinleştirin. Değer şu seçeneklerden biridir: none, auto, localsyslog, rfc5424, , journal, json Hayır auto v2.0+
telemetry.kayitlar.yerel.yerelsyslog.son_nokta localsyslog uç noktası. Evet olarak ayarlanırsa telemetry.logs.locallocalsyslog; aksi takdirde hayır. Yapılandırma hakkında daha fazla bilgi için yerel syslog belgelerine bakın. Yok v2.0+
telemetry.logs.local.localsyslog.facility localsyslog tesis kodunu belirtir, örneğin, 7. Hayır Yok v2.0+
telemetry.logs.local.rfc5424.endpoint rfc5424 uç noktası. Evet olarak ayarlanırsa telemetry.logs.localrfc5424; aksi takdirde hayır. Yok v2.0+
telemetry.logs.local.rfc5424.facility Rfc5424 başına tesis kodu, örneğin,7 Hayır Yok v2.0+
telemetri.kayıtlar.yerel.günlük.bağlantı_noktası Günlük uç noktası. Evet olarak ayarlanırsa telemetry.logs.localjournal; aksi takdirde hayır. Yok v2.0+
.endpoint telemetry.logs.local.json Dosya yolu, IP:bağlantı noktası veya ana bilgisayar adı:bağlantı noktası olarak belirtilen JSON verilerini kabul eden UDP uç noktası. Evet olarak ayarlanırsa telemetry.logs.localjson; aksi takdirde hayır. 127.0.0.1:8888 v2.0+

Güvenlik

Sertifikalar ve şifreler

Veri Akışı Adı Açıklama Zorunlu Varsayılan Kullanılabilirlik
certificates.local.ca.enabled Kendi kendine barındırılan geçit geçidinin monte edilmiş yerel CA sertifikalarını kullanıp kullanmayacağı belirti. Şirket içinde barındırılan ağ geçidini kök olarak veya 1001 kullanıcı kimliğiyle çalıştırmak gerekir. Hayır false v2.0+
net.server.tls.ciphers.allowed-suites API istemcisi ile kendi kendine barındırılan geçit arasında TLS bağlantısı için kullanılacak şifre listesi virgülle ayrılmış liste. Hayır 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 Şirket içinde barındırılan ağ geçidi ile arka uç arasındaki TLS bağlantısı için kullanılacak şifrelerin virgülle ayrılmış listesi. Hayır 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 Sertifika iptal listesi doğrulamasını açıp kapatır. Hayır false v2.3.6+

TLS

Veri Akışı Adı Açıklama Zorunlu Varsayılan Kullanılabilirlik
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls13 Gateway'in TLS 1.3'ün arka uça girip girmediğini gösterir. Yönetilen ağ geçidinde protokol şifrelemelerini yönetmeye benzer. Hayır true v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls12 Gateway'in TLS 1.2'nin arka uça açılmasına izin verip vermediğini gösterir. Yönetilen ağ geçidinde protokol şifrelemelerini yönetmeye benzer. Hayır true v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 Gateway'in TLS 1.1'in arka uça girmesine izin verip vermediğini gösterir. Yönetilen ağ geçidinde protokol şifrelemelerini yönetmeye benzer. Hayır false v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 Gateway'in TLS 1.0'ı arka uça izin verip vermediğini gösterir. Yönetilen ağ geçidinde protokol şifrelemelerini yönetmeye benzer. Hayır false v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30 Gateway'in SSL 3.0'ı arka uça tanıyıp tanımadığını gösterir. Yönetilen ağ geçidinde protokol şifrelemelerini yönetmeye benzer. Hayır false v2.0+

Bağımsız bulutlar

Aşağıdaki tablo, egemen bulutlarla çalışmak için yapılandırmanız gereken ayarları açıklar:

Veri Akışı Adı Genel Azure Çin ABD Hükümeti
config.service.auth.tokenAudience https://azure-api.net/configuration (Varsayılan) https://azure-api.cn/configuration https://azure-api.us/configuration
logs.applicationinsights.endpoint https://dc.services.visualstudio.com/v2/track (Varsayılan) https://dc.applicationinsights.azure.cn/v2/track https://dc.applicationinsights.us/v2/track

Ayarları yapılandırma

Kubernetes YAML dosyası

Kubernetes'e kendi kendine barındırılan gateway'i bir YAML dosyası kullanarak dağıtırken, ayarları gateway'in ConfigMap öğesinde isim-değer çiftleri data olarak yapılandırın. Örneğin:

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 grafiği

Helm kullanarak kendi kendine barındırılan geçit bağlantısını Kubernetes'e dağıttığınızda, chart yapılandırma ayarlarını parametre olarak komuta helm install iletin. Örneğin:

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