Azure güvenlik ilkeleri için adlandırılmış API Management kullanma

API Management ilkeleri, yayımcının yapılandırma aracılığıyla API'nin davranışını değiştirmesine olanak sağlayan güçlü bir sistem özelliğidir. İlkeler, bir API isteği veya yanıtı üzerinde sırayla yürütülen deyimlerin bir koleksiyonudur. İlke deyimleri değişmez metin değerleri, ilke ifadeleri ve adlandırılmış değerler kullanılarak oluşturulur.

Adlandırılmış değerler, her bir örnek için ad/değer çiftlerinin API Management koleksiyonudur. Koleksiyondaki öğe sayısı için bir sınır yoktur. Adlandırılmış değerler, tüm API yapılandırmaları ve ilkeleri genelinde sabit dize değerlerini ve gizli dizileri yönetmek için kullanılabilir.

Sütunda adlandırılmış Azure portal

Değer türleri

Tür Description
Düz Değişmez dize veya ilke ifadesi
Gizli dizi Dize tarafından şifrelenen değişmez dize veya ilke ifadesi API Management
Anahtar kasası Azure anahtar kasasında depolanan bir gizli anahtarın tanımlayıcısı.

Düz değerler veya gizli diziler ilke ifadeleri içerebilir. Örneğin, ifade geçerli @(DateTime.Now.ToString()) tarih ve saati içeren bir dize döndürür.

Adlandırılmış değer öznitelikleri hakkında ayrıntılı bilgi için bkz. API Management REST API bakın.

Anahtar kasası gizli dizileri

Gizli dizi değerleri, API Management (özel gizli diziler) içinde şifrelenmiş dizeler olarak veya içinde gizli dizilere başvurarak Azure Key Vault.

Anahtar kasası gizli dizilerini kullanmak, güvenlik güvenliğinin iyileştirilmesine yardımcı API Management önerilir:

  • Anahtar kasalarında depolanan gizli diziler hizmetler arasında yeniden kullanılabilir
  • Gizli dizilere ayrıntılı erişim ilkeleri uygulanabilir
  • Anahtar kasasında güncelleştirilen gizli diziler otomatik olarak API Management. Anahtar kasasında güncelleştirmeden sonra, içindeki adlandırılmış API Management 4 saat içinde güncelleştirilir. Ayrıca gizli Azure portal veya yönetim REST API.

Anahtar kasası tümleştirmesi önkoşulları

  1. Anahtar kasası oluşturma adımları için bkz. Hızlı Başlangıç: Azure portalkullanarak anahtar kasası oluşturma.
  2. API Management örneğinde sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen API Management etkinleştirin.
  3. Yönetilen kimliğe kasadan gizli dizileri almak ve bu gizli dizileri listele izni olan bir anahtar kasası erişim ilkesi attayabilirsiniz. İlkeyi eklemek için:
    1. Portalda anahtar kasanıza gidin.
    2. +Ayarlar > İlkesi Ekle'> Erişim ilkeleri'ne tıklayın.
    3. Gizli izinler'i ve ardından Al ve Listele'yi seçin.
    4. Sorumlu seçin'de yönetilen kimliğinizin kaynak adını seçin. Sistem tarafından atanan bir kimlik kullanıyorsanız sorumlu, API Management örneğinizin adıdır.
  4. Anahtar kasasına bir gizli anahtar oluşturun veya içeri aktarın. Bkz. Hızlı Başlangıç: Azure portal kullanarak Azure Key Vault gizli dizi ayarlama ve Azure portal.

Anahtar kasası gizli anahtarını kullanmak için adlandırılmış bir değer ekleyin veya düzenleyinve bir Anahtar kasası türü belirtin. Anahtar kasasında gizli anahtarı seçin.

Key Vault güvenlik duvarı gereksinimleri

