Azure API Management'de istemci sertifikası kimlik doğrulaması kullanarak arka uç hizmetlerinin güvenliğini sağlama

API Management, istemci sertifikalarını ve karşılıklı TLS kimlik doğrulamasını kullanarak API'nin arka uç hizmetine erişimi güvenli bir şekilde kullanmanıza olanak tanır. Bu kılavuzda, azure API Management hizmet örneğindeki sertifikaların Azure portal kullanılarak nasıl yönetileceğini gösterilmektedir. Ayrıca, arka uç hizmetine erişmek için sertifika kullanmak üzere API'yi yapılandırmayı da açıklar.

API Management REST API'sini kullanarak API Management sertifikalarını da yönetebilirsiniz.

Sertifika seçenekleri

API Management, arka uç hizmetlerine erişimin güvenliğini sağlamak için kullanılan sertifikaları yönetmek için iki seçenek sağlar:

  • Azure Key Vault'de yönetilen bir sertifikaya başvurma
  • Sertifika dosyasını doğrudan API Management’a ekleme

Anahtar kasası sertifikalarının kullanılması önerilir çünkü API Management güvenliğin geliştirilmesine yardımcı olur:

  • Anahtar kasalarında depolanan sertifikalar hizmetler arasında yeniden kullanılabilir
  • Anahtar kasalarında depolanan sertifikalara ayrıntılı erişim ilkeleri uygulanabilir
  • Anahtar kasasında güncelleştirilen sertifikalar API Management otomatik olarak döndürülür. Anahtar kasasında güncelleştirmeden sonra, API Management'daki bir sertifika 4 saat içinde güncelleştirilir. Ayrıca Azure portal kullanarak veya yönetim REST API'sini kullanarak sertifikayı el ile yenileyebilirsiniz.

Önkoşullar

Not

Azure ile etkileşime geçmek için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

  • Henüz bir API Management hizmet örneği oluşturmadıysanız bkz. API Management hizmet örneği oluşturma.

  • Arka uç hizmetinizi istemci sertifikası kimlik doğrulaması için yapılandırmış olmanız gerekir. Azure App Service sertifika kimlik doğrulamasını yapılandırmak için bu makaleye bakın.

  • Azure anahtar kasasında yönetim için sertifikaya ve parolaya erişmeniz veya API Management hizmetine yüklemeniz gerekir. Sertifika PFX biçiminde olmalıdır. Otomatik olarak imzalanan sertifikalara izin verilir.

    Otomatik olarak imzalanan bir sertifika kullanıyorsanız:

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

  1. Henüz bir anahtar kasanız yoksa bir anahtar kasası oluşturun. Anahtar kasası oluşturma adımları için bkz. Hızlı Başlangıç: Azure portal kullanarak anahtar kasası oluşturma.

    Anahtar kasasına sertifika oluşturmak veya içeri aktarmak için bkz. Hızlı Başlangıç: Azure portal kullanarak Azure Key Vault'dan sertifika ayarlama ve alma.

  2. API Management örneğinde sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği etkinleştirin.

