App Service'te kimlik doğrulama ve yetkilendirmeyi keşfetme

Tamamlandı

Azure Uygulaması Hizmeti yerleşik kimlik doğrulaması ve yetkilendirme desteği sağlar; böylece web uygulamanızda, RESTful API'nizde, mobil arka ucunuzda ve Azure İşlevleri kod yazmadan veya hiç kod yazmadan kullanıcılarla oturum açabilir ve verilere erişebilirsiniz.

Neden yerleşik kimlik doğrulamasını kullanmalısınız?

Kimlik doğrulaması ve yetkilendirme için App Service kullanmanız gerekmez. Birçok web çerçevesi güvenlik özellikleriyle birlikte gelir ve isterseniz bunları kullanabilirsiniz. App Service'in sağladığından daha fazla esnekliğe ihtiyacınız varsa kendi yardımcı programlarınızı da yazabilirsiniz.

App Service ve Azure İşlevleri için yerleşik kimlik doğrulama özelliği, federasyon kimlik sağlayıcılarıyla kullanıma hazır kimlik doğrulaması sağlayarak zaman ve çabadan tasarruf etmenizi sağlayabilir ve uygulamanızın geri kalanına odaklanmanızı sağlar.

  • Azure Uygulaması Hizmeti, çeşitli kimlik doğrulama özelliklerini kendi başınıza uygulamadan web uygulamanıza veya API'nize tümleştirmenize olanak tanır.
  • Doğrudan platformda yerleşiktir ve belirli bir dil, SDK, güvenlik uzmanlığı veya kod gerektirmez.
  • Birden çok oturum açma sağlayıcısıyla tümleştirebilirsiniz. Örneğin, Microsoft Entra Id, Facebook, Google, Twitter.

Kimlik sağlayıcıları

App Service, üçüncü taraf kimlik sağlayıcısının kullanıcı kimliklerini ve kimlik doğrulama akışını sizin için yönettiği federasyon kimliğini kullanır. Aşağıdaki kimlik sağlayıcıları varsayılan olarak kullanılabilir:

Provider Oturum açma uç noktası Nasıl Yapılır kılavuzu
Microsoft kimlik platformu /.auth/login/aad App Service Microsoft kimlik platformu oturum açma
Facebook /.auth/login/facebook App Service Facebook oturumu açma
Google /.auth/login/google App Service Google oturum açma bilgileri
Twitter /.auth/login/twitter App Service Twitter oturumu açma
Herhangi bir OpenID Bağlan sağlayıcısı /.auth/login/<providerName> App Service OpenID Bağlan oturum açma
GitHub /.auth/login/github App Service GitHub oturum açma

Bu sağlayıcılardan biriyle kimlik doğrulama ve yetkilendirmeyi etkinleştirdiğinizde, oturum açma uç noktası kullanıcı kimlik doğrulaması ve sağlayıcıdan kimlik doğrulama belirteçlerinin doğrulanması için kullanılabilir. Kullanıcılarınıza bu oturum açma seçeneklerinden istediğiniz sayıda sağlayabilirsiniz.

Nasıl çalışır

Kimlik doğrulama ve yetkilendirme modülü, uygulama kodunuzla aynı korumalı alanda çalışır. Etkinleştirildiğinde, gelen her HTTP isteği uygulama kodunuz tarafından işlenmeden önce bu istekten geçer. Bu modül, uygulamanız için çeşitli işlemleri işler:

  • Belirtilen kimlik sağlayıcılarıyla kullanıcıların ve istemcilerin kimliğini doğrular
  • Yapılandırılmış kimlik sağlayıcıları tarafından verilen OAuth belirteçlerini doğrular, depolar ve yeniler
  • Kimliği doğrulanmış oturumu yönetir
  • KIMLIK bilgilerini HTTP isteği üst bilgilerine ekler

Modül, uygulama kodunuzdan ayrı olarak çalışır ve Azure Resource Manager ayarları kullanılarak veya bir yapılandırma dosyası kullanılarak yapılandırılabilir. SDK'lar, belirli programlama dilleri veya uygulama kodunuzda değişiklik yapılması gerekmez.

Dekont

Linux ve kapsayıcılarda kimlik doğrulama ve yetkilendirme modülü, uygulama kodunuzdan yalıtılmış ayrı bir kapsayıcıda çalışır. İşlem sırasında çalışmadığından, belirli dil çerçeveleriyle doğrudan tümleştirme mümkün değildir.

Kimlik doğrulama akışı

