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

UYGULANANLAR: Tüm API Management katmanları

API Management, istemci sertifikalarını ve karşılıklı TLS kimlik doğrulamasını kullanarak BIR API'nin arka uç hizmetine erişimi güvenli bir şekilde sağlamanızı sağlar. Bu kılavuz, Azure portalını kullanarak bir Azure API Management hizmet örneğindeki sertifikaların nasıl yönetileceğini gösterir. Ayrıca, arka uç hizmetine erişmek için sertifika kullanmak üzere BIR 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'ta yönetilen bir sertifikaya başvurma
  • Sertifika dosyasını doğrudan API Management’a ekleme

API Management güvenliğini iyileştirmeye yardımcı olduğundan anahtar kasası sertifikalarının kullanılması önerilir:

  • 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'ta otomatik olarak döndürülür. Anahtar kasasında güncelleştirmeden sonra API Management'taki bir sertifika 4 saat içinde güncelleştirilir. Ayrıca Azure portalını veya yönetim REST API'sini kullanarak sertifikayı el ile yenileyebilirsiniz.

Önkoşullar

Not

Azure ile etkileşim kurmak 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ç hizmetinizin istemci sertifikası kimlik doğrulaması için yapılandırılmış olması gerekir. Azure Uygulaması Hizmetinde 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 tane oluşturun. Anahtar kasası oluşturma adımları için bkz . Hızlı Başlangıç: Azure portalını kullanarak anahtar kasası oluşturma.

    Anahtar kasasına sertifika oluşturmak veya içeri aktarmak için bkz . Hızlı Başlangıç: Azure portalını kullanarak Azure Key Vault'tan 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. Sol menüde 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 kimliği 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. Sol menüde 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. İleri'yi yeniden seçin. Gözden Geçir + oluştur sekmesinde Oluştur'u seçin.

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

    1. Sol 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 Dizileri Kullanıcısı'nı seçin.
    4. Üyeler sekmesinde Yönetilen kimlik>+ Üye seç'i seçin.
    5. Yönetilen kimliği seçin sayfasında, API Management örneğiniz ile ilişkilendirilmiş sistem tarafından atanan yönetilen kimliği veya kullanıcı tarafından atanan yönetilen kimliği seçin ve ardından Seç'i seçin.
    6. Gözden geçir + 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ğinin sistem tarafından atanan yönetilen kimliğini kullanmanız gerekir.

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

  • Azure API Management'a 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ğda dağıtıldıysa, aşağıdaki ağ ayarlarını da 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 izniniz olmalıdır.

Dikkat

API Management'ta 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'a anahtar kasası sertifikası eklemek için:

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

  2. Güvenlik bölümünde Sertifikalar'ı seçin.

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

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

  5. Sertifika'da Anahtar kasası'na tıklayın.

  6. Anahtar kasası sertifikasının tanımlayıcısını girin veya bir 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 bilgilerinin olmadığından emin olun. Aksi takdirde sertifika, anahtar kasasında yapılan bir güncelleştirmeden sonra API Management'ta 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, kimliği gerekli izinlerle otomatik olarak yapılandırabilmesini ister.

  8. Ekle'yi seçin.

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

  9. Kaydet'i seçin.

Sertifikayı karşıya yükleyin

API Management'a bir istemci sertifikası yüklemek için:

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

  2. Güvenlik bölümünde 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. Ekle'yi seçin.

    Portalda API Management'a istemci sertifikası 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ında 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ünde 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 için ilkenin 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'ın arka uç sistemiyle iletişim kurması 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şvurulduysa 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