Aracılığıyla paylaş


MAM için Microsoft Tunnel iOS SDK geliştirici kılavuzu

Not

Bu özellik, Microsoft Intune Plan 2 veya Microsoft Intune Suite eklenti lisansı olarak eklediğinizde kullanılabilir. Daha fazla bilgi için bkz. Intune Paketi eklenti özelliklerini kullanma.

MAM için Microsoft Tunnel iOS SDK geliştirici kılavuzu, geliştiriciler için bir kaynaktır. Geliştiricilerin SDK'yi bir iOS/iPadOS uygulamasıyla tümleştirmesine ve yapılandırmasına yardımcı olur. MAM için Microsoft Tunnel genel bakış için iOS/iPadOS için MAM için Microsoft Tunnel - Intune yönetici kılavuzu'na gidin.

Bu kılavuz, Xcode uygulama projenizdeki tümleştirme işleminin çerçeveleri yükleme, dosyayı yapılandırma info.plist , derleme ayarları, anahtar paylaşımı ve SDK'nın temsilci yöntemlerini uygulama gibi farklı bölümlerini kapsar.

Bu bileşenler, bir iOS/iPadOS uygulamasının geliştirilmesinde kritik öneme sahiptir. Geliştiricilerin SDK bileşenlerinde gezinmeyi ve yapılandırmayı anlaması gerekir. Xcode ve iOS/iPadOS uygulama geliştirme konusunda yeniyseniz bu kılavuz yardımcı olabilir. Farklı SDK bileşenlerinin nerede bulunacağı ve bu öğelerin uygulama projelerinizde nasıl kullanılacağına ilişkin bir genel bakış sağlar.

Bu özellik şu platformlarda geçerlidir:

  • iOS/iPadOS

SDK Deposundakiler

SDK deposu aşağıdaki çerçeveleri içerir. Bu çerçeveleri uygulama projenize sonraki bir adımda ekleyeceksiniz:

  • crypto.xcframework
  • MCPCommon.xcframework
  • MCPCore.xcframework
  • MCPPluginUnencryptedFile.xcframework
  • MicrosoftTunnelApi.xcframework
  • MSTAPNextPluginSecurityOpenssl.xcframework
  • MSTAPNextPluginSwiftSupport.xcframework
  • MSTAPNextPluginVpnMicrosoftTunnel.xcframework
  • ssl.xcframework

Önkoşullar

MAM için Microsoft Tunnel iOS SDK'sını kullanmak için aşağıdaki önkoşullar gereklidir:

  • Xcode 14.0 veya üzeri yüklü bir macOS bilgisayar

  • İş kolu (LOB) iOS/iPadOS uygulamanız iOS/iPadOS 14.0 veya daha yeni sürümler için hedeflenmelidir.

  • Xcode'da iOS uygulamanızla indirmeniz ve tümleştirmeniz gereken iki GitHub SDK'sı vardır. MAM için Microsoft Tunnel iOS SDK'sı ile devam etmeden önce aşağıdaki projelerin başarıyla derlendiğinden emin olun:

    1. iOS için Intune Uygulama SDK'sı (bir GitHub sitesi açar): En azından 16.1.1 sürümünü yükleyin.

      Bu sitede, iOS dosyası için Microsoft Lisans Koşulları Intune Uygulama SDK'sını da gözden geçirin.

      Kayıtlarınız için lisans koşullarının bir kopyasını saklayın. MAM için Microsoft Tunnel iOS SDK'sını indirip kullanarak lisans koşullarını kabul etmiş olursunuz. Lisans koşullarını kabul etmezseniz yazılımı kullanmayın.

    2. Microsoft Kimlik Doğrulama Kitaplığı (MSAL) (GitHub sitesi açar): En azından 1.2.3 sürümünü yükleyin.

  • MAM için Microsoft Tunnel iOS SDK'sını yükleyin ve ayarlayın (GitHub sitesini açar). Bu SDK, bu makalenin odak noktasıdır.

    Önemli

    Intune, MAM için Microsoft Tunnel iOS SDK'sına yönelik güncelleştirmeleri düzenli olarak yayımlar. Düzenli olarak güncelleştirmeler için MAM için Microsoft Tunnel iOS SDK'sını denetleyin. Bu güncelleştirmeleri yazılım geliştirme sürüm döngünüze ekleyin. Uygulamalarınızın Microsoft Tunnel Gateway güncelleştirmelerini ve özellik geliştirmelerini desteklediğinden emin olmak istiyorsunuz.

MAM için Microsoft Tunnel iOS SDK'sı nasıl çalışır?

MAM iOS SDK tüneli, iOS/iPadOS uygulamalarının "uygulama içi" VPN bağlantısı kurmasını sağlar. VPN bağlantısı yalnızca uygulama içinde bulunur.

Özetlemek gerekirse, bu uygulama içi VPN bağlantıları şunlardır:

  • Ayrık, cihaz düzeyinde VPN bağlantıları değil
  • Kapsamı yalnızca uygulama ağ katmanına göre belirlenmiş

Bir uygulama ağ çağrısı yaptığında SDK, ağ çağrısını durdurur ve VPN bağlantısını kurar. Bu uygulama içi VPN bağlantısı, iOS/iPadOS cihazındaki Ayarlar uygulamasında gösterilmez.

Mimari: MAM iOS SDK tüneli

Aşağıdaki görüntüde, MAM iOS SDK'sı için Tunnel ile başarıyla tümleştirilmiş yönetilen bir uygulamadan gelen akış açıklanmaktadır:

Microsoft Intune'de iOS/iPadOS mimarisinde MAM için Microsoft Tunnel Gateway çizimi.

  1. Uygulamanın ilk başlatılmasından sonra, iOS için MAM için Microsoft Tunnel SDK'sı kullanılarak bir bağlantı yapılır.

  2. Tünel, Microsoft Entra ID'dan bir cihaz kimlik doğrulama belirteci alır.

    Cihaz Outlook, Edge veya Microsoft 365 mobil uygulaması gibi başka bir MAM özellikli uygulamada oturum açtıysa, cihazın zaten bir Microsoft Entra kimlik doğrulama belirteci olabilir. Geçerli bir kimlik doğrulama belirteci zaten varsa, mevcut belirteç kullanılır.

  3. Belirteç ve tünel sunucusu arasında tls el sıkışması olan bir TCP Connect gerçekleşir.

  4. Microsoft Tunnel Gateway'de UDP etkinleştirildiyse DTLS kullanılarak bir veri kanalı bağlantısı yapılır. UDP devre dışı bırakılırsa TCP, tünel ağ geçidine veri kanalını oluşturur.

    Daha fazla bilgi için Microsoft Tunnel'a genel bakış - mimarisindeki TCP ve UDP notlarına gidin.

  5. Mobil uygulama şirket içi bir şirket kaynağına bağlantı yaptığında:

    1. MAM için Microsoft Tunnel API'leri şirket kaynağına bağlanma isteğinde bulunur.
    2. Şifrelenmiş bir web isteği oluşturulur ve şirket kaynağına gönderilir.

Xcode Görevleri

Bu bölümde, tamamlamanız gereken Xcode görevleri listelenir ve açıklanır; örneğin:

  • Çerçeveleri ve kitaplıkları ekleme
  • Aşağıdaki özellikleri gözden geçirin ve güncelleştirin:
    • info.plistDosya
    • Derleme ayarları
    • Anahtarlık paylaşımı
  • Xcode AppDelegate projesini güncelleştirmek ve bir Microsoft Tunnel temsilci dosyası eklemek için örnekleri kullanın

1. Adım - Çerçeveleri ve kitaplıkları ekleme

Aşağıdaki çerçeveler, Intune Microsoft Tunnel Gateway ile iletişim kurmak için gerekli API'leri ve temsilci yöntemlerini içerir. Uygulama içinde Microsoft Tunnel VPN özelliklerini uygular.

MAM iOS SDK'sı için Tünel'i etkinleştirmek için aşağıdaki adımları kullanın:

  1. MAM iOS SDK tüneli'ni indirin ve macOS bilgisayardaki bir klasöre ayıklayın. Bu görev Önkoşullar bölümünde de listelenir.

    Aşağıdaki dokuz çerçeveyi Xcode uygulaması proje çerçeveleri klasörüne kopyalayın:

    • crypto.xcframework
    • MCPCommon.xcframework
    • MCPCore.xcframework
    • MCPPluginUnencryptedFile.xcframework
    • MicrosoftTunnelApi.xcframework
    • MSTAPNextPluginSecurityOpenssl.xcframework
    • MSTAPNextPluginSwiftSupport.xcframework
    • MSTAPNextPluginVpnMicrosoftTunnel.xcframework
    • ssl.xcframework
  2. Xcode projesinde uygulama projenizi >Dosya ekle'yi seçin. Aşağıdaki örnekte, dosyalar "Flash Chat" adlı bir uygulama projesine eklenir:

    MacOS cihazında Xcode'da uygulama projesine nasıl dosya ekleneceğini gösteren ekran.

  3. PROJECT>TARGETS bölümünde Derleme Aşamaları Ekleme Çerçeveleri'ne>tıklayın. Dokuz çerçevenin tümünü ekleyin (+):

    MacOS cihazında Xcode'a çerçeve eklemeyi gösteren ekran görüntüsü.

    Aşağıdaki örnekte eklenen dokuz çerçevenin tümü gösterilmektedir:

    MacOS cihazında Xcode'a eklenmiş tüm Microsoft Tunnel çerçevelerini gösteren ekran görüntüsü.

  4. PROJECT>TARGETS bölümünde Derleme Aşamaları Kitaplıklarla>İkili Bağlantı'yı seçin. Listeye yalnızca MicrosoftTunnelApi.xcframework çerçeve eklenmelidir. Başka çerçeveler listeleniyorsa, eksiyi (-) kullanarak bunları kaldırın:

    macOS cihazında Xcode'da Kitaplıklarla İkili Bağlantı'da çerçevelerin nasıl kaldırılacağını gösteren ekran görüntüsü.

2. Adım - Dosyayı güncelleştirme info.plist

info.plist Xcode uygulaması projesinde aşağıdaki ayarları onaylayın:

  • Paket Kimliği: iOS mobil uygulaması için Microsoft Entra Uygulama kaydında listelenen Paket Kimliğinin uygulama projenizde aynı Paket Kimliği olduğundan emin olun:

    Paket Kimliğini denetlemek için:

    1. PROJECT>TARGETS>Genel'e gidin.

    2. Kimlik>Paketi Tanımlayıcısı'nı seçin:

      MacOS cihazında Xcode'da paket kimliğini eklemek için proje, hedefler, genel ve kimlik seçmeyi gösteren ekran görüntüsü.

  • URL Türleri: PROJECT>TARGETS'daBilgi'yi seçin.

    URL Türleri'nde değişkenin $(PRODUCT_BUNDLE_IDENTIFIER) orada olduğunu onaylayın. iOS için Intune Uygulama SDK'sını uygulama projenizle tümleştirdiğinizde (gerekli bir önkoşul), bu değişkenin oluşturulmuş olması gerekir.

    Değişken orada değilse, bunu eklemeniz gerekir:

    1. iOS için Intune Uygulama SDK'sını kullanarak (gerekli bir önkoşul), bir info.plistDizi özelliği oluşturun ve sorgulanan URL Düzenleri olarak adlandırın.

      iOS için Intune Uygulama SDK'sı geliştirici kılavuzu – 5. Adım'da listelenen dize öğelerini ekleyin. Bu adım Intune MAM SDK URL düzenlerini oluşturur.

      Aşağıdaki örnekte Sorgulanan URL Düzenleri kullanılarak info.plist gösterilmektedir:

      macOS cihazında Xcode'da proje, hedefler, bilgiler, sorgulanan URL düzenleri değerlerini seçmeyi gösteren ekran görüntüsü.

    2. değişkenini $(PRODUCT_BUNDLE_IDENTIFIER) ekleyin.

      Aşağıdaki örnekte URL Türleri'ndeki değişken gösterilmektedir$(PRODUCT_BUNDLE_IDENTIFIER):

      macOS cihazında Xcode'da proje, hedefler, bilgiler, URL türlerini seçmeyi gösteren ekran görüntüsü.

  • IntuneMAMSettings: Aşağıdaki MSAL ayarlarının uygun Microsoft Entra uygulama kayıt değerleriyle yapılandırıldığını onaylayın:

    1. PROJECT>TARGETS>Info'ya gidin.

    2. IntuneMAMSettings'i seçin. Ayarlarınızı onaylayın:

      • ADALAuthority: gibi https://login.microsoftonline.com/USE_YOUR_ Directory (tenant) IDMicrosoft Entra kiracı kimliğini girin.
      • ADALClientId: Uygulama istemci kimliğini girin.
      • ADALRedirectUri: girin msauth.$(PRODUCT_BUNDLE_IDENTIFIER):/auth.

    iOS için Intune Uygulama SDK'sını uygulama projenizle tümleştirdiğinizde (gerekli bir önkoşul), bu ayarların yapılandırılmış olması gerekir.

    Bu ayarlar yapılandırılmamışsa bunları yapılandırmanız gerekir. IntuneMAMSettings info.plist Sözlük özelliğini ve ilişkili Microsoft Kimlik Doğrulama Kitaplığı dizelerini oluşturmak için, Intune Uygulama SDK'sı kılavuzu için MSAL ayarlarını yapılandırma makalesindeki iOS için Intune Uygulama SDK'sı (gerekli bir önkoşul) geliştirici kılavuzunu izleyin.

    Aşağıdaki örnekte yapılandırılan bu değerler gösterilmektedir:

    MacOS cihazında Xcode'da proje, hedefler, bilgiler, IntuneMAMSetting'i seçmeyi gösteren ekran görüntüsü.

3. Adım - Bitcode'u kapatma

  1. PROJECT>TARGETS>Derleme ayarları'na gidin.
  2. Derleme seçenekleri>Bit kodunu etkinleştir'i seçin.
  3. Hayır'ı seçin.

macOS cihazında Xcode'da proje, hedefler, derleme ayarları, derleme seçenekleri ve bit kodunu devre dışı bırakmayı gösteren ekran görüntüsü.

4. Adım - Anahtarlık paylaşımı ekleme

Anahtarlık paylaşımı uygulama projesinde mevcut olabilir veya olmayabilir. Orada değilse ekleyin:

  1. PROJECT>TARGETS>İmzalama & Özellikleri'ne gidin.
  2. Anahtarlık paylaşımı'nı seçin.
  3. Anahtarlık Grupları listesinde ekleyin (+) com.microsoft.workplacejoin.

MacOS cihazında Xcode'da proje, hedefler, İmzalama & Özellikleri, anahtarlık paylaşımı ve anahtarlık grubu eklemeyi gösteren ekran görüntüsü.

5. Adım - SDK'yi uygulamanızla tümleştirme

✔️ TunnelMAMTestApp2.xcproject Örnek uygulamayı kullanın.

LOB uygulamasına ve uygulamanın/hedeflenen amacına bağlı olarak, uygulamasının MicrosoftTunnelApi kullanımı farklılık gösterebilir. SDK'yi uygulamanızla tümleştirdiğinizde bilmeniz gereken bazı temel işlevler vardır:

  • MAM için Microsoft Tunnel iOS SDK'sı ile tüm etkileşimler tek bir MicrosoftTunnelAPI nesne üzerinden işlenir.
  • nesnesi, MicrosoftTunnelAPI arabirim uygulayan bir temsilci kullanarak uygulamayla etkileşim kurar MicrosoftTunnelDelegate . 

Microsoft Tunnel temsilcisinin nasıl yazıldığını ve nasıl başlatıldığını MicrosoftTunnelAPIanlamak için MAM için Microsoft Tunnel iOS SDK örnek uygulamalarını kullanın (GitHub sitesini açar).

Örnek uygulamalarda AppDelegate Xcode projesi şunları gösterir:

  • MSAL URL geri çağırmalarını işleme
  • Tunnel için gereken kayıt ve başlatma işlemini başlatma

Başlamak için örnek uygulamayı açın TunnelMAMTestApp2.xcproject ve uygulama projesinde AppDelegate & MicrosoftTunnelDelegate'e bakın.

Örnek uygulamalar

✔️ MAM için Microsoft Tunnel iOS SDK örnek uygulamalarından indirin (GitHub sitesini açar).

Bu örnek uygulamalar, kullanmaya başlamanıza ve farklı senaryoları ele almanıza yardımcı olabilir.

MicrosoftTunnelAPI yöntemleri

MicrosoftTunnelAPI aşağıdaki yöntemleri içerir:

  • Initialize – VPN yapılandırmalarını denetler ve ayarlar, günlüğe kaydetmeyi ayarlar ve örneği ayarlar MicrosoftTunnelAPI .

  • Connect – Örneği alır MicrosoftTunnelAPI ve ağ trafiğinin kesilmesini etkinleştirir. API başlatılmamışsa bir hata gösterilir.

  • Disconnect - Örneği alır MicrosoftTunnelAPI ve ağ trafiği kesmeyi devre dışı bırakır. API başlatılmamışsa bir hata gösterilir.

  • onTokenRequired –Isteğe bağlı. Uygulamanız zaten veya MSAL ile IntuneMAM tümleştirildiyse bu onTokenRequired yöntemi uygulamanız gerekir. Bu yöntem, Microsoft Tunnel Gateway'e IntuneMAMSettings bağlanmak için geçerli bir kimlik doğrulama belirteci almak için ve MSAL kullanır.

  • Logging – tarafından kbelirtilen bazı farklı günlük sınıfları vardır. Örneğin, kLoggingClassConnect Xcode konsolunda günlük çıkışı oluşturur. Bu günlük yapılandırma anahtarları temsilci yapılandırmasına eklenebilir. Örnek uygulamalarda bu günlük sınıflarının bazı örnekleri vardır.

    • kLoggingClassInternal
    • kLoggingClassConnect
    • kLoggingClassPacket
    • kLoggingClassSocket
    • kLoggingClassHttp
    • kLoggingClassIntune
    • kLoggingClassMobileAccess
    • kLoggingSeverityDebug
    • kLoggingSeverityInfo
    • kLoggingSeverityWarn
    • kLoggingSeverityMinor
    • kLoggingSeverityMajor
    • kLoggingSeverityCrit

