Aracılığıyla paylaş


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.

(Kubernetes) üretim kılavuzumuz hakkında daha fazla bilgi edinmek için bu makaleyi okumanızı öneririz.

Önemli

Bu başvuru yalnızca şirket içinde barındırılan ağ geçidi v2 için geçerlidir. Ayarların kullanılabilirliği için en düşük sürümler sağlanır.

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

Yapılandırma API'si, şirket içinde barındırılan ağ geçidi tarafından en son yapılandırmayı almak ve etkinleştirildiğinde ölçümleri göndermek üzere Azure API Management'a bağlanmak için kullanılır.

Tüm yapılandırma seçeneklerine genel bir bakış aşağıdadır:

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 Şirket içinde barındırılan ağ geçidinin Yapılandırma API'sinde nasıl kimlik doğrulaması yapması gerektiğini tanımlar. Şu anda ağ geçidi belirteci ve Microsoft Entra kimlik doğrulaması desteklenmektedir. 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 kimlik doğrulaması kullanılırken (sertifika belirtilmediği sürece) 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ılırken (gizli dizi belirtilmediği 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ı için kullanılan belirteç hedef kitlesi Hayır https://azure-api.net/configuration v2.3+
config.service.endpoint.disableCertificateValidation Şirket içinde barındırılan ağ geçidinin Yapılandırma API'sinin sunucu tarafı sertifikasını doğrulaması gerekip gerekmediğini tanımlar. Sertifika doğrulamayı kullanmanız, yalnızca test amacıyla ve güvenlik riski oluşturabileceği için dikkatli bir şekilde devre dışı bırakması önerilir. 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+

Şirket içinde barındırılan ağ geçidi, kullanılarak config.service.authtanımlanabilen Yapılandırma API'siyle tümleştirmeye yönelik birkaç kimlik doğrulama seçeneği için destek sağlar.

Bu kılavuz, kimlik doğrulamasının nasıl yapılacağını tanımlamak için gerekli bilgileri sağlamanıza yardımcı olur:

  • 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.

Örnekler arası bulma ve eşitleme

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 bu, başsız hizmet kullanılarak gerçekleştirilebilir. 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 API yolu (yalnızca http/https) olarak adlandırılan çözümleme şemasını tanımlamak için üst bilgiyi onurlandırma X-Forwarded-Proto özelliği. Hayır yanlış v2.5+

Kubernetes Tümleştirmesi

Kubernetes Girişi

Önemli

Kubernetes Giriş desteği şu anda deneyseldir ve Azure Desteği kapsamında değildir. GitHub hakkında daha fazla 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: ibrato, dogStatsD, influxDB. Hayır Yok v2.0+
telemetry.metrics.cloud Azure İzleyici'ye ölçüm yayma özelliğinin etkinleştirilip etkinleştirilmediğinin göstergesi. Hayır true v2.0+
observability.opentelemetry.enabled Kubernetes'te bir OpenTelemetry toplayıcısına ölçüm yayma özelliğinin etkinleştirilip etkinleştirilmediğinin göstergesi. 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 OpenTelemetry toplayıcısına CPU, bellek, çöp toplama gibi sistem ölçümleri göndermeyi etkinleştirin. Hayır false v2.3+
observability.opentelemetry.histogram.buckets OpenTelemetry ölçümlerinin raporlanması gereken histogram demetleri. 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 günlüklerin günlük düzeyini tanımlar. Değer şu seçeneklerden biridir: all, debug, info, warnveya errorfatal. Hayır info v2.0+
telemetry.logs.std.color Standart akışta renkli günlüklerin kullanılıp kullanılmayacağının göstergesi. 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 Şifrelemeler

Veri Akışı Adı Açıklama Zorunlu Varsayılan Kullanılabilirlik
certificates.local.ca.enabled Şirket içinde barındırılan ağ geçidinin bağlı yerel CA sertifikalarını kullanıp kullanmayacağının göstergesi. Ş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 şirket içinde barındırılan ağ geçidi 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+
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çma/kapatma özelliği sağlar 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 Arka uçta TLS 1.3'e izin verilip verilmediğ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 Arka uçta TLS 1.2'ye izin verilip verilmeyeceğinin göstergesi. Yönetilen ağ geçidinde protokol şifrelemelerini yönetmeye benzer. Hayır true v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 Arka uçta TLS 1.1'e izin verilip verilmeyeceğinin göstergesi. Yönetilen ağ geçidinde protokol şifrelemelerini yönetmeye benzer. Hayır false v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 Arka uçta TLS 1.0'a izin verilip verilmeyeceğinin göstergesi. Yönetilen ağ geçidinde protokol şifrelemelerini yönetmeye benzer. Hayır false v2.0+
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30 Arka uç için SSL 3.0'a izin verilip verilmeyeceğinin göstergesi. Yönetilen ağ geçidinde protokol şifrelemelerini yönetmeye benzer. Hayır false v2.0+

Bağımsız bulutlar

Bağımsız bulutlarla çalışabilmek için yapılandırılması gereken ayarlara genel bir bakış aşağıdadır:

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ı

YaML dosyası kullanarak şirket içinde barındırılan ağ geçidini Kubernetes'e dağıtırken, ağ geçidinin data ConfigMap öğesinde ayarları ad-değer çiftleri 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 Ö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