Microsoft Tunnel för MAM utvecklarguide för iOS SDK
Obs!
Den här funktionen är tillgänglig när du lägger till Microsoft Intune plan 2 eller Microsoft Intune Suite som en tilläggslicens. Mer information finns i Använda Intune Suite-tilläggsfunktioner.
Utvecklarguiden för Microsoft Tunnel för MAM iOS SDK är en resurs för utvecklare. Det hjälper utvecklare att integrera och konfigurera SDK i en iOS/iPadOS-app. En översikt över Microsoft Tunnel för MAM finns i Microsoft Tunnel för MAM för iOS/iPadOS – Intune administratörsguide.
Den här guiden beskriver olika delar av integreringsprocessen i Xcode-appprojektet, inklusive installation av ramverk, konfiguration info.plist
av filen, bygginställningar, nyckeldelning och implementering av SDK:s ombudsmetoder.
Dessa komponenter är viktiga i utvecklingen av en iOS/iPadOS-app. Utvecklare måste förstå hur de navigerar och konfigurerar SDK-komponenterna. Om du inte har använt Xcode och iOS/iPadOS-apputveckling tidigare kan den här guiden hjälpa dig. Den ger en översikt över var du hittar de olika SDK-komponenterna och hur du använder dessa element i dina appprojekt.
Den här funktionen gäller för:
- iOS/iPadOS
Vad finns i SDK-lagringsplatsen
SDK-lagringsplatsen innehåller följande ramverk. Du lägger till dessa ramverk i ditt appprojekt i ett senare steg:
crypto.xcframework
MCPCommon.xcframework
MCPCore.xcframework
MCPPluginUnencryptedFile.xcframework
MicrosoftTunnelApi.xcframework
MSTAPNextPluginSecurityOpenssl.xcframework
MSTAPNextPluginSwiftSupport.xcframework
MSTAPNextPluginVpnMicrosoftTunnel.xcframework
ssl.xcframework
Förhandskrav
För att använda Microsoft Tunnel för MAM iOS SDK krävs följande krav:
En macOS-dator med Xcode 14.0 eller senare installerad
Din verksamhetsspecifika iOS/iPadOS-app måste vara riktad mot iOS/iPadOS 14.0 eller senare.
Det finns två GitHub-SDK:er som du behöver för att ladda ned och integrera med din iOS-app i Xcode. Kontrollera att följande projekt har skapats innan du fortsätter med Microsoft Tunnel för MAM iOS SDK:
Intune App SDK för iOS (öppnar en GitHub-webbplats): Installera minst versionen 16.1.1.
På den här webbplatsen granskar du även Microsofts licensvillkor Intune App SDK för iOS-filen.
För dina poster behåller du en kopia av licensvillkoren. Genom att ladda ned och använda Microsoft Tunnel för MAM iOS SDK godkänner du licensvillkoren. Om du inte accepterar licensvillkoren ska du inte använda programvaran.
Microsoft Authentication Library (MSAL) (öppnar en GitHub-webbplats): Installera minst versionen 1.2.3.
Installera och konfigurera Microsoft Tunnel för MAM iOS SDK (öppnar en GitHub-webbplats). Den här SDK:en är i fokus för den här artikeln.
Viktigt
Intune släpper regelbundet uppdateringar av Microsoft Tunnel för MAM iOS SDK. Kontrollera regelbundet Microsoft Tunnel för MAM iOS SDK för uppdateringar. Lägg till de här uppdateringarna i versionscykeln för programvaruutveckling. Du vill se till att dina appar stöder Uppdateringar och funktionsförbättringar för Microsoft Tunnel Gateway.
Så här fungerar Microsoft Tunnel för MAM iOS SDK
Tunnel för MAM iOS SDK gör det möjligt för iOS/iPadOS-appar att upprätta en "in-app"-VPN-anslutning. VPN-anslutningen finns bara i appen.
Sammanfattningsappen är följande VPN-anslutningar i appen:
- Diskreta, inte VPN-anslutningar på enhetsnivå
- Endast begränsat till programnätverksskiktet
När en app gör ett nätverksanrop fångar SDK upp nätverksanropet och upprättar VPN-anslutningen. Den här VPN-anslutningen i appen visas inte i appen Inställningar på iOS/iPadOS-enheten.
Arkitektur: Tunnel för MAM iOS SDK
Följande bild beskriver flödet från en hanterad app som har integrerats med Tunnel för MAM iOS SDK:
Vid den första starten av appen upprättas en anslutning med hjälp av Microsoft Tunnel för MAM SDK för iOS.
Tunneln hämtar en token för enhetsautentisering från Microsoft Entra ID.
Om enheten loggade in på en annan MAM-aktiverad app, till exempel Outlook, Edge eller Microsoft 365-mobilappen, kanske enheten redan har en Microsoft Entra autentiseringstoken. Om det redan finns en giltig autentiseringstoken används den befintliga token.
En TCP Connect sker, vilket är en TLS-handskakning mellan token och tunnelservern.
Om UDP är aktiverat på Microsoft Tunnel Gateway upprättas en datakanalanslutning med DTLS. Om UDP är inaktiverat upprättar TCP datakanalen till Tunnel-gatewayen.
Mer information finns i TCP- och UDP-anteckningarna i Översikt över Microsoft Tunnel – arkitektur.
När mobilappen ansluter till en lokal företagsresurs:
- En Microsoft Tunnel för MAM API begär att ansluta till företagsresursen.
- En krypterad webbbegäran skapas och skickas till företagsresursen.
Xcode-uppgifter
I det här avsnittet visas och beskrivs de Xcode-uppgifter som du måste utföra, inklusive:
- Lägga till ramverk och bibliotek
- Granska och uppdatera följande funktioner:
-
info.plist
fil - Build-inställningar
- Delning av nyckelringar
-
- Använd exemplen för att uppdatera Xcode AppDelegate-projektet och lägga till en Microsoft Tunnel-ombudsfil
Steg 1 – Lägga till ramverk och bibliotek
Följande ramverk innehåller nödvändiga API:er och delegeringsmetoder för kommunikation med Intune Microsoft Tunnel Gateway. De implementerar VPN-funktionerna för Microsoft Tunnel i appen.
Använd följande steg för att aktivera tunneln för MAM iOS SDK:
Ladda ned och extrahera tunnel för MAM iOS SDK till en mapp på en macOS-dator. Den här uppgiften visas också i Krav.
Kopiera följande nio ramverk till mappen Xcode-appprojektramverk:
crypto.xcframework
MCPCommon.xcframework
MCPCore.xcframework
MCPPluginUnencryptedFile.xcframework
MicrosoftTunnelApi.xcframework
MSTAPNextPluginSecurityOpenssl.xcframework
MSTAPNextPluginSwiftSupport.xcframework
MSTAPNextPluginVpnMicrosoftTunnel.xcframework
ssl.xcframework
I Xcode-projektet väljer du ditt appprojekt >Lägg till filer. I följande exempel läggs filer till i ett appprojekt med namnet "Flash Chat":
I PROJEKTMÅL> väljer du Skapa faser>Bädda in ramverk. Lägg till (+) alla nio ramverk:
I följande exempel visas alla nio ramverk som lagts till:
I PROJEKTMÅL> väljer du Skapa faser>Länka binär med bibliotek. I listan ska endast ramverket
MicrosoftTunnelApi.xcframework
läggas till. Om andra ramverk visas tar du bort dem med minus (-):
Steg 2 – Uppdatera info.plist
filen
info.plist
Bekräfta följande inställningar i för Xcode-appprojektet:
Paket-ID: Kontrollera att samma paket-ID som anges i Microsoft Entra Appregistrering för iOS-mobilappen är samma paket-ID i ditt appprojekt:
Så här kontrollerar du paket-ID:t:
URL-typer: I PROJEKTMÅL> väljer du Information.
I URL-typer bekräftar du att variabeln
$(PRODUCT_BUNDLE_IDENTIFIER)
finns där. När du integrerade Intune App SDK för iOS med ditt appprojekt (ett obligatoriskt krav) bör den här variabeln ha skapats.Om variabeln inte finns där måste du lägga till den:
Med hjälp av Intune App SDK för iOS (ett obligatoriskt krav) skapar du en
info.plist
matrisegenskap och ger den namnet Fråge-URL-scheman.Lägg till strängobjekten som visas i utvecklarguiden Intune App SDK för iOS – steg 5. Det här steget skapar Intune MAM SDK-URL-scheman.
I följande exempel visas info.plist med hjälp av fråge-URL-scheman:
Lägg till variabeln
$(PRODUCT_BUNDLE_IDENTIFIER)
.I följande exempel visas variabeln
$(PRODUCT_BUNDLE_IDENTIFIER)
i URL-typer:
IntuneMAMSettings: Bekräfta att följande MSAL-inställningar har konfigurerats med lämpliga Microsoft Entra appregistreringsvärden:
Gå till PROJECT>TARGETS-information>.
Välj IntuneMAMSettings. Bekräfta inställningarna:
-
ADALAuthority
: Ange Microsoft Entra klientorganisations-ID, till exempelhttps://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID
. -
ADALClientId
: Ange programmets klient-ID. -
ADALRedirectUri
: Angemsauth.$(PRODUCT_BUNDLE_IDENTIFIER):/auth
.
-
När du integrerade Intune App SDK för iOS med ditt appprojekt (ett obligatoriskt krav) bör dessa inställningar ha konfigurerats.
Om de här inställningarna inte har konfigurerats måste du konfigurera dem. Om du vill skapa egenskapen IntuneMAMSettings
info.plist
Dictionary och tillhörande Microsoft Authentication Library-strängar följer du utvecklarguiden Intune App SDK för iOS (ett obligatoriskt krav) i Konfigurera MSAL-inställningar för Intune App SDK.I följande exempel visas de här värdena konfigurerade:
Steg 3 – Inaktivera bitkod
- Gå till Project>Targets>Build-inställningar.
- Välj Build-alternativ>Aktivera Bitcode.
- Välj Nej.
Steg 4 – Lägg till delning av nyckelringar
Nyckelringsdelning kan finnas i appprojektet eller inte. Om den inte finns där lägger du till den:
- Gå till Project>Targets-signering>& funktioner.
- Välj Nyckelringsdelning.
- I listan Nyckelringsgrupper lägger du till (+)
com.microsoft.workplacejoin
.
Steg 5 – Integrera SDK med din app
✔️ Använd exempelappenTunnelMAMTestApp2.xcproject
.
Beroende på LOB-appen och dess implementering/avsedda syfte kan användningen av den MicrosoftTunnelApi
variera. Det finns några grundläggande funktioner att känna till när du integrerar SDK:t med din app:
- Alla interaktioner med Microsoft Tunnel för MAM iOS SDK hanteras via ett
MicrosoftTunnelAPI
singleton-objekt. - Objektet
MicrosoftTunnelAPI
interagerar med appen med hjälp av ett ombud som implementerar ettMicrosoftTunnelDelegate
gränssnitt.
Om du vill förstå hur du skriver Microsoft Tunnel-ombudet och hur du initierar MicrosoftTunnelAPI
använder du Microsoft Tunnel för MAM iOS SDK-exempelappar (öppnar en GitHub-webbplats).
I exempelapparna visar Xcode-projektet AppDelegate:
- Så här hanterar du msal-URL-motringningar
- Så här startar du den registrering och initieringsprocess som krävs för tunnel
Kom igång genom att öppna exempelappen TunnelMAMTestApp2.xcproject
och titta på AppDelegate-& MicrosoftTunnelDelegate i appprojektet.
Exempelappar
✔️ Ladda ned på Microsoft Tunnel för MAM iOS SDK-exempelappar (öppnar en GitHub-webbplats).
Dessa exempelappar kan hjälpa dig att komma igång och ta upp olika scenarier.
MicrosoftTunnelAPI-metoder
MicrosoftTunnelAPI
Innehåller följande metoder:
Initialize
– Kontrollerar och ställer in VPN-konfigurationer, konfigurerar loggning och konfigurerar instansenMicrosoftTunnelAPI
.Connect
– Hämtar instansenMicrosoftTunnelAPI
och aktiverar avlyssning av nätverkstrafik. Om API:et inte är initierat visas ett fel.Disconnect
– Hämtar instansenMicrosoftTunnelAPI
och inaktiverar avlyssning av nätverkstrafik. Om API:et inte är initierat visas ett fel.onTokenRequired
–Valfri. Om din app redan integreras med antingenIntuneMAM
eller MSAL måste du implementera den häronTokenRequired
metoden. Den här metoden använderIntuneMAMSettings
msal och för att hämta en giltig autentiseringstoken för att ansluta till Microsoft Tunnel Gateway.Logging
– Det finns några olika loggningsklasser, som anges avk
. Skapar till exempelkLoggingClassConnect
loggningsutdata i Xcode-konsolen. Dessa loggningskonfigurationsnycklar kan läggas till i ombudskonfigurationen. Det finns några exempel på dessa loggningsklasser i exempelapparna.kLoggingClassInternal
kLoggingClassConnect
kLoggingClassPacket
kLoggingClassSocket
kLoggingClassHttp
kLoggingClassIntune
kLoggingClassMobileAccess
kLoggingSeverityDebug
kLoggingSeverityInfo
kLoggingSeverityWarn
kLoggingSeverityMinor
kLoggingSeverityMajor
kLoggingSeverityCrit
Varning
Använd inte felsökningsnycklar i distribuerade appar. Nycklarna kan logga och visa användar identifierbar information och säkerhetsdata.
Logga in på iOS/iPadOS LOB-appar
Integrering av SDK:t aktiverar inte loggning automatiskt. Utvecklaren måste lägga till lämplig kod för att implementera loggningsdelegeringsramverket och göra lämpliga loggningsanrop. Den specifika implementeringen varierar beroende på SDK och utvecklarens krav.
Utvecklaren bör:
Se till att de inte innehåller några kund identifierbara eller slutanvändares personliga data i loggningen. De måste följa sekretessreglerna.
Kontakta och arbeta med organisationens sekretessteam för företag/organisation. Sekretessteamet kan ge vägledning om lämpliga data som kan loggas och lämpliga sätt att hantera känsliga data.
Varning
Mer information om loggning och datasekretess finns i sekretessdokumentationen för Microsoft Tunnel för MAM iOS SDK (öppnar en PDF-fil i GitHub).
MAM-Tunnel exempel på loggdelegatmetod
Sekretessinformation för Microsoft Tunnel för hantering av mobilprogram
Din integritet är viktig för oss. Läs följande sekretessrelaterade onlinedokumentation:
- Microsofts sekretesspolicy
- Sekretess och personuppgifter i Intune
- Datalagring och bearbetning i Intune
När du integrerar Microsoft Tunnel för MAM iOS SDK i mobilappar samlas följande data in när en utvecklare:
- Aktiverar Intune MAM-telemetrimodulen i appen
De insamlade uppgifterna kan omfatta följande områden:
- Microsoft Tunnel för MAM SDK-version
- Microsoft-genererad användarinformation
- Enhets-ID
- Information om maskinvara och programvara
- Enhets märke
- Enhetsmodell
- Version av enhetsoperativsystem
- Admin- och kontoinformation
- Intune klientorganisations-ID
- Microsoft Entra klientorganisations-ID
- Användningsmätning:
- VPN-initiering
- VPN-anslutnings- och frånkopplingshändelser
- Felinformation
- Fel som rör VPN-anslutningsfel
Ingen användar identifierbar information samlas in.
Viktigt
När du integrerar SDK:t som utvecklare är det viktigt att inte inkludera några användaridentifierande data när du använder kod för att adressera och samla in meddelanden i ditt program.
Kända problem
Mer kända problem finns i Microsoft Tunnel för MAM för iOS/iPadOS – Intune administratörsguide.
Nästa steg
Microsoft Tunnel för MAM för iOS/iPadOS – Intune administratörsguide