Sdílet prostřednictvím


Microsoft Tunnel for MAM iOS SDK – příručka pro vývojáře

Poznámka

Tato funkce je dostupná, když jako doplňkovou licenci přidáte Microsoft Intune Plan 2 nebo Microsoft Intune Suite. Další informace najdete v tématu Použití funkcí doplňků sady Intune.

Příručka pro vývojáře sady Microsoft Tunnel for MAM pro iOS SDK je prostředkem pro vývojáře. Pomáhá vývojářům integrovat a nakonfigurovat sadu SDK do aplikace pro iOS/iPadOS. Přehled tunelu Microsoft pro MAM najdete v tématu Microsoft Tunnel for MAM pro iOS/iPadOS – příručka pro správce Intune.

Tato příručka popisuje různé části procesu integrace v projektu aplikace Xcode, včetně instalace rozhraní, konfigurace info.plist souboru, nastavení sestavení, sdílení klíčů a implementace metod delegáta sady SDK.

Tyto komponenty jsou důležité při vývoji aplikace pro iOS/iPadOS. Vývojáři musí vědět, jak procházet a konfigurovat komponenty sady SDK. Pokud s vývojem aplikací pro Xcode a iOS/iPadOS začínáte, může vám pomoct tento průvodce. Poskytuje přehled o tom, kde najít různé komponenty sady SDK a jak tyto prvky používat v projektech aplikací.

Tato funkce platí pro:

  • iOS/iPadOS

Co je v úložišti SDK

Úložiště sady SDK obsahuje následující architektury. Tyto architektury přidáte do projektu aplikace v pozdějším kroku:

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

Požadavky

Pokud chcete použít Microsoft Tunnel for MAM iOS SDK, musíte splnit následující požadavky:

  • Počítač s macOS s nainstalovaným Xcode 14.0 nebo novějším

  • Vaše obchodní aplikace pro iOS/iPadOS musí být určená pro iOS/iPadOS 14.0 nebo novější.

  • Existují dvě sady GitHub SDK, které musíte stáhnout a integrovat s aplikací pro iOS v Xcode. Než budete pokračovat se sadou Microsoft Tunnel for MAM iOS SDK, ujistěte se, že se úspěšně sestavily následující projekty:

    1. Intune App SDK pro iOS (otevře web GitHubu): Nainstalujte minimálně verzi 16.1.1.

      Na tomto webu si také projděte soubor Licenční podmínky Pro Intune App SDK pro iOS .

      Pokud chcete mít záznamy, uložte si kopii licenčních podmínek. Stažením a používáním sady Microsoft Tunnel for MAM iOS SDK vyjadřujete souhlas s licenčními podmínkami. Pokud s licenčními podmínkami nesouhlasíte, software nepoužívejte.

    2. Microsoft Authentication Library (MSAL) ( otevře web GitHubu): Nainstalujte minimálně verzi 1.2.3.

  • Nainstalujte a nastavte sadu Microsoft Tunnel for MAM iOS SDK (otevře web GitHubu). Tento článek se zaměřuje na tuto sadu SDK.

    Důležité

    Intune pravidelně vydává aktualizace microsoft tunnelu pro sadu MAM iOS SDK. Pravidelně kontrolujte aktualizace v Microsoft Tunnelu pro sadu MAM iOS SDK . Přidejte tyto aktualizace do cyklu vydávání verzí softwaru. Chcete mít jistotu, že vaše aplikace podporují aktualizace a vylepšení funkcí služby Microsoft Tunnel Gateway.

Jak funguje Microsoft Tunnel for MAM iOS SDK

Tunel pro sadu MAM iOS SDK umožňuje aplikacím pro iOS/iPadOS navázat připojení VPN "v aplikaci". Připojení VPN existuje pouze v rámci aplikace.

Abychom to shrnuli, tato připojení VPN v aplikaci jsou:

  • Diskrétní připojení VPN, nikoli připojení VPN na úrovni zařízení
  • Vymezeno pouze na aplikační síťovou vrstvu

Když aplikace provede síťové volání, sada SDK zachytí síťové volání a naváže připojení VPN. Toto připojení VPN v aplikaci se nezobrazuje v aplikaci Nastavení na zařízení s iOS/iPadOS.

Architektura: Tunel pro SADU MAM iOS SDK

Následující obrázek popisuje tok ze spravované aplikace, která je úspěšně integrovaná se sadou Tunnel for MAM iOS SDK:

