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 Mogelijkheden van Intune Suite-invoegtoepassingen 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 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
Vereisten
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:
Intune App SDK voor iOS (hiermee opent u een GitHub-site): installeer minimaal versie 16.1.1.
Bekijk op deze site ook het microsoft-licentievoorwaardenbestand Intune App SDK voor iOS .
Bewaar voor uw administratie een kopie van de licentievoorwaarden. Door de Microsoft Tunnel for 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.
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:
Wanneer de app in eerste instantie wordt gestart, wordt er verbinding gemaakt met behulp van de Microsoft Tunnel for MAM SDK voor iOS.
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.
Er wordt een TCP-verbinding gemaakt. Dit is een TLS-handshake tussen het token en de tunnelserver.
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.
Wanneer de mobiele app verbinding maakt met een on-premises bedrijfsresource:
- Een Microsoft Tunnel voor MAM API-aanvragen om verbinding te maken met de bedrijfsresource.
- 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.plist
bestand - 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:
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
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':
Selecteer in PROJECTDOELEN>de optie Build Phases>Embed Frameworks. Voeg (+) alle negen frameworks toe:
In het volgende voorbeeld ziet u alle negen frameworks die zijn toegevoegd:
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 (-):
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 registratie van de Microsoft Entra-app voor de mobiele iOS-app , dezelfde bundel-id is in uw app-project:
De bundel-id controleren:
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:
Maak met de Intune App SDK voor iOS (een vereiste vereiste) een
info.plist
matrixeigenschap en geef deze de naam Queryd URL Schemes.Voeg de tekenreeksitems toe die worden vermeld in de ontwikkelaarshandleiding voor de Intune App SDK voor iOS - Stap 5. In 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:
Voeg de
$(PRODUCT_BUNDLE_IDENTIFIER)
variabele toe.In het volgende voorbeeld ziet u de
$(PRODUCT_BUNDLE_IDENTIFIER)
variabele in URL-typen:
IntuneMAMSettings: controleer of de volgende MSAL-instellingen zijn geconfigureerd met de juiste registratiewaarden voor de Microsoft Entra-app:
Ga naar INFORMATIEOVER PROJECTDOELEN>>.
Selecteer IntuneMAMInstellingen. Bevestig uw instellingen:
-
ADALAuthority
: Voer de Tenant-id van Microsoft Entra in, zoalshttps://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID
. -
ADALClientId
: Voer de client-id van de toepassing in. -
ADALRedirectUri
: Voer inmsauth.$(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 handleiding voor ontwikkelaars van 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:
Stap 3: Bitcode uitschakelen
- Ga naarBUILD-instellingenvoor PROJECTDOELEN>>.
- Selecteer Buildopties>Bitcode inschakelen.
- Selecteer Nee.
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:
- Ga naar MOGELIJKHEDENvoorondertekening van PROJECTDOELEN>> &.
- Selecteer Sleutelhanger delen.
- Voeg in de lijst Sleutelhangergroepen (+)
com.microsoft.workplacejoin
toe.
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 eenMicrosoftTunnelDelegate
interface implementeert.
Als u wilt weten hoe u de Microsoft Tunnel-gemachtigde schrijft en hoe u de MicrosoftTunnelAPI
initialiseert, gebruikt u de voorbeeld-apps microsoft tunnel voor MAM iOS SDK (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 opent u een GitHub-site).
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 hetMicrosoftTunnelAPI
exemplaar in.Connect
– Haalt hetMicrosoftTunnelAPI
exemplaar op en maakt het onderscheppen van netwerkverkeer mogelijk. Als de API niet is geïnitialiseerd, wordt er een fout weergegeven.Disconnect
- Haalt hetMicrosoftTunnelAPI
exemplaar op en schakelt het onderscheppen van netwerkverkeer uit. Als de API niet is geïnitialiseerd, wordt er een fout weergegeven.onTokenRequired
–Facultatief. Als uw app al is geïntegreerd met een van beideIntuneMAM
of MSAL, moet u dezeonTokenRequired
methode implementeren. Deze methode gebruikt msalIntuneMAMSettings
om een geldig verificatietoken op te halen om verbinding te maken met de Microsoft Tunnel Gateway.Logging
– Er zijn enkele verschillende logboekregistratieklassen, aangeduid metk
. Hiermee maakt u bijvoorbeeldkLoggingClassConnect
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 privacydocumentatie voor Microsoft Tunnel voor MAM iOS SDK (opent een PDF-bestand in GitHub) voor specifieke richtlijnen met betrekking tot logboekregistratie en gegevensprivacy.
voorbeeld van MAM-Tunnel logboekdelegenmethode
Privacy-informatie over Microsoft Tunnel for Mobile Application Management
Uw privacy is belangrijk voor ons. Bekijk de volgende onlinedocumentatie met betrekking tot privacy:
- Privacyverklaring van Microsoft
- Privacy en persoonlijke gegevens in Intune
- Gegevensopslag en -verwerking in Intune
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:
- Versie van Microsoft Tunnel voor MAM SDK
- Door Microsoft gegenereerde gebruikersgegevens
- Apparaat-id
- Hardware- en softwaregegevens
- Apparaat maken
- Apparaatmodel
- Versie van apparaatbesturingssystemen
- Beheerders- en accountgegevens
- Intune-tenant-id
- Microsoft Entra-tenant-id
- 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
Ga voor meer bekende problemen naar de beheerdershandleiding microsoft tunnel voor MAM voor iOS/iPadOS - Intune.
Volgende stappen
Microsoft Tunnel voor MAM voor iOS/iPadOS - Intune-beheerdershandleiding