Uyarı

Dağıtılan uygulamalarda hata ayıklama anahtarlarını kullanmayın. Anahtarlar, kullanıcı tarafından tanımlanabilir bilgileri ve güvenlik verilerini günlüğe kaydedebilir ve gösterebilir.

iOS/iPadOS LOB uygulamalarında oturum açma

SDK'nın tümleştirilmesi otomatik olarak günlüğe kaydetmeyi etkinleştirmez. Geliştiricinin günlük temsilcisi çerçevesini uygulamak ve uygun günlük çağrılarını yapmak için uygun kodu eklemesi gerekir. Belirli bir uygulama, SDK'ya ve geliştiricinin gereksinimlerine bağlı olarak değişir.

Geliştiricinin yapması gerekenler:

  • Günlüğe müşteri tarafından tanımlanabilen veya son kullanıcı kişisel verilerini eklemediklerinden emin olun. Gizlilik düzenlemelerine uymaları gerekir.

  • Kuruluşun şirket/kuruluş gizlilik ekibine başvurun ve bu ekiple çalışın. Gizlilik ekibi, günlüğe kaydedilebilecek uygun veriler ve hassas verileri işlemenin uygun yolları hakkında rehberlik sağlayabilir.

Uyarı

Günlüğe kaydetme ve veri gizliliğiyle ilgili belirli yönergeler için MAM için Microsoft Tunnel iOS SDK gizlilik belgelerine (GitHub'da bir PDF dosyası açar) başvurun.

MAM-Tunnel günlük temsilcisi yöntemi örneği

macOS cihazında Xcode'da örnek bir Microsoft Tunnel günlük temsilcisi yöntemini gösteren ekran görüntüsü.

macOS cihazında Xcode'da örnek bir Microsoft Tunnel günlük çıkışını gösteren ekran görüntüsü.

Mobil Uygulama Yönetimi için Microsoft Tunnel Gizlilik bilgileri

Gizliliğiniz bizim için önemlidir. Gizlilikle ilgili aşağıdaki çevrimiçi belgeleri gözden geçirin:

MAM için Microsoft Tunnel iOS SDK'sını mobil uygulamalarla tümleştirirken, bir geliştirici tarafından aşağıdaki veriler toplanır:

  • Uygulamadaki Intune MAM telemetri modülünü etkinleştirir

Toplanan veriler aşağıdaki alanları içerebilir:

  • MAM için Microsoft Tunnel SDK sürümü
  • Microsoft tarafından oluşturulan kullanıcı bilgileri
    • Cihaz Kimliği
  • Donanım ve yazılım bilgileri
    • Cihaz yapma
    • Cihaz modeli
    • Cihaz işletim sistemi sürümü
  • Yönetici ve hesap bilgileri
    • kiracı kimliğini Intune
    • kiracı kimliğini Microsoft Entra
  • Kullanım ölçümü:
    • VPN başlatma
    • VPN bağlantısı ve bağlantı kesme olayları
  • Hata bilgileri
    • VPN bağlantısı hatasıyla ilgili hatalar

Kullanıcı tanımlanabilir bilgi toplanmaz.

Önemli

Bir geliştirici olarak, SDK'yı tümleştirirken uygulamanızdaki iletileri ele almak ve yakalamak için kod kullanırken kullanıcı tarafından tanımlanabilir veri eklememek önemlidir.

Bilinen sorunlar

Daha bilinen sorunlar için iOS/iPadOS için MAM için Microsoft Tunnel - Intune yönetici kılavuzuna gidin.

Sonraki adımlar

iOS/iPadOS için MAM için Microsoft Tunnel - Intune yönetici kılavuzu