Aracılığıyla paylaş


Özel bulutta veya şirket içinde barındırılan bir Uygulama Programlama Arabirimine (API) güvenli erişim sağlamak için Microsoft Entra uygulama ara sunucusunu kullanma

İş mantığı genellikle özel bir Uygulama Programlama Arabiriminde (API) bulunur. API şirket içinde veya özel bir bulutta çalışır. Yerel Android, iOS, Mac veya Windows uygulamalarınızın verileri kullanmak veya kullanıcı etkileşimi sağlamak için API uç noktalarıyla etkileşim kurması gerekir. Microsoft Entra uygulama ara sunucusu ve Microsoft Kimlik Doğrulama Kitaplığı (MSAL), yerel uygulamalarınızın özel bulut API'lerinize güvenli bir şekilde erişmesini sağlar. Microsoft Entra uygulama ara sunucusu, güvenlik duvarı bağlantı noktalarını açmaktan ve uygulama katmanında kimlik doğrulaması ve yetkilendirmeyi denetlemekten daha hızlı ve daha güvenli bir çözümdür.

İpucu

"Şirket içi" terimi, fiziksel sunucuların şirket ofisinin şirket içinde bulunduğu zamana kadar uzanan eski bir terimdir. Günümüzde, birçok kendi kendine barındırılan iş yükü bir veri merkezinde bulunan bir sanal makinede çalışıyor. Şirket içi ve özel bulut terimleri birbirinin yerine kullanılır.

Bu makalede, yerel uygulamaların erişebileceği bir web API'si hizmetini barındırmak için bir Microsoft Entra uygulama ara sunucusu çözümü ayarlama işleminde size yol gösterilir.

Genel bakış

Aşağıdaki diyagramda, şirket içi API'leri yayımlamanın geleneksel bir yolu gösterilmektedir. Bu yaklaşım, 80 ve 443 gelen bağlantı noktalarının açılmasını gerektirir.

Geleneksel API erişimi

Aşağıdaki diyagramda, gelen bağlantı noktalarını açmadan API'leri güvenli bir şekilde yayımlamak için Microsoft Entra uygulama ara sunucusunu nasıl kullanabileceğiniz gösterilmektedir:

Microsoft Entra uygulama ara sunucusu API erişimi

Microsoft Entra uygulama ara sunucusu, API erişimi için genel uç nokta olarak çalışarak ve kimlik doğrulaması ve yetkilendirme sağlayarak çözümün omurgasını oluşturur. Microsoft Authentication Library (MSAL) kitaplıklarını kullanarak API'lerinize çok çeşitli platformlardan erişebilirsiniz.

Microsoft Entra uygulama ara sunucusu kimlik doğrulaması ve yetkilendirmesi Microsoft Entra Id'nin üzerine oluşturulduğundan, yalnızca güvenilen cihazların uygulama ara sunucusu aracılığıyla yayımlanan API'lere erişebildiğinden emin olmak için Microsoft Entra Koşullu Erişim'i kullanabilirsiniz. Masaüstü bilgisayarlar için Microsoft Entra katılımı veya Microsoft Entra karma katılımını, cihazlar için ise Intune Yönetim'i kullanın. Ayrıca, Microsoft Entra Id P1 veya P2 gibi Microsoft Entra çok faktörlü kimlik doğrulaması ve Microsoft Entra ID Protection'ın makine öğrenmesi destekli güvenliği gibi özelliklerinden de yararlanabilirsiniz.

Önkoşullar

Bu kılavuzu izlemek için şunlar gerekir:

API'yi uygulama ara sunucusu aracılığıyla yayımlama

Uygulama ara sunucusu aracılığıyla intranetinizin dışında bir API yayımlamak için, web uygulamalarını yayımlamak için kullandığınız desenin aynısını izlersiniz. Daha fazla bilgi için bkz . Öğretici: Microsoft Entra Id'de uygulama ara sunucusu aracılığıyla uzaktan erişim için şirket içi uygulama ekleme.

