API Management portalı - sık sorulan sorular

Portalda desteklen olmayan işlevlere ihtiyacım varsa ne olur?

Bu depoda bir özellik isteği GitHub veya eksik işlevselliği kendiniz gerçekleştirebilirsiniz. Geliştirici portalı genişletilebilirliği hakkında daha fazla bilgi edinebilirsiniz.

Bir hizmette birden çok geliştirici portalına sahip API Management olabilir miyim?

Tek bir yönetilen portala ve birden çok kendinden konak portala sahip olabilirsiniz. Tüm portalların içeriği aynı API Management depolandığı için aynı olacaktır. Portalların görünümünü ve işlevselliğini ayırt etmek için, bunları çalışma zamanında sayfaları dinamik olarak özelleştiren kendi özel pencere öğeleriniz (örneğin URL'ye göre) ile kendi kendine barındırabilirsiniz.

Portal, Azure Resource Manager şablonları destekliyor mu ve/veya API Management DevOps Resource Kit ile uyumlu mu?

Hayır.

Portalın içeriği yedekleme/geri yükleme işleviyle birlikte API Management?

Hayır.

Yönetilen portal bağımlılıkları için ek sanal ağ bağlantısını etkinleştirmem gerekiyor mu?

Çoğu durumda - hayır.

API Management hizmetiniz bir iç sanal ağ içinde ise, geliştirici portalınıza yalnızca ağdan erişilebilir. Yönetim uç noktasının ana bilgisayar adı, portalın yönetim arabirimine erişmek için kullanabileceğiniz makineden hizmetin iç VIP'sini çözümlemeli. Yönetim uç noktasının DNS'ye kayıtlı olduğundan emin olun. Yanlış yapılandırma durumunda şu hatayı alırsınız: Unable to start the portal. See if settings are specified correctly in the configuration (...) .

API Management hizmetiniz bir iç sanal ağ içinde ise ve buna İnternet'Application Gateway üzerinden erişıyorsanız, geliştirici portalına ve sanal ağların yönetim uç noktalarına bağlantı API Management. Web Uygulaması Güvenlik Duvarı kurallarını devre dışı bırakmanız gerekebilir. Diğer ayrıntılar için bu belge makalesine bakın.

Özel bir etki API Management atadı ve yayımlanan portal çalışmıyor

Etki alanını güncelleştirdikten sonra değişikliklerin etkili olmak için portalı yeniden yayımlamanız gerekir.

Bir kimlik sağlayıcısı ekledim ve bunu portalda göremiyorum

Bir kimlik sağlayıcısını yapılandırdikten sonra (örneğin, Azure AD, Azure AD B2C), değişikliklerin etkili olmak için portalı yeniden yayımlamanız gerekir. Geliştirici portalı sayfalarında OAuth düğmeleri pencere öğesi olduğundan emin olun.

Temsilci seçmeyi ayar istiyorum ve portal bunu kullanmaz

Temsilci seçmeyi ayardikten sonra değişikliklerin etkili olmak için portalı yeniden yayımlamanız gerekir.

Diğer API Management yapılandırma değişikliklerim geliştirici portalında yayılmadı

Çoğu yapılandırma değişikliği (sanal ağ, oturum açma, ürün koşulları gibi) portalda yeniden yayım gerektirir.

Etkileşimli konsolu kullanırken CORS hatası alıyorum

Etkileşimli konsol tarayıcıdan bir istemci tarafı API isteği yapar. API'lerinize CORS ilkesi ekleyerek CORS sorununu çözebilirsiniz.

CorS ilkesi durumunu, API Management hizmetinizin portala genel bakış bölümünde Azure portal. Uyarı kutusu, eksik veya yanlış yapılandırılmış bir ilkeyi gösterir.

Not

Yalnızca bir CORS ilkesi yürütülür. Birden çok CORS ilkeleri belirttiyebilirsiniz (örneğin, API düzeyinde ve tüm API'ler düzeyinde), etkileşimli konsolunuzun beklendiği gibi çalışmayabilirsiniz.

CORS ilkenizin durumunu nerede kontrol etmek istediğiniz gösteren ekran görüntüsü.

CORS'yi Etkinleştir düğmesine tıklayarak CORS ilkesi otomatik olarak uygulanır.

CORS'yi el ile de etkinleştirebilirsiniz.

  1. Oluşturulan ilke kodunu görmek için Genel düzeyde el ile uygula bağlantısını seçin.
  2. API Management hizmetinizin API'ler bölümünde Tüm API'ler'e Azure portal.
  3. Gelen </> işleme bölümünde simgesini seçin.
  4. İlkeyi <inbound> XML dosyasının bölümüne ekler. Değerin geliştirici <origin> portalının etki alanıyla eş olduğundan emin olun.

Not

CORS ilkesi API'ler kapsamı yerine Ürün kapsamında uygulanırsa ve API'niz bir üst bilgi üzerinden abonelik anahtarı kimlik doğrulaması kullanıyorsa, konsolunuz çalışmaz.

Tarayıcı, abonelik OPTIONS anahtarına sahip bir üst bilgi içermeden otomatik olarak bir HTTP isteği sağlar. Eksik abonelik anahtarı nedeniyle API Management bir Ürünle ilişkilendirile API Management OPTIONS cors ilkesi uygulayamayabilirsiniz.

Geçici bir çözüm olarak abonelik anahtarını bir sorgu parametresinde geçebilirsiniz.

CORS proxy özelliği nedir ve ne zaman kullan gerekir?

Etkileşimli konsolun API çağrılarını api hizmetinizin arka ucu üzerinden yönlendirmek için API işlemi ayrıntıları pencere öğesinin yapılandırmasında CORS ara sunucusunu kullan API Management seçin. Bu yapılandırmada artık API'ler için bir CORS ilkesi uygulamanız gerekmez ve yerel makineden ağ geçidi uç noktasına bağlantı gerekli değildir. API'ler, kendi içinde barındırılan bir ağ geçidi üzerinden açığa çıkarsa veya hizmetiniz bir sanal ağ içinde ise, API Management hizmetinin ağ geçidine bağlantısı gerekir. Kendi kendine barındırılan portalı kullanıyorsanız, yapılandırma dosyalarında seçeneğini kullanarak portalın backendUrl arka uç uç noktasını belirtin. Aksi takdirde, otomatik olarak barındırılan portal arka uç hizmetinin konumunun farkında olmayacaktır.

Geliştirici portalını düzenlemek için hangi izinlere ihtiyacım var?

Portal yönetim modunda açılırken hatayla karşılaştıysanız gerekli izinler Oops. Something went wrong. Please try again later. (Azure RBAC) eksik olabilir.

Eski portallar, kullanıcı yöneticisinin portallara erişmesine izin vermek için hizmet kapsamında Microsoft.ApiManagement/service/getssotoken/action ( /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim-service-name> ) iznini gerektirmektedir. Yeni portal kapsamında Microsoft.ApiManagement/service/users/token/action izni /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim-service-name>/users/1 gerektirir.

Gerekli izinlere sahip bir rol oluşturmak için aşağıdaki PowerShell betiği kullanabilirsiniz. parametresini değiştirmeyi <subscription-id> unutmayın.

#New Portals Admin Role 
Import-Module Az 
Connect-AzAccount 
$contributorRole = Get-AzRoleDefinition "API Management Service Contributor" 
$customRole = $contributorRole 
$customRole.Id = $null
$customRole.Name = "APIM New Portal Admin" 
$customRole.Description = "This role gives the user ability to log in to the new Developer portal as administrator" 
$customRole.Actions = "Microsoft.ApiManagement/service/users/token/action" 
$customRole.IsCustom = $true 
$customRole.AssignableScopes.Clear() 
$customRole.AssignableScopes.Add('/subscriptions/<subscription-id>') 
New-AzRoleDefinition -Role $customRole 

Rol oluşturulduktan sonra, herhangi bir kullanıcıya Access Control (IAM) bölümünden Azure portal. Bu rolü bir kullanıcıya atamak, hizmet kapsamında izni atar. Kullanıcı, hizmette herhangi bir kullanıcı adına SAS belirteçleri oluşturabilecektir. En azından bu rolün hizmet yöneticisine atanmış olması gerekir. Aşağıdaki PowerShell komutu, kullanıcıya gereksiz izinler verilmesini önlemek için rolü en düşük kapsamda bir user1 kullanıcıya atamayı gösterir:

New-AzRoleAssignment -SignInName "user1@contoso.com" -RoleDefinitionName "APIM New Portal Admin" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim-service-name>/users/1" 

Kullanıcıya izinler verildikten sonra, yeni izinlerin etkili olması için kullanıcının oturum açması ve Azure portal oturum açması gerekir.

Hatayı Unable to start the portal. See if settings are specified correctly (...) görüyorum

Çağrısı başarısız olduğunda bu GET hata https://<management-endpoint-hostname>/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.ApiManagement/service/xxx/contentTypes/document/contentItems/configuration?api-version=2018-06-01-preview gösterilir. Çağrı, portalın yönetim arabirimi tarafından tarayıcıdan görüntülenir.

Sanal API Management sanal ağ içinde ise sanal ağ bağlantısı sorusuna bakın.

Çağrı hatasının nedeni, özel bir etki alanına atanan ve tarayıcının güvendiği bir TLS/SSL sertifikası da olabilir. Azaltma olarak, yönetim uç noktası özel etki alanını kaldırabilirsiniz API Management güvenilen bir sertifika ile varsayılan uç noktasına geri döner.

Portal için tarayıcı desteği nedir?

Tarayıcı Desteklenir
Apple Safari Evet1
Google Chrome Evet1
Microsoft Edge Evet1
Microsoft Internet Explorer No
Mozilla Firefox Evet1

1 En son iki üretim sürümüyle de desteklemektedir.

Kendi kendine barındırılan portalımda yerel geliştirme artık çalışmıyor

Geliştirici portalının yerel sürümünüz depolama hesabından veya API Management kaydede API Management, SAS belirteçlerinin süresi dolmuş olabilir. Yeni belirteçler oluşturarak bunu düzeltin. Yönergeler için geliştirici portalını kendi kendine barındırma öğreticisi'ne bakın.

Nasıl yaparım? portalında kaydolmayı devre dışı bırakmak mı gerekiyor?

Geliştirici portalında kaydolma işlevinin varsayılan olarak etkinleştirilmesi gerekli yoksa, şu adımlarla devre dışı abilirsiniz:

  1. Aşağıdaki Azure portal örnek için API Management gidin.

  2. Menüde Geliştirici portalı'nın altında Kimlikler'i seçin.

  3. Listede görünen her kimlik sağlayıcısını silin. Her sağlayıcıyı seçin, bağlam menüsünü (... ) ve Sil'i seçin.

    Kimlik sağlayıcılarını silme

  4. Geliştirici portalı yönetim arabirimine gidin.

  5. Portal içeriğindeki bağlantı bağlantılarını ve gezinti öğelerini kaldırın. Portal içeriğini özelleştirme hakkında daha fazla bilgi için bkz. eğitim: erişim ve geliştirici portalına özelleştirme.

    Gezinti öğesini Sil

  6. Kullanıcılara doğrudan gidebilmesi durumunda kimlik verilerini girmek için kullanılan alanları kaldırmak için kayıt sayfası içeriğini değiştirin.

    İsteğe bağlı olarak, kaydolma sayfasını silin. Şu anda, bu sayfayı listelemek ve silmek için ContentItem REST API 'lerini kullanıyorsunuz.

  7. Değişikliklerinizi kaydedin ve portalı yeniden yayımlayın.

API Management hizmetme sağlanan geliştirici portalı içeriğini nasıl kaldırabilirim?

komut dosyasında, scripts.v3/cleanup.bat geliştirici portalı GitHub deposundakigerekli parametreleri sağlayın ve betiği çalıştırın

cd scripts.v3
.\cleanup.bat
cd ..

Şirket içinde barındırılan geliştirici portalına çoklu oturum açma (SSO) kimlik doğrulamasını etkinleştirmek Nasıl yaparım?.

Diğer kimlik doğrulama yöntemlerinin yanı sıra, geliştirici portalı çoklu oturum açmayı (SSO) destekler. Bu yöntemde kimlik doğrulamak için sorgu parametresindeki belirteçle bir çağrısı yapmanız gerekir /signin-sso :

https://contoso.com/signin-sso?token=[user-specific token]

Kullanıcı belirteçleri oluştur

API Management REST API paylaşılan erişim belirteci al işlemini kullanarak kullanıcıya özgü belirteçler (Yönetim belirteçleri dahil) oluşturabilirsiniz.

Not

Belirtecin URL kodlamalı olması gerekir.

Sonraki adımlar

Yeni geliştirici portalı hakkında daha fazla bilgi edinin:

Diğer kaynaklara gözatamazsınız: