ontwikkelaarshandleiding voor Microsoft Tunnel voor MAM iOS SDK

Opmerking

Deze mogelijkheid is beschikbaar wanneer u Microsoft Intune Abonnement 2 of Microsoft Intune Suite toevoegt als een invoegtoepassingslicentie. Zie Invoegtoepassingsmogelijkheden van Intune Suite gebruiken voor meer informatie.

De ontwikkelaarshandleiding voor Microsoft Tunnel voor MAM iOS SDK is een resource voor ontwikkelaars. Hiermee kunnen ontwikkelaars de SDK integreren en configureren in een iOS-/iPadOS-app. Ga voor een overzicht van de Microsoft Tunnel voor MAM naar Microsoft Tunnel voor MAM voor iOS/iPadOS - Intune beheerdershandleiding.

Deze handleiding behandelt verschillende onderdelen van het integratieproces in uw Xcode-app-project, waaronder het installeren van de frameworks, het configureren van het info.plist bestand, build-instellingen, het delen van sleutels en het implementeren van de gedelegeerde methoden van de SDK.

Deze onderdelen zijn essentieel bij de ontwikkeling van een iOS-/iPadOS-app. Ontwikkelaars moeten begrijpen hoe ze de SDK-onderdelen kunnen navigeren en configureren. Als u geen gebruik hebt gemaakt van de ontwikkeling van Xcode- en iOS-/iPadOS-apps, kan deze handleiding u helpen. Het biedt een overzicht van waar u de verschillende SDK-onderdelen kunt vinden en hoe u deze elementen in uw app-projecten kunt gebruiken.

Deze functie is van toepassing op:

  • iOS/iPadOS

Wat is er in de SDK-opslagplaats?

De SDK-opslagplaats bevat de volgende frameworks. In een latere stap voegt u deze frameworks toe aan uw app-project:

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

Voorwaarden

Als u de Microsoft Tunnel voor MAM iOS SDK wilt gebruiken, zijn de volgende vereisten vereist:

  • Een macOS-computer waarop Xcode 14.0 of hoger is geïnstalleerd

  • Uw LOB-app (Line-Of-Business) voor iOS/iPadOS moet zijn gericht op iOS/iPadOS 14.0 of hoger.

  • Er zijn twee GitHub SDK's die u moet downloaden en integreren met uw iOS-app in Xcode. Zorg ervoor dat de volgende projecten zijn gebouwd voordat u doorgaat met de Microsoft Tunnel voor MAM iOS SDK:

    1. Intune App SDK voor iOS (hiermee opent u een GitHub-site): installeer minimaal versie 16.1.1.

      Bekijk op deze site ook het Bestand Microsoft-licentievoorwaarden Intune App SDK voor iOS.

      Bewaar voor uw administratie een kopie van de licentievoorwaarden. Door de Microsoft Tunnel voor MAM iOS SDK te downloaden en te gebruiken, gaat u akkoord met de licentievoorwaarden. Als u de licentievoorwaarden niet accepteert, gebruikt u de software niet.

    2. Microsoft Authentication Library (MSAL) (hiermee opent u een GitHub-site): installeer minimaal versie 1.2.3.

  • Installeer en stel de Microsoft Tunnel voor MAM iOS SDK in (hiermee opent u een GitHub-site). Deze SDK is de focus van dit artikel.

    Belangrijk

    Intune brengt regelmatig updates uit voor de Microsoft Tunnel voor MAM iOS SDK. Controleer regelmatig de Microsoft Tunnel voor MAM iOS SDK op updates. Voeg deze updates toe aan uw releasecyclus voor softwareontwikkeling. U wilt ervoor zorgen dat uw apps de Microsoft Tunnel Gateway-updates en functieverbeteringen ondersteunen.

Hoe de Microsoft Tunnel voor MAM iOS SDK werkt

Met de Tunnel for MAM iOS SDK kunnen iOS-/iPadOS-apps een 'in-app'-VPN-verbinding tot stand brengen. De VPN-verbinding bestaat alleen in de app.