SecretAPI web API'sini uygulama ara sunucusu aracılığıyla yayımlamak için:

  1. Örnek SecretAPI projesini yerel bilgisayarınızda veya intranetinizde ASP.NET bir web uygulaması olarak derleyin ve yayımlayın. Web uygulamasına yerel olarak erişebildiğinizden emin olun.

  2. Microsoft Entra yönetim merkezinde en az Bir Uygulama Yöneticisi olarak oturum açın.

  3. Entra ID>Enterprise uygulamalarına göz atın.

  4. Kurumsal uygulamalar - Tüm uygulamalar sayfasının üst kısmında Yeni uygulama'yı seçin.

  5. Microsoft Entra Gallery'ye Gözat sayfasında Şirket içi uygulamalar bölümünü bulun ve Şirket içi uygulama ekle'yi seçin. Kendi şirket içi uygulamanızı ekleyin sayfası görüntülenir.

  6. Yüklü bir özel ağ bağlayıcınız yoksa, yüklemeniz istenir. Bağlayıcıyı indirip yüklemek için Özel ağ bağlayıcısını indir'i seçin.

  7. Kendi şirket içi uygulamanızı ekleyin sayfasında bilgi ekleyin.

    1. Ad'ın yanına SecretAPI girin.

    2. İç URL'nin yanına, intranetinizin içinden API'ye erişmek için kullandığınız URL'yi girin.

    3. Ön Kimlik Doğrulaması'nınMicrosoft Entra Id olarak ayarlandığından emin olun.

    4. Oluştur'u seçin ve uygulamanın oluşturulmasını bekleyin.

    API uygulaması ekleme

  8. Kurumsal uygulamalar - Tüm uygulamalar sayfasında SecretAPI uygulamasını seçin.

  9. SecretAPI - Genel Bakış sayfasında, sol gezinti bölmesinde Özellikler'i seçin.

  10. API'lerin MyApps panelinde son kullanıcıların kullanımına sunulmasını istemezsiniz, bu nedenle Özellikler sayfasının alt kısmındaki Kullanıcılara görünür seçeneğini Hayır olarak ayarlayın ve kaydet'i seçin.

    Kullanıcılara görünür değil

Web API'si artık Microsoft Entra uygulama ara sunucusu aracılığıyla yayımlanır. Ardından, uygulamaya erişebilecek kullanıcıları ekleyin.

  1. SecretAPI - Genel Bakış sayfasında sol gezinti bölmesinde Kullanıcılar ve gruplar'ı seçin.

  2. Kullanıcılar ve gruplar sayfasında Kullanıcı ekle'yi seçin.

  3. Atama ekle sayfasında Kullanıcılar ve gruplar'ı seçin.

  4. Kullanıcılar ve gruplar sayfasında, en azından kendiniz de dahil olmak üzere uygulamaya erişebilen kullanıcıları arayın ve seçin. Tüm kullanıcıları seçtikten sonra Seç'i seçin.

    Kullanıcı seçme ve atama

  5. Atama Ekle sayfasında Ata'yı seçin.

Notlar

Tümleşik Windows kimlik doğrulaması kullanan API'ler ek adımlar gerektirebilir.

Yerel uygulamayı kaydetme ve API'ye erişim verme

Yerel uygulamalar, belirli bir platformda veya cihazda kullanılmak üzere geliştirilmiş programlardır. Yerel uygulamanızın bir API'ye bağlanabilmesi ve api'ye erişebilmesi için bunu Microsoft Entra Id'ye kaydetmeniz gerekir. Aşağıdaki adımlar, yerel bir uygulamanın nasıl kaydedileceğini ve uygulama proxy'si aracılığıyla yayımladığınız web API'sine nasıl erişim izni vereceğinizi gösterir.

AppProxyNativeAppSample yerel uygulamasını kaydetmek için:

  1. Microsoft Entra yönetim merkezinde en az Bir Uygulama Yöneticisi olarak oturum açın.

  2. Entra ID>Enterprise uygulamaları>Uygulama kayıtları bölümüne göz atın.

  3. Yeni kayıt'ı seçin.

  4. Uygulama kaydetme sayfasına bilgileri girin.

    1. Ad altında AppProxyNativeAppSample'ı girin.

    2. Desteklenen hesaptürleri'nin altında Yalnızca bu kuruluş dizinindeki hesaplar (yalnızca Contoso - Tek kiracı) seçeneğini belirleyin.

    3. Yeniden Yönlendirme URL'si'nin altında açılan menüye gidin ve Genel istemci/yerel (mobil & masaüstü) öğesini seçin, ardından girin.

    4. Kaydet'i seçin ve uygulamanın başarıyla kaydedilmesini bekleyin.

      Yeni uygulama kaydı

Uygulama AppProxyNativeAppSample artık Microsoft Entra Id'de kayıtlıdır. Yerel uygulamanıza web API'sine SecretAPI erişim verin:

  1. Uygulama kayıtları sayfasında AppProxyNativeAppSample uygulamasını seçin.

  2. AppProxyNativeAppSample sayfasında sol gezinti bölmesinde API izinleri'ni seçin.

  3. API izinleri sayfasında İzin ekle'yi seçin.

  4. İlk API izinlerini iste sayfasında kuruluşumun kullandığı API'ler sekmesini seçin ve ardından SecretAPI'yi arayıp seçin.

  5. Sonraki API izinlerini iste sayfasında, user_impersonation yanındaki onay kutusunu seçin ve ardından İzin ekle'yi seçin.

    Bir A P I seçin.

  6. API izinleri sayfasına dönüp Contoso için yönetici onayı ver'i seçerek diğer kullanıcıların uygulamaya ayrı ayrı onay vermelerini engelleyebilirsiniz.

Yerel uygulama kodunu yapılandırma

Son adım, yerel uygulamayı yapılandırmaktır. Kod, Form1.cs örnek uygulamadaki NativeClient dosyasına eklenmelidir. Kod, belirteci almak için MSAL kitaplığını kullanır. Belirteç, API çağrısı yapmak için istekte bulunur ve bunu istek üstbilgisine ekler. Belirteç, taşıyıcı sertifikası olarak eklenmiştir. MSAL hakkında daha fazla bilgi için bkz. Projenize MSAL ekleme ve MSAL başvurusu ekleme.

  1. Form1.cs ad alanını using Microsoft.Identity.Client; koda ekleyin.

  2. Bu özelleştirilmiş kod örneğini eklemek için yerel uygulama kodunu Microsoft Kimlik Doğrulama Kitaplığı'nın (MSAL) kimlik doğrulama bağlamında düzenleyin.

Yerel uygulamayı Microsoft Entra Id'ye bağlanacak ve uygulama ara sunucusunu kullanarak API'yi çağıracak şekilde yapılandırın. Ardından dosyasındaki App.configNativeClient sample app yer tutucu değerlerini Microsoft Entra Id değerleriyle güncelleştirin.

  1. Dizin (kiracı) kimliğini<add key="ida:Tenant" value="" /> alanına yapıştırın. Bu değeri (GUID) uygulamalarınızın genel bakış sayfasında bulabilir ve kopyalayabilirsiniz.

  2. AppProxyNativeAppSample Uygulaması (istemci) Kimliğini<add key="ida:ClientId" value="" /> alanına yapıştırın. Bu değeri (GUID) AppProxyNativeAppSample'ın Genel Bakış sayfasında, Yönet'in altındaki sol gezinti bölmesinde bulabilir ve kopyalayabilirsiniz.

  3. AppProxyNativeAppSample Yeniden Yönlendirme URI'sini<add key="ida:RedirectUri" value="" /> alanına yapıştırın. Bu değeri (URI) AppProxyNativeAppSample'ın Kimlik Doğrulaması sayfasında, Yönet'in altındaki sol gezinti bölmesinde bulabilir ve kopyalayabilirsiniz. MSAL, önerilen yanıt Tekdüzen Kaynak Tanımlayıcısı'nı (URI) eklemek için yöntemini PublicClientApplicationBuilder.WithDefaultRedirectUri() kullandığından bu adım isteğe bağlıdır.

  4. SecretAPI Uygulama Kimliği URI'sini alana yapıştırın <add key="todo:TodoListResourceId" value="" /> . değeri ile aynıdır todo:TodoListBaseAddress. URI değeri, uygulamanın API'yi kullanıma sunma sayfasında SecretAPI bulunur. Yönet'in altındaki sol gezintiye bakın.

  5. SecretAPI Giriş Sayfası URL'sini alana yapıştırın <add key="todo:TodoListBaseAddress" value="" /> . Bu değeri (URL) SecretAPI Markalama ve özellikler sayfasında, Yönet'in altındaki sol gezinti bölmesinde bulabilir ve kopyalayabilirsiniz.

Notlar

Çözüm derlenmiyorsa ve hatasını invalid Resx filebildiriyorsa, Çözüm Gezgini'nde Özellikler'i genişletin, Resources.resx'e sağ tıklayın ve Kodu Görüntüle'yi seçin. Açıklama satırları 121 ile 123.

Parametreleri yapılandırdıktan sonra yerel uygulamayı derleyin ve çalıştırın. Oturum Aç düğmesini seçtiğinizde, uygulama oturum açmanıza olanak tanır ve secretAPI'ye başarıyla bağlandığını onaylamak için bir başarı ekranı görüntüler.

Ekran görüntüsü, 'Gizli API Başarılı' iletisini ve 'Tamam' düğmesini gösteriyor.

Sonraki adımlar