Anahtar kasasına erişimi yapılandırma

  1. Portalda anahtar kasanıza gidin.

  2. Soldaki menüden Erişim yapılandırması'nı seçin ve yapılandırılan İzin modelini not edin.

  3. İzin modeline bağlı olarak, API Management yönetilen kimlik için bir anahtar kasası erişim ilkesi veya Azure RBAC erişimi yapılandırın.

    Anahtar kasası erişim ilkesi eklemek için:

    1. Soldaki menüden Erişim ilkeleri'ni seçin.
    2. Erişim ilkeleri sayfasında + Oluştur'u seçin.
    3. İzinler sekmesindeki Gizli dizi izinleri'nin altında Al ve Listele'yi ve ardından İleri'yi seçin.
    4. Sorumlu sekmesinde Sorumluyu seçin, yönetilen kimliğinizin kaynak adını arayın ve İleri'yi seçin. Sistem tarafından atanan bir kimlik kullanıyorsanız sorumlu, API Management örneğinizin adıdır.
    5. tekrar İleri'yi seçin. Gözden geçir ve oluştur sekmesinde Oluştur'u seçin.

    Azure RBAC erişimini yapılandırmak için:

    1. Soldaki menüde Erişim denetimi (IAM) öğesini seçin.
    2. Erişim denetimi (IAM) sayfasında Rol ataması ekle'yi seçin.
    3. Rol sekmesinde Key Vault Gizli Dizi Kullanıcısı'nı seçin.
    4. Üyeler sekmesinde Yönetilen kimlik>+ Üye seç'i seçin.
    5. Yönetilen kimlik seçin sayfasında sistem tarafından atanan yönetilen kimliği veya API Management örneğiniz ile ilişkili kullanıcı tarafından atanan yönetilen kimliği seçin ve ardından Seç'i seçin.
    6. Gözden geçir ve ata'yı seçin.

Key Vault güvenlik duvarı gereksinimleri

Anahtar kasanızda Key Vault güvenlik duvarı etkinleştirildiyse ek gereksinimler şunlardır:

  • Anahtar kasasına erişmek için API Management örneğin sistem tarafından atanan yönetilen kimliğini kullanmanız gerekir.

  • Key Vault güvenlik duvarında Güvenilen Microsoft Hizmetlerinin bu güvenlik duvarını atlamasına izin ver seçeneğini etkinleştirin.

  • Azure API Management eklemek üzere bir sertifika veya gizli dizi seçerken yerel istemci IP adresinizin anahtar kasasına geçici olarak erişmesine izin verildiğinden emin olun. Daha fazla bilgi için bkz. Azure Key Vault ağ ayarlarını yapılandırma.

    Yapılandırmayı tamamladıktan sonra anahtar kasası güvenlik duvarında istemci adresinizi engelleyebilirsiniz.

Sanal ağ gereksinimleri

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

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

Ayrıntılar için bkz. Sanal ağda Azure API Management ayarlarken ağ yapılandırması.

Anahtar kasası sertifikası ekleme

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

Önemli

API Management örneğinize bir anahtar kasası sertifikası eklerken, anahtar kasasından gizli dizileri listeleme izinlerine sahip olmanız gerekir.

Dikkat

API Management anahtar kasası sertifikası kullanırken, anahtar kasasına erişmek için kullanılan sertifikayı, anahtar kasasını veya yönetilen kimliği silmemeye dikkat edin.

API Management bir anahtar kasası sertifikası eklemek için:

  1. Azure portal API Management örneğine gidin.

  2. Güvenlik'in altında Sertifikalar'ı seçin.

  3. Sertifikalar+ Ekle'yi> seçin.

  4. Kimlik alanına istediğiniz bir ad girin.

  5. Sertifika'daAnahtar kasası'na tıklayın.

  6. Anahtar kasası sertifikasının tanımlayıcısını girin veya anahtar kasasından sertifika seçmek için Seç'i seçin.

    Önemli

    Kendiniz bir anahtar kasası sertifika tanımlayıcısı girerseniz, sürüm bilgisi olmadığından emin olun. Aksi takdirde sertifika, anahtar kasasındaki bir güncelleştirmeden sonra API Management otomatik olarak döndürülmeyecektir.

  7. İstemci kimliği'nde sistem tarafından atanan veya mevcut kullanıcı tarafından atanan yönetilen kimliği seçin. API Management hizmetinizde yönetilen kimlikleri eklemeyi veya değiştirmeyi öğrenin.

    Not

    Kimlik, anahtar kasasından sertifika almak ve listelemek için izinlere ihtiyaç duyar. Anahtar kasasına erişimi henüz yapılandırmadıysanız, API Management gerekli izinlerle kimliği otomatik olarak yapılandırabilmesi için sizden bilgi ister.

  8. Add (Ekle) seçeneğini belirleyin.

    Portalda API Management anahtar kasası sertifikası ekleme işleminin ekran görüntüsü.

  9. Kaydet’i seçin.