Samenvattend zijn deze VPN-verbindingen in de app:

  • Discrete VPN-verbindingen op apparaatniveau
  • Alleen bereik voor de netwerklaag van de toepassing

Wanneer een app een netwerkaanroep doet, onderschept de SDK de netwerkaanroep en brengt de VPN-verbinding tot stand. Deze VPN-verbinding in de app wordt niet weergegeven in de app Instellingen op het iOS-/iPadOS-apparaat.

Architectuur: Tunnel voor MAM iOS SDK

In de volgende afbeelding wordt de stroom van een beheerde app beschreven die is geïntegreerd met Tunnel for MAM iOS SDK:

Tekening van de Architectuur van Microsoft Tunnel Gateway voor MAM op iOS/iPadOS in Microsoft Intune.

  1. Wanneer de app in eerste instantie wordt gestart, wordt er verbinding gemaakt met behulp van de Microsoft Tunnel voor MAM SDK voor iOS.

  2. De tunnel haalt een apparaatverificatietoken op van Microsoft Entra ID.

    Als het apparaat is aangemeld bij een andere mam-app, zoals Outlook, Edge of de mobiele Microsoft 365-app, heeft het apparaat mogelijk al een Microsoft Entra-verificatietoken. Als er al een geldig verificatietoken bestaat, wordt het bestaande token gebruikt.

  3. Er wordt een TCP-verbinding gemaakt. Dit is een TLS-handshake tussen het token en de tunnelserver.

  4. Als UDP is ingeschakeld op de Microsoft Tunnel Gateway, wordt er een gegevenskanaalverbinding gemaakt met behulp van DTLS. Als UDP is uitgeschakeld, wordt het gegevenskanaal naar de tunnelgateway door TCP ingesteld.

    Ga voor meer informatie naar de TCP- en UDP-notities in het Overzicht van Microsoft Tunnel - architectuur.

  5. Wanneer de mobiele app verbinding maakt met een on-premises bedrijfsresource:

    1. Een Microsoft Tunnel voor MAM-API vraagt om verbinding te maken met de bedrijfsresource.
    2. Er wordt een versleutelde webaanvraag gemaakt en verzonden naar de bedrijfsresource.

Xcode-taken

In deze sectie worden de Xcode-taken beschreven die u moet uitvoeren, waaronder:

  • De frameworks en bibliotheken toevoegen
  • Bekijk en werk de volgende functies bij:
    • info.plistBestand
    • Build-instellingen
    • Sleutelhanger delen
  • Gebruik de voorbeelden om het Xcode AppDelegate-project bij te werken en een Microsoft Tunnel-gemachtigdenbestand toe te voegen

Stap 1: de frameworks en bibliotheken toevoegen

De volgende frameworks bevatten de benodigde API's en delegeringsmethoden voor communicatie met de Intune Microsoft Tunnel Gateway. Ze implementeren de Microsoft Tunnel VPN-functies in de app.

Voer de volgende stappen uit om de Tunnel for MAM iOS SDK in te schakelen:

  1. Download en pak de Tunnel voor MAM iOS SDK uit naar een map op een macOS-computer. Deze taak wordt ook vermeld in vereisten.

    Kopieer de volgende negen frameworks naar de map Xcode-app-projectframeworks:

    • crypto.xcframework
    • MCPCommon.xcframework
    • MCPCore.xcframework
    • MCPPluginUnencryptedFile.xcframework
    • MicrosoftTunnelApi.xcframework
    • MSTAPNextPluginSecurityOpenssl.xcframework
    • MSTAPNextPluginSwiftSupport.xcframework
    • MSTAPNextPluginVpnMicrosoftTunnel.xcframework
    • ssl.xcframework
  2. Selecteer in het Xcode-project uw app-project >Bestanden toevoegen. In het volgende voorbeeld worden bestanden toegevoegd aan een app-project met de naam 'Flash Chat':

    Scherm dat laat zien hoe u bestanden toevoegt aan het app-project in Xcode op een macOS-apparaat.

  3. Selecteer in PROJECTDOELEN>de optie Build Phases>Embed Frameworks. Voeg (+) alle negen frameworks toe:

    Schermopname van het insluiten van frameworks in Xcode op een macOS-apparaat.

    In het volgende voorbeeld ziet u alle negen frameworks die zijn toegevoegd:

    Schermopname van alle Microsoft Tunnel-frameworks die zijn ingesloten in Xcode op een macOS-apparaat.

  4. Selecteer in PROJECTDOELEN>de optie Buildfasen>Binair bestand koppelen met bibliotheken. In de lijst moet alleen het MicrosoftTunnelApi.xcframework framework worden toegevoegd. Als andere frameworks worden vermeld, verwijdert u deze met het minteken (-):

    Schermopname die laat zien hoe u frameworks verwijdert in Binaire bestanden koppelen met bibliotheken in Xcode op een macOS-apparaat.