Výkres brány Microsoft Tunnel Gateway pro MAM v architektuře iOS/iPadOS v Microsoft Intune

  1. Při počátečním spuštění aplikace se vytvoří připojení pomocí microsoft tunnelu pro sadu MAM SDK pro iOS.

  2. Tunel získá ověřovací token zařízení z Microsoft Entra ID.

    Pokud se zařízení přihlásilo k jiné aplikaci s podporou MAM, jako je Outlook, Edge nebo mobilní aplikace Microsoft 365, je možné, že už má ověřovací token Microsoft Entra. Pokud již existuje platný ověřovací token, použije se existující token.

  3. Dojde k připojení TCP, což je metoda handshake protokolu TLS mezi tokenem a serverem tunelu.

  4. Pokud je ve službě Microsoft Tunnel Gateway povolený protokol UDP, vytvoří se připojení datového kanálu pomocí DTLS. Pokud je protokol UDP zakázaný, naváže protokol TCP datový kanál na bránu tunelu.

    Další informace najdete v poznámkách k protokolům TCP a UDP v tématu Přehled tunelu Microsoft – architektura.

  5. Když se mobilní aplikace připojí k místnímu podnikovému prostředku:

    1. Žádost o připojení k prostředku společnosti pomocí tunelu Microsoft pro rozhraní API MAM
    2. Vytvoří se šifrovaný webový požadavek, který se odešle do podnikového prostředku.

Úlohy Xcode

Tato část obsahuje seznam a popisuje úlohy Xcode, které musíte dokončit, včetně následujících:

  • Přidání architektur a knihoven
  • Zkontrolujte a aktualizujte následující funkce:
    • info.plistsoubor
    • Nastavení sestavení
    • Sdílení řetězce klíčů
  • Pomocí ukázek aktualizujte projekt Xcode AppDelegate a přidejte soubor delegáta tunelu Microsoft Tunnel.

Krok 1 – přidání architektur a knihoven

Následující architektury zahrnují nezbytná rozhraní API a metody delegování pro komunikaci se službou Intune Microsoft Tunnel Gateway. Implementují v rámci aplikace funkce Microsoft Tunnel VPN.

Pokud chcete povolit tunel pro sadu MAM iOS SDK, postupujte následovně:

  1. Stáhněte a extrahujte sadu Tunnel for MAM iOS SDK do složky na počítači s macOS. Tato úloha je také uvedena v části Požadavky.

    Zkopírujte následujících devět architektur do složky architektury projektů aplikací Xcode:

    • crypto.xcframework
    • MCPCommon.xcframework
    • MCPCore.xcframework
    • MCPPluginUnencryptedFile.xcframework
    • MicrosoftTunnelApi.xcframework
    • MSTAPNextPluginSecurityOpenssl.xcframework
    • MSTAPNextPluginSwiftSupport.xcframework
    • MSTAPNextPluginVpnMicrosoftTunnel.xcframework
    • ssl.xcframework
  2. V projektu Xcode vyberte projekt > aplikace Přidat soubory. V následujícím příkladu se soubory přidají do projektu aplikace s názvem "Flash Chat":

    Obrazovka ukazující, jak přidat soubory do projektu aplikace v Xcode na zařízení s macOS

  3. V části CÍLE PROJEKTU> vyberte Build Phases>Embed Frameworks. Přidejte (+) všech devět architektur:

    Snímek obrazovky znázorňující vkládání architektur v Xcode na zařízení s macOS

    Následující příklad ukazuje všech devět přidaných architektur:

    Snímek obrazovky znázorňující všechny architektury Microsoft Tunnelu vložené v Xcode na zařízení s macOS

  4. V části CÍLE PROJEKTU> vyberte Fáze sestavení>Propojit binární soubor s knihovnami. V seznamu by se měla přidat jenom MicrosoftTunnelApi.xcframework architektura. Pokud jsou uvedené jiné architektury, odeberte je pomocí minus (-):

    Snímek obrazovky, který ukazuje, jak na zařízení s macOS odebrat architektury v nástroji Link Binary s knihovnami v Xcode

Krok 2 – aktualizace info.plist souboru

