Dela via


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örutsättningar

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:

    1. 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.

    2. 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:

Ritning av Microsoft Tunnel Gateway för MAM på iOS/iPadOS-arkitektur i Microsoft Intune.

  1. Vid den första starten av appen upprättas en anslutning med hjälp av Microsoft Tunnel för MAM SDK för iOS.

  2. 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.

  3. En TCP Connect sker, vilket är en TLS-handskakning mellan token och tunnelservern.

  4. 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.

  5. När mobilappen ansluter till en lokal företagsresurs:

    1. En Microsoft Tunnel för MAM API begär att ansluta till företagsresursen.
    2. 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.plistFilen
    • 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:

  1. 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
  2. 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":

    Skärm som visar hur du lägger till filer i appprojektet i Xcode på en macOS-enhet.

  3. I PROJEKTMÅL> väljer du Skapa faser>Bädda in ramverk. Lägg till (+) alla nio ramverk:

    Skärmbild som visar inbäddningsramverk i Xcode på en macOS-enhet.

    I följande exempel visas alla nio ramverk som lagts till:

    Skärmbild som visar alla Microsoft Tunnel-ramverk inbäddade i Xcode på en macOS-enhet.

  4. 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 (-):

    Skärmbild som visar hur du tar bort ramverk i Länka binär med bibliotek i Xcode på en macOS-enhet.

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:

    1. Gå till ProjectTargetsGeneral (Allmänt).>>

    2. VäljIdentifierare för identitetspaket>:

      Skärmbild som visar val av projekt, mål, allmänt och identitet för att lägga till paket-ID:t i Xcode på en macOS-enhet.

  • 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:

    1. Med hjälp av Intune App SDK för iOS (ett obligatoriskt krav) skapar du en info.plistmatrisegenskap 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:

      Skärmbild som visar val av värden för projekt, mål, information och efterfrågade URL-scheman i Xcode på en macOS-enhet.

    2. Lägg till variabeln $(PRODUCT_BUNDLE_IDENTIFIER) .

      I följande exempel visas variabeln $(PRODUCT_BUNDLE_IDENTIFIER) i URL-typer:

      Skärmbild som visar val av projekt, mål, information, URL-typer i Xcode på en macOS-enhet.

  • IntuneMAMSettings: Bekräfta att följande MSAL-inställningar har konfigurerats med lämpliga Microsoft Entra appregistreringsvärden:

    1. Gå till PROJECT>TARGETS-information>.

    2. Välj IntuneMAMSettings. Bekräfta inställningarna:

      • ADALAuthority: Ange Microsoft Entra klientorganisations-ID, till exempel https://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID.
      • ADALClientId: Ange programmets klient-ID.
      • ADALRedirectUri: Ange msauth.$(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 för 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:

    Skärmbild som visar val av projekt, mål, information, IntuneMAMSetting i Xcode på en macOS-enhet.

Steg 3 – Inaktivera bitkod

  1. Gå till Project>Targets>Build-inställningar.
  2. Välj Build-alternativ>Aktivera Bitcode.
  3. Välj Nej.

Skärmbild som visar val av projekt, mål, bygginställningar, byggalternativ och inaktivering av bitkod i Xcode på en macOS-enhet.

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:

  1. Gå till Project>Targets-signering>& funktioner.
  2. Välj Nyckelringsdelning.
  3. I listan Nyckelringsgrupper lägger du till (+) com.microsoft.workplacejoin.

Skärmbild som visar val av projekt, mål, signering & funktioner, nyckelringsdelning och tillägg av en nyckelringsgrupp i Xcode på en macOS-enhet.

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 ett MicrosoftTunnelDelegate gränssnitt. 

Om du vill förstå hur du skriver Microsoft Tunnel-ombudet och hur du initierar MicrosoftTunnelAPIanvä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 instansen MicrosoftTunnelAPI .

  • Connect – Hämtar instansen MicrosoftTunnelAPI och aktiverar avlyssning av nätverkstrafik. Om API:et inte är initierat visas ett fel.

  • Disconnect – Hämtar instansen MicrosoftTunnelAPI och inaktiverar avlyssning av nätverkstrafik. Om API:et inte är initierat visas ett fel.

  • onTokenRequired –Valfri. Om din app redan integreras med antingen IntuneMAM eller MSAL måste du implementera den här onTokenRequired metoden. Den här metoden använder IntuneMAMSettings 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 av k. Skapar till exempel kLoggingClassConnect 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

Skärmbild som visar ett exempel på en Microsoft Tunnel-loggdelegatmetod i Xcode på en macOS-enhet.

Skärmbild som visar ett exempel på microsoft tunnelloggutdata i Xcode på en macOS-enhet.

Sekretessinformation för Microsoft Tunnel för hantering av mobilprogram

Din integritet är viktig för oss. Läs följande sekretessrelaterade onlinedokumentation:

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