Stap 2: het bestand bijwerken info.plist

Bevestig in het info.plist voor het Xcode-app-project de volgende instellingen:

  • Bundel-id: zorg ervoor dat dezelfde bundel-id die wordt vermeld in de Microsoft Entra App-registratie voor de mobiele iOS-app dezelfde bundel-id is in uw app-project:

    De bundel-id controleren:

    1. Ga naar PROJECTDOELEN>>Algemeen.

    2. Id van identiteitsbundel>selecteren:

      Schermopname van het selecteren van project, doelen, algemeen en identiteit om de bundel-id toe te voegen in Xcode op een macOS-apparaat.

  • URL-typen: selecteer in PROJECTDOELEN>de optie Info.

    Controleer in URL-typen of de $(PRODUCT_BUNDLE_IDENTIFIER) variabele er is. Wanneer u de Intune App SDK voor iOS hebt geïntegreerd met uw app-project (een vereiste), moet deze variabele zijn gemaakt.

    Als de variabele niet aanwezig is, moet u deze toevoegen:

    1. Maak met behulp van de Intune App SDK voor iOS (een vereiste vereiste) een info.plistmatrixeigenschap en geef deze de naam Queryd URL Schemes.

      Voeg de tekenreeksitems toe die worden vermeld in de ontwikkelaarshandleiding voor Intune App SDK voor iOS - Stap 5. Met deze stap worden de Intune MAM SDK-URL-schema's gemaakt.

      In het volgende voorbeeld ziet u de info.plist met behulp van query's met URL-schema's:

      Schermopname van het selecteren van waarden voor project, doelen, info, url-schema's opgevraagd in Xcode op een macOS-apparaat.

    2. Voeg de $(PRODUCT_BUNDLE_IDENTIFIER) variabele toe.

      In het volgende voorbeeld ziet u de $(PRODUCT_BUNDLE_IDENTIFIER) variabele in URL-typen:

      Schermopname van het selecteren van project, doelen, info, URL-typen in Xcode op een macOS-apparaat.

  • IntuneMAMSettings: controleer of de volgende MSAL-instellingen zijn geconfigureerd met de juiste Microsoft Entra app-registratiewaarden:

    1. Ga naar INFORMATIEOVER PROJECTDOELEN>>.

    2. Selecteer IntuneMAMInstellingen. Bevestig uw instellingen:

      • ADALAuthority: Voer de Microsoft Entra tenant-id in, zoals https://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID.
      • ADALClientId: Voer de client-id van de toepassing in.
      • ADALRedirectUri: Voer in msauth.$(PRODUCT_BUNDLE_IDENTIFIER):/auth.

    Wanneer u de Intune App SDK voor iOS hebt geïntegreerd met uw app-project (een vereiste), moeten deze instellingen zijn geconfigureerd.

    Als deze instellingen niet zijn geconfigureerd, moet u ze configureren. Als u de intuneMAMSettings-woordenlijsteigenschap info.plist en de bijbehorende Microsoft Authentication Library-tekenreeksen wilt maken, volgt u de ontwikkelaarshandleiding voor Intune App SDK voor iOS (een vereiste) in MSAL-instellingen configureren voor Intune App SDK-richtlijnen.

    In het volgende voorbeeld ziet u de volgende waarden die zijn geconfigureerd:

    Schermopname van het selecteren van project, doelen, info, IntuneMAMSetting in Xcode op een macOS-apparaat.