info.plist V projektu aplikace Xcode potvrďte následující nastavení:

  • ID sady prostředků: Ujistěte se, že stejné ID sady prostředků uvedené v registraci aplikace Microsoft Entra pro mobilní aplikaci pro iOS je stejné ID sady ve vašem projektu aplikace:

    Pokud chcete zkontrolovat ID sady:

    1. Přejděte na OBECNÉCÍLE>PROJEKTU>.

    2. VyberteIdentifikátor sady identit>:

      Snímek obrazovky znázorňující výběr projektu, cílů, obecného a identity pro přidání ID sady v Xcode na zařízení s macOS

  • Typy adres URL: V části CÍLE PROJEKTU> vyberte Informace.

    V části Typy adres URL ověřte, že $(PRODUCT_BUNDLE_IDENTIFIER) proměnná existuje. Když jste integrovali sadu Intune App SDK pro iOS s projektem aplikace (povinný předpoklad), měla být tato proměnná vytvořena.

    Pokud tam proměnná není, musíte ji přidat:

    1. Pomocí sady Intune App SDK pro iOS (požadovaná součást) vytvořte info.plist vlastnost Array a pojmenujte ji Schémata adres URL s dotazem.

      Přidejte položky řetězce uvedené v příručce pro vývojáře sady Intune App SDK pro iOS – krok 5. Tento krok vytvoří schémata adres URL sady Intune MAM SDK.

      Následující příklad ukazuje soubor info.plist používající schémata adres URL s dotazy:

      Snímek obrazovky znázorňující výběr hodnot schémat projektů, cílů, informací a dotazovaných adres URL v Xcode na zařízení s macOS

    2. Přidejte proměnnou $(PRODUCT_BUNDLE_IDENTIFIER) .

      Následující příklad ukazuje proměnnou $(PRODUCT_BUNDLE_IDENTIFIER) v typech adres URL:

      Snímek obrazovky znázorňující výběr typu projekt, cíle, informace, adresy URL v Xcode na zařízení s macOS

  • IntuneMAMSettings: Ověřte, že jsou následující nastavení MSAL nakonfigurovaná s příslušnými hodnotami registrace aplikace Microsoft Entra:

    1. Přejděte nainformace oCÍLECH>PROJEKTU>.

    2. Vyberte IntuneMAMSettings. Potvrďte nastavení:

      • ADALAuthority: Zadejte ID tenanta Microsoft Entra, například https://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID.
      • ADALClientId: Zadejte ID klienta aplikace.
      • ADALRedirectUri: Zadejte msauth.$(PRODUCT_BUNDLE_IDENTIFIER):/auth.

    Když jste sadu Intune App SDK pro iOS integrovali do projektu aplikace (požadovaný předpoklad), měla být tato nastavení nakonfigurovaná.

    Pokud tato nastavení nejsou nakonfigurovaná, musíte je nakonfigurovat. Pokud chcete vytvořit vlastnost slovníku IntuneMAMSettings info.plist a přidružené řetězce knihovny Microsoft Authentication Library, postupujte podle pokynů pro vývojáře sady Intune App SDK pro iOSv tématuKonfigurace nastavení MSAL pro Sadu Intune App SDK .

    Následující příklad ukazuje tyto nakonfigurované hodnoty:

    Snímek obrazovky znázorňující výběr projektu, cílů, informací, IntuneMAMNastavení v Xcode na zařízení s macOS

Krok 3 – Vypnutí bitového kódu

  1. Přejděte do části PROJECT>TARGETS>– Nastavení sestavení.
  2. Vyberte Možnosti> sestaveníPovolit bitcode.
  3. Vyberte Ne.

Snímek obrazovky znázorňující výběr projektu, cílů, nastavení sestavení, možností sestavení a zakázání bitcode v Xcode na zařízení s macOS

Krok 4 – přidání sdílení řetězce klíčů

Sdílení řetězce klíčů se může nebo nemusí v projektu aplikace vyskytovat. Pokud tam není, přidejte ho:

  1. Přejděte do části Funkcepodepisování &PROJECT>TARGETS>.
  2. Vyberte Sdílení řetězce klíčů.
  3. V seznamu Skupiny řetězce klíčů přidejte (+) com.microsoft.workplacejoin.

Snímek obrazovky znázorňující výběr projektu, cílů, možností podepisování &, sdílení řetězce klíčů a přidání skupiny řetězce klíčů v Xcode na zařízení s macOS

Krok 5 – integrace sady SDK s vaší aplikací

✔️ Použijte ukázkovou TunnelMAMTestApp2.xcproject aplikaci.

V závislosti na obchodní aplikaci a její implementaci nebo zamýšleném účelu MicrosoftTunnelApi se může použití aplikace lišit. Při integraci sady SDK s vaší aplikací je potřeba znát několik základních funkcí:

  • Všechny interakce se sadou Microsoft Tunnel for MAM iOS SDK se zpracovávají prostřednictvím objektu MicrosoftTunnelAPI singleton.
  • Objekt MicrosoftTunnelAPI komunikuje s aplikací pomocí delegáta, který implementuje MicrosoftTunnelDelegate rozhraní. 

Pokud chcete pochopit, jak napsat delegáta Microsoft Tunnel a jak inicializovat MicrosoftTunnelAPI, použijte ukázkové aplikace Microsoft Tunnel for MAM iOS SDK (otevře web GitHubu).

V ukázkových aplikacích se v projektu Xcode AppDelegate zobrazuje:

  • Zpracování zpětných volání adres URL MSAL
  • Jak spustit proces registrace a inicializace vyžadovaný pro tunel