Sertifikayı karşıya yükleme

İstemci sertifikasını API Management yüklemek için:

  1. Azure portal API Management örneğine gidin.

  2. Güvenlik'in altında Sertifikalar'ı seçin.

  3. Sertifikalar+ Ekle'yi> seçin.

  4. Kimlik alanına istediğiniz bir ad girin.

  5. Sertifika'daÖzel'i seçin.

  6. Sertifika .pfx dosyasını seçmek için göz atın ve parolasını girin.

  7. Add (Ekle) seçeneğini belirleyin.

    Portaldaki API Management istemci sertifikasını karşıya yükleme işleminin ekran görüntüsü.

  8. Kaydet’i seçin.

Sertifika karşıya yüklendikten sonra Sertifikalar penceresinde gösterilir. Çok sayıda sertifikanız varsa, bir API'yi ağ geçidi kimlik doğrulaması için istemci sertifikası kullanacak şekilde yapılandırmak için istenen sertifikanın parmak izini not edin.

Api'yi ağ geçidi kimlik doğrulaması için istemci sertifikası kullanacak şekilde yapılandırma

  1. Azure portal API Management örneğine gidin.

  2. API'ler'in altında API'ler'i seçin.

  3. Listeden bir API seçin.

  4. Tasarım sekmesinde Arka uç bölümündeki düzenleyici simgesini seçin.

  5. Ağ geçidi kimlik bilgileri bölümünde İstemci sertifikası'nı seçin ve açılan listeden sertifikanızı seçin.

  6. Kaydet’i seçin.

    Ağ geçidi kimlik doğrulaması için istemci sertifikası kullanma

Dikkat

Bu değişiklik hemen geçerli olur ve bu API'nin işlemlerine yapılan çağrılar, arka uç sunucusunda kimlik doğrulaması yapmak için sertifikayı kullanır.

İpucu

Bir API'nin arka uç hizmeti için ağ geçidi kimlik doğrulaması için bir sertifika belirtildiğinde, bu API'nin ilkesinin bir parçası olur ve ilke düzenleyicisinde görüntülenebilir.

Otomatik olarak imzalanan sertifikalar için sertifika zinciri doğrulamasını devre dışı bırakma

Otomatik olarak imzalanan sertifikalar kullanıyorsanız, API Management arka uç sistemiyle iletişim kurabilmek için sertifika zinciri doğrulamasını devre dışı bırakmanız gerekir. Aksi takdirde 500 hata kodu döndürür. Bunu yapılandırmak için (yeni arka uç için) veya Set-AzApiManagementBackend (mevcut arka uç için) PowerShell cmdlet'lerini kullanabilir New-AzApiManagementBackend ve parametresini -SkipCertificateChainValidation olarak Trueayarlayabilirsiniz.

$context = New-AzApiManagementContext -resourcegroup 'ContosoResourceGroup' -servicename 'ContosoAPIMService'
New-AzApiManagementBackend -Context  $context -Url 'https://contoso.com/myapi' -Protocol http -SkipCertificateChainValidation $true

Arka Uç REST API'sini kullanarak sertifika zinciri doğrulamasını da devre dışı bırakabilirsiniz.

İstemci sertifikalarını silme

Sertifikayı silmek için sertifikayı seçin ve ardından bağlam menüsünden (...) Sil'i seçin.

Sertifika silme

Önemli

Sertifikaya herhangi bir ilke tarafından başvurulursa bir uyarı ekranı görüntülenir. Sertifikayı silmek için önce sertifikayı kullanmak üzere yapılandırılmış ilkelerden kaldırmanız gerekir.

Sonraki adımlar