Aracılığıyla paylaş


API'nizin güvenliğini sağlama self servis kaydolma kullanıcı akışlarında Microsoft Entra Dış Kimlik API bağlayıcısı kullandı

Şunlar için geçerlidir: Beyaz onay işareti simgesi olan yeşil daire. İş gücü kiracılarıGri X simgesine sahip beyaz daire.Dış kiracılar (daha fazla bilgi edinin)

REST API'yi Microsoft Entra Dış Kimlik self servis kaydolma kullanıcı akışıyla tümleştirdiğinizde, REST API uç noktanızı kimlik doğrulaması ile korumanız gerekir. REST API kimlik doğrulaması yalnızca Microsoft Entra Id gibi doğru kimlik bilgilerine sahip hizmetlerin uç noktanıza çağrı yapabilmesini sağlar. Bu makalede REST API'nin güvenliğini sağlama işlemleri incelenir.

Önkoşullar

İzlenecek Yol: Kaydolma kullanıcı akışı kılavuzuna API bağlayıcısı ekleme başlığı altındaki adımları tamamlayın.

HTTP temel kimlik doğrulaması veya HTTPS istemci sertifikası kimlik doğrulaması kullanarak API uç noktanızı koruyabilirsiniz. Her iki durumda da, Microsoft Entra ID'nin API uç noktanızı çağırırken kullandığı kimlik bilgilerini sağlarsınız. Ardından API uç noktanız kimlik bilgilerini denetler ve yetkilendirme kararları alır.

HTTP temel kimlik doğrulaması

İpucu

Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.

HTTP temel kimlik doğrulaması RFC 2617'de tanımlanır. Temel kimlik doğrulaması şu şekilde çalışır: Microsoft Entra Id, üst bilgide Authorization istemci kimlik bilgileri (username ve password) bulunan bir HTTP isteği gönderir. Kimlik bilgileri base64 ile kodlanmış dizesi username:passwordolarak biçimlendirilir. Ardından API'niz, diğer yetkilendirme kararlarını gerçekleştirmek için bu değerleri denetlemekle sorumludur.

API Bağlan veya HTTP temel kimlik doğrulaması ile yapılandırmak için şu adımları izleyin:

  1. Microsoft Entra yönetim merkezinde en az Kullanıcı Yönetici istrator olarak oturum açın.
  2. Kimlik>Dış Kimliklerine>Genel Bakış'a göz atın.
  3. Tüm API bağlayıcıları'nı seçin ve ardından yapılandırmak istediğiniz API Bağlan seçin.
  4. Kimlik doğrulama türü için Temel'i seçin.
  5. REST API uç noktanızın Kullanıcı Adını ve Parolasını belirtin. API bağlayıcısı için temel kimlik doğrulama yapılandırmasının ekran görüntüsü.
  6. Kaydet'i seçin.

HTTPS istemci sertifikası kimlik doğrulaması

İstemci sertifikası kimlik doğrulaması, istemci olan Microsoft Entra Id'nin kimliğini kanıtlamak için istemci sertifikasını sunucuya sağladığı karşılıklı sertifika tabanlı bir kimlik doğrulamasıdır. Bu, SSL el sıkışmasının bir parçası olarak gerçekleşir. API'niz, Sertifikaların Microsoft Entra Id gibi geçerli bir istemciye ait olduğunu doğrulamak ve yetkilendirme kararları almakla sorumludur. İstemci sertifikası bir X.509 dijital sertifikasıdır.

Önemli

Üretim ortamlarında sertifikanın bir sertifika yetkilisi tarafından imzalanması gerekir.

Sertifika oluşturma

Sertifika oluşturmak için, otomatik olarak imzalanan sertifikalar ve imzalı sertifikalar için sertifika veren sağlayıcılarla tümleştirme seçenekleri içeren Azure Key Vault'u kullanabilirsiniz. Önerilen ayarlar şunlardır:

  • Konu: CN=<yourapiname>.<tenantname>.onmicrosoft.com
  • İçerik Türü: PKCS #12
  • Yaşam Süresi Eylem Türü: Email all contacts at a given percentage lifetime veya Email all contacts a given number of days before expiry
  • Anahtar Türü: RSA
  • Anahtar Boyutu: 2048
  • Dışarı Aktarılabilir Özel Anahtar: Yes (dosyayı dışarı aktarabilmek .pfx için)

Ardından sertifikayı dışarı aktarabilirsiniz.

2. Seçenek: PowerShell kullanarak otomatik olarak imzalanan bir sertifika hazırlama

Henüz bir sertifikanız yoksa, otomatik olarak imzalanan bir sertifika kullanabilirsiniz. Otomatik olarak imzalanan sertifika, sertifika yetkilisi (CA) tarafından imzalanmayan ve CA tarafından imzalanan bir sertifikanın güvenlik garantilerini sağlamayan bir güvenlik sertifikasıdır.