Stap 3: Bitcode uitschakelen

  1. Ga naarBUILD-instellingenvoor PROJECTDOELEN>>.
  2. Selecteer Buildopties>Bitcode inschakelen.
  3. Selecteer Nee.

Schermopname van het selecteren van project, doelen, build-instellingen, build-opties en het uitschakelen van bitcode in Xcode op een macOS-apparaat.

Stap 4: sleutelhanger delen toevoegen

Het delen van sleutelhangers is al dan niet aanwezig in het app-project. Als deze niet aanwezig is, voegt u deze toe:

  1. Ga naar MOGELIJKHEDENvoorondertekening van PROJECTDOELEN>> &.
  2. Selecteer Sleutelhanger delen.
  3. Voeg in de lijst Sleutelhangergroepen (+) com.microsoft.workplacejointoe.

Schermopname van het selecteren van project, doelen, mogelijkheden voor ondertekening &, het delen van sleutelhangers en het toevoegen van een sleutelhangergroep in Xcode op een macOS-apparaat.

Stap 5: de SDK integreren met uw app

✔️ Gebruik de TunnelMAMTestApp2.xcproject voorbeeld-app.

Afhankelijk van de LOB-app en de implementatie/het beoogde doel, kan het gebruik van de MicrosoftTunnelApi variëren. Er zijn enkele belangrijke functies die u moet kennen terwijl u de SDK integreert met uw app:

  • Alle interacties met de Microsoft Tunnel voor MAM iOS SDK worden verwerkt via een MicrosoftTunnelAPI singleton-object.
  • Het MicrosoftTunnelAPI object communiceert met de app met behulp van een gemachtigde die een MicrosoftTunnelDelegate interface implementeert. 

Als u wilt weten hoe u de Microsoft Tunnel-gemachtigde schrijft en hoe u de MicrosoftTunnelAPIinitialiseert, gebruikt u de Microsoft Tunnel voor MAM iOS SDK-voorbeeld-apps (hiermee opent u een GitHub-site).