Anahtar Kasanızda Key Vault güvenlik duvarı etkinse, ek gereksinimler aşağıda verilmiştir:

  • Anahtar kasasına erişmek için API Management örneğinin sistem tarafından atanan yönetilen kimliğini kullanmanız gerekir.
  • Güvenlik Duvarı Key Vault, Güvenilen Microsoft hizmetlerinin bu güvenlik duvarını atlamasına Izin ver seçeneğini etkinleştirin.

Sanal ağ gereksinimleri

API Management örneği bir sanal ağda dağıtılmışsa, aşağıdaki ağ ayarlarını da yapılandırın:

  • API Management alt ağında Azure Key Vault için bir hizmet uç noktası etkinleştirin.
  • AzureKeyVault ve AzureActiveDirectory hizmet etiketlerinegiden trafiğe izin vermek için bir ağ güvenlik grubu (NSG) kuralı yapılandırın.

ayrıntılar için bkz. sanal bir ağ için Bağlanağ yapılandırması ayrıntıları.

Adlandırılmış değer ekleme veya düzenleme

Anahtar kasası gizli anahtarı ekleme

Bkz. Anahtar kasası tümleştirmesi için önkoşullar.

Dikkat

Gizli anahtar kasasında bir anahtar API Management, anahtar kasası veya anahtar kasasına erişmek için kullanılan yönetilen kimliği silmeye dikkat edin.

  1. uygulama Azure portal,uygulama örneğinize API Management gidin.

  2. API'ler altında Adlandırılmış değerler > +Ekle'yi seçin.

  3. Bir Ad tanımlayıcısı girin ve ilkelerde özelliğine başvuru yapmak için kullanılan görünen adı girin.

  4. Değer türü'ne Key Vault'ı seçin.

  5. Anahtar kasası gizli anahtarının tanımlayıcısını girin (sürüm olmadan) veya Anahtar kasasında gizli anahtar seçmek için Seç'i seçin.

    Önemli

    Anahtar kasası gizli tanımlayıcısını kendiniz girersiniz, sürüm bilgilerine sahip olmadığını emin olun. Aksi takdirde, anahtar kasasında bir güncelleştirmeden API Management gizli anahtar otomatik olarak döndürülemez.

  6. İstemci kimliği'nin altında sistem tarafından atanan veya mevcut bir kullanıcı tarafından atanan yönetilen kimliği seçin. API Management hizmetinize yönetilen kimlikler eklemeyi veya değiştirmeyi öğrenin.

    Not

    Kimlik, anahtar kasasında gizli dizileri almak ve bu gizli dizileri listelemektedir. Anahtar kasasına erişimi henüz yapılandırmadıysanız, API Management otomatik olarak yapılandırarak gerekli izinlerle yapılandırabilirsiniz.

  7. Adlandırılmış değerlerinizi düzenlemenize yardımcı olmak için bir veya daha fazla isteğe bağlı etiket ekleyin ve ardından Kaydet'i seçin.

  8. Oluştur’u seçin.

    Anahtar kasası gizli anahtarı değeri ekleme

Düz veya gizli değer ekleme

  1. uygulama Azure portal,uygulama örneğinize API Management gidin.
  2. API'ler altında Adlandırılmış değerler > +Ekle'yi seçin.
  3. Bir Ad tanımlayıcısı girin ve ilkelerde özelliğine başvuru yapmak için kullanılan görünen adı girin.
  4. Değer türü olarak Düz veya Gizli'yi seçin.
  5. Değer alanına bir dize veya ilke ifadesi girin.
  6. Adlandırılmış değerlerinizi düzenlemenize yardımcı olmak için bir veya daha fazla isteğe bağlı etiket ekleyin ve ardından Kaydet'i seçin.
  7. Oluştur’u seçin.

Adlandırılmış değer oluşturulduktan sonra adı seçerek düzenleyebilirsiniz. Görünen adı değiştirirsanız, adlandırılmış değere başvurulan ilkeler otomatik olarak yeni görünen adı kullanmak üzere güncelleştirilir.