Windows'da, sertifika oluşturmak için PowerShell'de New-SelfSignedCertificate cmdlet'ini kullanın.

  1. Otomatik olarak imzalanan bir sertifika oluşturmak için aşağıdaki PowerShell komutunu çalıştırın. bağımsız değişkenini -Subject uygulamanız ve Azure AD B2C kiracı adı gibi uygun şekilde contosowebapp.contoso.onmicrosoft.comdeğiştirin. Ayrıca, sertifika için -NotAfter farklı bir süre sonu belirtmek üzere tarihi ayarlayabilirsiniz.

    New-SelfSignedCertificate `
        -KeyExportPolicy Exportable `
        -Subject "CN=yourappname.yourtenant.onmicrosoft.com" `
        -KeyAlgorithm RSA `
        -KeyLength 2048 `
        -KeyUsage DigitalSignature `
        -NotAfter (Get-Date).AddMonths(12) `
        -CertStoreLocation "Cert:\CurrentUser\My"
    
  2. Windows bilgisayarda Kullanıcı sertifikalarını yönet'i arayın ve seçin

  3. Sertifikalar - Geçerli Kullanıcı'nın altında Kişisel>Sertifikalar>yourappname.yourtenant.onmicrosoft.com'ni seçin.

  4. Sertifikayı seçin ve ardından Tüm Görevleri>Dışarı Aktar eylemini>seçin.

  5. İleri>Evet, özel anahtarı>dışarı aktar İleri'yi seçin.

  6. Dosya Biçimini Dışarı Aktar varsayılanlarını kabul edin ve İleri'yi seçin.

  7. Parolayı Etkinleştir seçeneğini belirleyin, sertifika için bir parola girin ve İleri'yi seçin.

  8. Sertifikanızı kaydedeceğiniz konumu belirtmek için Gözat'ı seçin ve istediğiniz bir dizine gidin.

  9. Farklı Kaydet penceresinde bir Dosya adı girin ve Kaydet'i seçin.

  10. İleri>Son seçeneğini belirleyin.

Azure AD B2C'nin .pfx dosya parolasını kabul etmesi için, parolanın AES256-SHA256 yerine Windows Sertifika Deposu Dışarı Aktarma yardımcı programındaki TripleDES-SHA1 seçeneğiyle şifrelenmesi gerekir.

API Bağlan veya yapılandırma

API Bağlan veya istemci sertifikası kimlik doğrulamasıyla yapılandırmak için şu adımları izleyin:

  1. Microsoft Entra yönetim merkezinde en az Kullanıcı Yönetici istrator olarak oturum açın.
  2. Kimlik>Dış Kimliklerine>Genel Bakış'a göz atın.
  3. Tüm API bağlayıcıları'nı seçin ve ardından yapılandırmak istediğiniz API Bağlan seçin.
  4. Kimlik doğrulama türü için Sertifika'yı seçin.
  5. Sertifikayı karşıya yükle kutusunda, özel anahtarla sertifikanızın .pfx dosyasını seçin.
  6. Parola Girin kutusuna sertifikanın parolasını yazın. API bağlayıcısı için sertifika kimlik doğrulaması yapılandırmasının ekran görüntüsü.
  7. Kaydet'i seçin.

Yetkilendirme kararları gerçekleştirme

API'nizin, API uç noktalarını korumak için gönderilen istemci sertifikalarını temel alan yetkilendirmeyi uygulaması gerekir. Azure Uygulaması Hizmeti ve Azure İşlevleri için API kodunuzdan sertifikayı etkinleştirmeyi ve doğrulamayı öğrenmek için bkz. TLS karşılıklı kimlik doğrulamasını yapılandırma. alternatif olarak, istemci sertifikası özelliklerini istenen değerlerle denetlemek için azure API Management'ı herhangi bir API hizmetinin önünde katman olarak kullanabilirsiniz.

Sertifikaları yenileme

Sertifikanızın süresi dolduğunda anımsatıcı uyarıları ayarlamanız önerilir. Yeni bir sertifika oluşturmanız ve kullanılan sertifikaların süresi dolmak üzereyken yukarıdaki adımları yinelemeniz gerekir. Yeni bir sertifikanın kullanımını "almak" için API hizmetiniz, yeni sertifika dağıtılırken geçici bir süre için eski ve yeni sertifikaları kabul etmeye devam edebilir.

Var olan bir API bağlayıcısına yeni bir sertifika yüklemek için API bağlayıcıları'nın altındaki API bağlayıcısını seçin ve Yeni sertifikayı karşıya yükle'yi seçin. Süresi dolmamış ve başlangıç tarihi geçmiş olan en son karşıya yüklenen sertifika, Microsoft Entra Kimliği tarafından otomatik olarak kullanılır.

Zaten var olan yeni bir sertifikanın ekran görüntüsü.

API anahtarı kimlik doğrulaması

Bazı hizmetler, çağıranın HTTP üst bilgisi veya HTTP sorgu parametresi olarak benzersiz bir anahtar eklemesini gerektirerek geliştirme sırasında HTTP uç noktalarınıza erişimi karartmak için bir "API anahtarı" mekanizması kullanır. Azure İşlevleri için api bağlayıcınızın Uç Nokta URL'sinesorgu parametresi olarak ekleyerek code bunu gerçekleştirebilirsiniz. Örneğin, https://contoso.azurewebsites.net/api/endpoint?code=0123456789).

Bu, üretimde tek başına kullanılması gereken bir mekanizma değildir. Bu nedenle, temel veya sertifika kimlik doğrulaması için yapılandırma her zaman gereklidir. Geliştirme amacıyla herhangi bir kimlik doğrulama yöntemi uygulamak istemiyorsanız (önerilmez), API bağlayıcı yapılandırmasında 'temel' kimlik doğrulamasını seçebilir ve doğru yetkilendirmeyi uygularken API'nizin göz ardı edebileceği geçici değerler usernamepassword kullanabilirsiniz.

Sonraki adımlar

  • Hızlı başlangıç örneklerimizi kullanmaya başlayın.