In de voorbeeld-apps wordt in het Xcode-project AppDelegate het volgende weergegeven:

  • How to handle MSAL URL callbacks (Callbacks van MSAL-URL's verwerken)
  • Het inschrijvings- en initialisatieproces starten dat vereist is voor Tunnel

Open om aan de slag te gaan de TunnelMAMTestApp2.xcproject voorbeeld-app en bekijk de AppDelegate & MicrosoftTunnelDelegate in het app-project.

Voorbeeld-apps

✔️ Download op Microsoft Tunnel voor MAM iOS SDK-voorbeeld-apps (hiermee wordt een GitHub-site geopend).

Deze voorbeeld-apps kunnen u op weg helpen en verschillende scenario's behandelen.

MicrosoftTunnelAPI-methoden

De MicrosoftTunnelAPI bevat de volgende methoden:

  • Initialize – Controleert en stelt de VPN-configuraties in, stelt logboekregistratie in en stelt het MicrosoftTunnelAPI exemplaar in.

  • Connect – Haalt het MicrosoftTunnelAPI exemplaar op en maakt het onderscheppen van netwerkverkeer mogelijk. Als de API niet is geïnitialiseerd, wordt er een fout weergegeven.

  • Disconnect - Haalt het MicrosoftTunnelAPI exemplaar op en schakelt het onderscheppen van netwerkverkeer uit. Als de API niet is geïnitialiseerd, wordt er een fout weergegeven.

  • onTokenRequired –Optionele. Als uw app al is geïntegreerd met een van beide IntuneMAM of MSAL, moet u deze onTokenRequired methode implementeren. Deze methode gebruikt msal IntuneMAMSettings om een geldig verificatietoken op te halen om verbinding te maken met de Microsoft Tunnel Gateway.

  • Logging – Er zijn enkele verschillende logboekregistratieklassen, aangeduid met k. Hiermee maakt u bijvoorbeeld kLoggingClassConnect logboekregistratie-uitvoer in de Xcode-console. Deze configuratiesleutels voor logboekregistratie kunnen worden toegevoegd aan de gedelegeerde configuratie. Er zijn enkele voorbeelden van deze logboekregistratieklassen in de voorbeeld-apps.

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

Waarschuwing

Gebruik geen foutopsporingssleutels in geïmplementeerde apps. Met de sleutels kunnen gebruikersgegevens en beveiligingsgegevens worden geregistreerd en weergegeven.

Logboekregistratie voor iOS-/iPadOS LOB-apps

Als u de SDK integreert, wordt logboekregistratie niet automatisch ingeschakeld. De ontwikkelaar moet de juiste code toevoegen om het logboekregistratiedelegenframework te implementeren en de juiste logboekregistratie-aanroepen te doen. De specifieke implementatie varieert, afhankelijk van de SDK en de vereisten van de ontwikkelaar.

De ontwikkelaar moet het volgende doen:

  • Zorg ervoor dat ze geen klantidentificeerbare of persoonlijke gegevens van eindgebruikers opnemen in hun logboekregistratie. Ze moeten voldoen aan de privacyvoorschriften.

  • Raadpleeg en werk met het privacyteam van het bedrijf/de organisatie van de organisatie. Het privacyteam kan richtlijnen geven over de juiste gegevens die kunnen worden geregistreerd en de juiste manieren om gevoelige gegevens te verwerken.

Waarschuwing

Raadpleeg de Microsoft Tunnel voor MAM iOS SDK-privacydocumentatie (opent een PDF-bestand in GitHub) voor specifieke richtlijnen met betrekking tot logboekregistratie en gegevensprivacy.

voorbeeld van MAM-Tunnel logboekdelegenmethode

Schermopname van een voorbeeld van een Microsoft Tunnel-methode voor gemachtigden in Xcode op een macOS-apparaat.

Schermopname van een voorbeeld van een Microsoft Tunnel-logboekuitvoer in Xcode op een macOS-apparaat.

Privacy-informatie over Microsoft Tunnel for Mobile Application Management

Uw privacy is belangrijk voor ons. Bekijk de volgende onlinedocumentatie met betrekking tot privacy:

Bij het integreren van de Microsoft Tunnel voor MAM iOS SDK in mobiele apps worden de volgende gegevens verzameld wanneer een ontwikkelaar:

  • Hiermee schakelt u de Intune MAM-telemetriemodule in de app in

De verzamelde gegevens kunnen de volgende gebieden omvatten:

  • Microsoft Tunnel voor MAM SDK-versie
  • Door Microsoft gegenereerde gebruikersgegevens
    • Apparaat-id
  • Hardware- en softwaregegevens
    • Apparaat maken
    • Apparaatmodel
    • Versie van apparaatbesturingssystemen
  • Beheer en accountgegevens
    • tenant-id Intune
    • tenant-id Microsoft Entra
  • Gebruiksmeting:
    • VPN-initialisatie
    • Gebeurtenissen voor VPN-verbinding en -verbinding verbreken
  • Foutinformatie
    • Fouten met betrekking tot vpn-verbindingsfouten

Er wordt geen door de gebruiker identificeerbare informatie verzameld.

Belangrijk

Als ontwikkelaar is het belangrijk om bij het integreren van de SDK geen gebruikersidentificeerbare gegevens op te nemen wanneer u code gebruikt om berichten in uw toepassing te adresseren en vast te leggen.

Bekende problemen

Voor meer bekende problemen gaat u naar de Microsoft Tunnel voor MAM voor iOS/iPadOS - Intune beheerdershandleiding.

Volgende stappen

Microsoft Tunnel voor MAM voor iOS/iPadOS - Intune-beheerdershandleiding