Kimlik doğrulama akışı tüm sağlayıcılar için aynıdır, ancak sağlayıcının SDK'sıyla oturum açmak isteyip istemediğinize bağlı olarak farklılık gösterir.

  • Sağlayıcı SDK'sı olmadan: Uygulama, App Service'te federasyon oturum açma temsilcilerini temsil eder. Bu durum genellikle sağlayıcının oturum açma sayfasını kullanıcıya sunabilen tarayıcı uygulamaları için geçerlidir. Sunucu kodu oturum açma işlemini yönetir, bu nedenle sunucu tarafından yönlendirilen akış veya sunucu akışı olarak da adlandırılır.

  • Sağlayıcı SDK'sı ile: Uygulama, kullanıcıları sağlayıcıda el ile oturum açar ve ardından doğrulama için kimlik doğrulama belirtecini App Service'e gönderir. Bu durum genellikle tarayıcısız uygulamalarda geçerlidir ve sağlayıcının oturum açma sayfasını kullanıcıya sunmaz. Uygulama kodu oturum açma işlemini yönetir, bu nedenle istemci tarafından yönlendirilen akış veya istemci akışı olarak da adlandırılır. Bu, REST API'leri, Azure İşlevleri, JavaScript tarayıcı istemcileri ve sağlayıcının SDK'sını kullanarak kullanıcıların oturum açmasını sağlayan yerel mobil uygulamalar için geçerlidir.

Aşağıdaki tabloda kimlik doğrulama akışının adımları gösterilmektedir.

Adım Sağlayıcı SDK'sı olmadan Sağlayıcı SDK'sı ile
Oturum açma kullanıcısı İstemciyi öğesine /.auth/login/<provider>yönlendirir. İstemci kodu, kullanıcıyı doğrudan sağlayıcının SDK'sıyla imzalar ve bir kimlik doğrulama belirteci alır. Bilgi için sağlayıcının belgelerine bakın.
Kimlik doğrulaması sonrası Sağlayıcı istemcisini öğesine /.auth/login/<provider>/callbackyönlendirir. İstemci kodu doğrulama için belirteci sağlayıcıdan adresine /.auth/login/<provider> postalar.
Kimliği doğrulanmış oturum oluşturma App Service yanıta kimliği doğrulanmış tanımlama bilgisi ekler. App Service, istemci koduna kendi kimlik doğrulama belirtecini döndürür.
Kimliği doğrulanmış içerik sunma İstemci, sonraki isteklerde kimlik doğrulama tanımlama bilgisini içerir (tarayıcı tarafından otomatik olarak işlenir). İstemci kodu, kimlik doğrulama belirtecini üst bilgide X-ZUMO-AUTH sunar (Mobile Apps istemci SDK'ları tarafından otomatik olarak işlenir).

İstemci tarayıcıları için App Service kimliği doğrulanmamış tüm kullanıcıları otomatik olarak öğesine /.auth/login/<provider>yönlendirebilir. Kullanıcılara, tercih ettikleri sağlayıcıyı kullanarak uygulamanızda oturum açmak için bir veya daha fazla /.auth/login/<provider> bağlantı da sunabilirsiniz.

Yetkilendirme davranışı

Azure portalında, gelen bir isteğin kimliği doğrulanmamışsa App Service'i birçok davranışla yapılandırabilirsiniz.

  • Kimliği doğrulanmamış isteklere izin ver: Bu seçenek, uygulama kodunuz için kimliği doğrulanmamış trafiğin yetkilendirmesini engeller. Kimliği doğrulanmış istekler için App Service, HTTP üst bilgilerinde kimlik doğrulama bilgilerini de geçirir. Bu seçenek anonim istekleri işleme konusunda daha fazla esneklik sağlar. Kullanıcılarınıza birden çok oturum açma sağlayıcısı sunmanızı sağlar.

  • Kimlik doğrulaması gerektir: Bu seçenek, uygulamanıza yönelik kimliği doğrulanmamış trafiği reddeder. Bu reddetme, yapılandırılan kimlik sağlayıcılarından birine yeniden yönlendirme eylemi olabilir. Böyle durumlarda, seçtiğiniz sağlayıcı için bir tarayıcı istemcisine /.auth/login/<provider> yönlendirilir. Anonim istek yerel bir mobil uygulamadan geliyorsa, döndürülen yanıt bir HTTP 401 Unauthorizedolur. Reddetmeyi tüm istekler için veya HTTP 403 Forbidden olacak HTTP 401 Unauthorized şekilde de yapılandırabilirsiniz.

    Dikkat

    Erişimi bu şekilde kısıtlamak, uygulamanıza yapılan tüm çağrılar için geçerlidir. Bu, birçok tek sayfalı uygulamada olduğu gibi genel kullanıma açık bir giriş sayfası isteyen uygulamalar için de istenmeyebilir.

Belirteç deposu

App Service, web uygulamalarınızın, API'lerinizin veya yerel mobil uygulamalarınızın kullanıcılarıyla ilişkili belirteçlerin deposu olan yerleşik bir belirteç deposu sağlar. Herhangi bir sağlayıcıyla kimlik doğrulamasını etkinleştirdiğinizde, bu belirteç deposu uygulamanız tarafından hemen kullanılabilir.

Günlüğe kaydetme ve izleme

Uygulama günlüğünü etkinleştirirseniz, kimlik doğrulaması ve yetkilendirme izlemeleri doğrudan günlük dosyalarınızda toplanır. Beklemediğiniz bir kimlik doğrulama hatası görürseniz, mevcut uygulama günlüklerinize bakarak tüm ayrıntıları kolayca bulabilirsiniz.