Začněte tím, že TunnelMAMTestApp2.xcproject otevřete ukázkovou aplikaci a podíváte se na appDelegate & MicrosoftTunnelDelegate v projektu aplikace.

Ukázkové aplikace

✔️ Stáhněte si ukázkové aplikace Microsoft Tunnel for MAM iOS SDK (otevře web GitHubu).

Tyto ukázkové aplikace vám můžou pomoct začít a pokrýt různé scénáře.

Metody MicrosoftTunnelAPI

Zahrnuje MicrosoftTunnelAPI následující metody:

  • Initialize – Zkontroluje a nastaví konfigurace SÍTĚ VPN, nastaví protokolování a nastaví MicrosoftTunnelAPI instanci.

  • Connect – Získá MicrosoftTunnelAPI instanci a povolí zachycování síťového provozu. Pokud není rozhraní API neinicializované, zobrazí se chyba.

  • Disconnect – Získá MicrosoftTunnelAPI instanci a zakáže zachycování síťového provozu. Pokud není rozhraní API neinicializované, zobrazí se chyba.

  • onTokenRequired –Volitelný. Pokud se vaše aplikace už integruje s knihovnou IntuneMAM MSAL nebo , budete muset implementovat tuto onTokenRequired metodu. Tato metoda používá IntuneMAMSettings a MSAL k získání platného ověřovacího tokenu pro připojení ke službě Microsoft Tunnel Gateway.

  • Logging– Existují různé třídy protokolování označené .k Například kLoggingClassConnect vytvoří výstup protokolování v konzole Xcode. Tyto konfigurační klíče protokolování je možné přidat do konfigurace delegáta. V ukázkových aplikacích je několik příkladů těchto tříd protokolování.

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

Upozornění

Nepoužívejte ladicí klíče v nasazených aplikacích. Klíče můžou protokolovat a zobrazovat identifikovatelné informace uživatele a bezpečnostní data.

Protokolování obchodních aplikací pro iOS/iPadOS

Integrace sady SDK nepovoluje automaticky protokolování. Vývojář musí přidat odpovídající kód pro implementaci rozhraní delegáta protokolování a provést příslušná volání protokolování. Konkrétní implementace se liší v závislosti na sadě SDK a požadavcích vývojáře.

Vývojář by měl:

  • Ujistěte se, že do protokolování nezahrnou žádné identifikovatelné osobní údaje zákazníka nebo koncového uživatele. Musí dodržovat předpisy o ochraně osobních údajů.

  • Obraťte se na tým ochrany osobních údajů společnosti nebo organizace a spolupracujte s ním. Tým ochrany osobních údajů může poskytnout pokyny týkající se vhodných dat, která je možné protokolovat, a vhodných způsobů zpracování citlivých dat.

Upozornění

Konkrétní pokyny týkající se protokolování a ochrany osobních údajů dat najdete v dokumentaci k sadě Microsoft Tunnel for MAM iOS SDK (otevře soubor PDF na GitHubu).

Příklad metody delegáta protokolu MAM-Tunnel

Snímek obrazovky znázorňující ukázkovou metodu delegáta protokolu tunelového propojení Microsoft v Xcode na zařízení s macOS

Snímek obrazovky znázorňující výstup protokolu Microsoft Tunnelu v Xcode na zařízení s macOS

Informace o ochraně osobních údajů pro správu mobilních aplikací v tunelu Microsoft

Vaše soukromí je pro nás důležité. Projděte si následující online dokumentaci související s ochranou osobních údajů:

Při integraci sady Microsoft Tunnel for MAM iOS SDK do mobilních aplikací se při vývojáři shromažďují následující data:

  • Povolí v aplikaci modul telemetrie MAM v Intune.

Shromažďovaná data můžou zahrnovat následující oblasti:

  • Verze sady Microsoft Tunnel for MAM SDK
  • Informace o uživateli vygenerované Microsoftem
    • ID zařízení
  • Informace o hardwaru a softwaru
    • Make zařízení
    • Model zařízení
    • Verze operačního systému zařízení
  • Informace o správci a účtu
    • ID tenanta Intune
    • ID tenanta Microsoft Entra
  • Měření využití:
    • Inicializace sítě VPN
    • Události připojení a odpojení SÍTĚ VPN
  • Informace o chybě
    • Chyby související se selháním připojení VPN

Neshromažďuje se žádné identifikovatelné informace o uživateli.

Důležité

Jako vývojář je při integraci sady SDK důležité nezahrnovat žádná identifikovatelná data uživatele při použití kódu k adresování a zachytávání zpráv ve vaší aplikaci.

Známé problémy

Další známé problémy najdete v příručce pro správce Microsoft Tunnel for MAM pro iOS/iPadOS – Intune.

Další kroky

Microsoft Tunnel for MAM pro iOS/iPadOS – příručka pro správce Intune