Adlandırılmış değer kullanma

Bu bölümdeki örnekler, aşağıdaki tabloda gösterilen adlandırılmış değerleri kullanır.

Name Değer Gizli dizi
ContosoHeader TrackingId Yanlış
ContosoHeaderValue •••••••••••••••••••••• Doğru
ExpressionProperty @(DateTime.Now.ToString()) Yanlış

Bir ilkede adlandırılmış bir değer kullanmak için, görünen adını aşağıdaki örnekte gösterildiği gibi çift ayraç {{ContosoHeader}} çiftinin içine girin:

<set-header name="{{ContosoHeader}}" exists-action="override">
  <value>{{ContosoHeaderValue}}</value>
</set-header>

Bu örnekte, bir ilkede üst bilgi adı olarak kullanılır ve ContosoHeader bu üst bilgi değeri olarak set-header ContosoHeaderValue kullanılır. Bu ilke bir istek veya yanıt sırasında ağ geçidine API Management ve bunların {{ContosoHeader}} {{ContosoHeaderValue}} ilgili değerleriyle değiştiri.

Adlandırılmış değerler, önceki örnekte gösterildiği gibi tam öznitelik veya öğe değerleri olarak kullanılabilir, ancak aşağıdaki örnekte gösterildiği gibi değişmez metin ifadesinin içine eklenebilir veya bir parçasıyla bir araya da eklenebilir:

<set-header name = "CustomHeader{{ContosoHeader}}" ...>

Adlandırılmış değerler ilke ifadeleri de içerebilir. Aşağıdaki örnekte, ExpressionProperty ifadesi kullanılır.

<set-header name="CustomHeader" exists-action="override">
    <value>{{ExpressionProperty}}</value>
</set-header>

Bu ilke değerlendirildiğinde, {{ExpressionProperty}} değeri ile değiştirilmiştir @(DateTime.Now.ToString()) . Değer bir ilke ifadesi olduğundan, ifade değerlendirilir ve ilke yürütmeye devam eder.

Kapsamda adlandırılmış değerler içeren bir işlem çağırarak Azure portal veya Geliştirici Portalında bunu test edebilirsiniz. Aşağıdaki örnekte, bir işlem, set-header adlandırılmış değerlere sahip olan iki önceki örnek ilkesiyle birlikte çağırılır. Yanıtın, adlandırılmış değerleri olan ilkeler kullanılarak yapılandırılmış iki özel üst bilgi içerdiğine dikkat edin.

API yanıtını sına

Adlandırılmış değerlere sahip iki önceki örnek ilkeyi içeren bir çağrı için giden API izlemeye bakarsanız, set-header adlandırılmış değerlerin eklendiği iki ilkeyi ve ilke ifadesini içeren adlandırılmış değer için ilke ifadesi değerlendirmesini görebilirsiniz.

API denetçisi izleme

Dikkat

Bir ilke Azure Key Vault bir gizli dizi başvurusu varsa, anahtar kasasındaki değer API isteği izlemeiçin etkinleştirilen aboneliklere erişimi olan kullanıcılar tarafından görülebilir.

Adlandırılmış değerler ilke ifadeleri içerebildiği sürece, diğer adlandırılmış değerleri içeremez. Adlandırılmış bir değer başvurusu içeren metin, gibi bir değer için kullanılırsa, Text: {{MyProperty}} Bu başvuru çözümlenmez ve değiştirilmez.

Adlandırılmış bir değeri silme

Adlandırılmış bir değeri silmek için, adı seçin ve bağlam menüsünden Sil ' i (...) seçin.

Önemli

Adlandırılmış değere herhangi bir API Management ilkesi tarafından başvuruluyorsa, bunu kullanan tüm ilkelerden, adlandırılmış değeri kaldırana kadar silemezsiniz.

Sonraki adımlar