Entwicklerhandbuch für Microsoft Tunnel für MAM iOS SDK
Hinweis
Diese Funktion ist verfügbar, wenn Sie Microsoft Intune Plan 2 oder Microsoft Intune Suite als Add-On-Lizenz hinzufügen. Weitere Informationen finden Sie unter Verwenden von Intune Suite-Add-On-Funktionen.
Das Entwicklerhandbuch für das Microsoft Tunnel für MAM iOS SDK ist eine Ressource für Entwickler. Es hilft Entwicklern, das SDK in eine iOS-/iPadOS-App zu integrieren und zu konfigurieren. Eine Übersicht über Microsoft Tunnel für MAM finden Sie unter Microsoft Tunnel für MAM für iOS/iPadOS – Intune-Administratorhandbuch.
Dieser Leitfaden behandelt verschiedene Teile des Integrationsprozesses in Ihrem Xcode-App-Projekt, einschließlich installation der Frameworks, Konfigurieren der info.plist
Datei, Buildeinstellungen, Schlüsselfreigabe und Implementieren der Delegatmethoden des SDK.
Diese Komponenten sind für die Entwicklung einer iOS/iPadOS-App von entscheidender Bedeutung. Entwickler müssen wissen, wie sie in den SDK-Komponenten navigieren und konfigurieren. Wenn Sie noch nicht mit der Entwicklung von Xcode- und iOS-/iPadOS-Apps beginnen, ist dieser Leitfaden hilfreich. Es bietet eine Übersicht darüber, wo Sie die verschiedenen SDK-Komponenten finden und wie Sie diese Elemente in Ihren App-Projekten verwenden.
Diese Funktion gilt für:
- iOS/iPadOS
Inhalt des SDK-Repositorys
Das SDK-Repository enthält die folgenden Frameworks. Sie fügen Ihrem App-Projekt in einem späteren Schritt diese Frameworks hinzu:
crypto.xcframework
MCPCommon.xcframework
MCPCore.xcframework
MCPPluginUnencryptedFile.xcframework
MicrosoftTunnelApi.xcframework
MSTAPNextPluginSecurityOpenssl.xcframework
MSTAPNextPluginSwiftSupport.xcframework
MSTAPNextPluginVpnMicrosoftTunnel.xcframework
ssl.xcframework
Voraussetzungen
Für die Verwendung des Microsoft Tunnel for MAM iOS SDK sind die folgenden Voraussetzungen erforderlich:
Ein macOS-Computer, auf dem Xcode 14.0 oder höher installiert ist
Ihre Branchen-iOS-/iPadOS-App muss für iOS/iPadOS 14.0 oder höher vorgesehen sein.
Es gibt zwei GitHub SDKs, die Sie herunterladen und in Ihre iOS-App in Xcode integrieren müssen. Stellen Sie sicher, dass die folgenden Projekte erfolgreich erstellt werden, bevor Sie mit dem Microsoft Tunnel for MAM iOS SDK fortfahren:
Intune App SDK für iOS (öffnet eine GitHub-Website): Installieren Sie mindestens version 16.1.1.
Lesen Sie auf dieser Website auch die Microsoft-Lizenzbedingungen Intune App SDK für iOS-Datei .
Bewahren Sie für Ihre Aufzeichnungen eine Kopie der Lizenzbedingungen auf. Durch das Herunterladen und Verwenden des Microsoft Tunnel for MAM iOS SDK stimmen Sie den Lizenzbedingungen zu. Wenn Sie die Lizenzbedingungen nicht akzeptieren, verwenden Sie die Software nicht.
Microsoft Authentication Library (MSAL) (öffnet eine GitHub-Website): Installieren Sie mindestens version 1.2.3.
Installieren und einrichten Sie das Microsoft Tunnel for MAM iOS SDK (öffnet eine GitHub-Website). Dieses SDK ist der Schwerpunkt dieses Artikels.
Wichtig
Intune veröffentlicht regelmäßig Updates für das Microsoft Tunnel für MAM iOS SDK. Überprüfen Sie regelmäßig das Microsoft Tunnel für MAM iOS SDK auf Updates. Fügen Sie diese Updates ihrem Releasezyklus für die Softwareentwicklung hinzu. Sie möchten sicherstellen, dass Ihre Apps die Microsoft Tunnel Gateway-Updates und Funktionserweiterungen unterstützen.
Funktionsweise des Microsoft Tunnel für MAM iOS SDK
Mit dem Tunnel for MAM iOS SDK können iOS-/iPadOS-Apps eine "In-App"-VPN-Verbindung herstellen. Die VPN-Verbindung ist nur innerhalb der App vorhanden.
Zusammenfassend sind diese In-App-VPN-Verbindungen:
- Diskrete VPN-Verbindungen, keine VPN-Verbindungen auf Geräteebene
- Nur auf die Netzwerkebene der Anwendung ausgerichtet
Wenn eine App einen Netzwerkaufruf vornimmt, fängt das SDK den Netzwerkaufruf ab und stellt die VPN-Verbindung her. Diese In-App-VPN-Verbindung wird in der App "Einstellungen" auf dem iOS/iPadOS-Gerät nicht angezeigt.
Architektur: Tunnel für MAM iOS SDK
Die folgende Abbildung beschreibt den Flow aus einer verwalteten App, die erfolgreich in das Tunnel for MAM iOS SDK integriert wurde:
Beim ersten Start der App wird eine Verbindung mit dem Microsoft Tunnel for MAM SDK für iOS hergestellt.
Der Tunnel ruft ein Geräteauthentifizierungstoken von Microsoft Entra ID ab.
Wenn das Gerät bei einer anderen MAM-fähigen App wie Outlook, Edge oder microsoft 365 mobile App angemeldet ist, verfügt das Gerät möglicherweise bereits über ein Microsoft Entra-Authentifizierungstoken. Wenn bereits ein gültiges Authentifizierungstoken vorhanden ist, wird das vorhandene Token verwendet.
Es erfolgt eine TCP-Verbindung, bei der es sich um einen TLS-Handshake zwischen dem Token und dem Tunnelserver handelt.
Wenn UDP für das Microsoft Tunnel-Gateway aktiviert ist, wird eine Datenkanalverbindung mit DTLS hergestellt. Wenn UDP deaktiviert ist, richtet TCP den Datenkanal zum Tunnelgateway ein.
Weitere Informationen finden Sie in den Hinweisen zu TCP und UDP in der Microsoft Tunnel-Übersicht – Architektur.
Wenn die mobile App eine Verbindung mit einer lokalen Unternehmensressource herstellt:
- Eine Microsoft Tunnel für MAM-API fordert an, eine Verbindung mit der Unternehmensressource herzustellen.
- Eine verschlüsselte Webanforderung wird erstellt und an die Unternehmensressource gesendet.
Xcode-Aufgaben
In diesem Abschnitt werden die Xcode-Aufgaben aufgeführt und beschrieben, die Sie ausführen müssen, einschließlich:
- Hinzufügen der Frameworks und Bibliotheken
- Überprüfen und aktualisieren Sie die folgenden Features:
-
info.plist
Datei - Buildeinstellungen
- Schlüsselbundfreigabe
-
- Verwenden Sie die Beispiele, um das Xcode AppDelegate-Projekt zu aktualisieren und eine Microsoft Tunnel-Delegatdatei hinzuzufügen.
Schritt 1: Hinzufügen der Frameworks und Bibliotheken
Die folgenden Frameworks enthalten die erforderlichen APIs und Delegatmethoden für die Kommunikation mit dem Intune-Microsoft Tunnel-Gateway. Sie implementieren die Microsoft Tunnel-VPN-Features innerhalb der App.
Führen Sie die folgenden Schritte aus, um das Tunnel for MAM iOS SDK zu aktivieren:
Laden Sie das Tunnel for MAM iOS SDK herunter, und extrahieren Sie es in einen Ordner auf einem macOS-Computer. Diese Aufgabe ist auch unter Voraussetzungen aufgeführt.
Kopieren Sie die folgenden neun Frameworks in den Ordner Xcode-App-Projektframeworks:
crypto.xcframework
MCPCommon.xcframework
MCPCore.xcframework
MCPPluginUnencryptedFile.xcframework
MicrosoftTunnelApi.xcframework
MSTAPNextPluginSecurityOpenssl.xcframework
MSTAPNextPluginSwiftSupport.xcframework
MSTAPNextPluginVpnMicrosoftTunnel.xcframework
ssl.xcframework
Wählen Sie im Xcode-Projekt Ihr App-Projekt >Dateien hinzufügen aus. Im folgenden Beispiel werden Dateien zu einem App-Projekt namens "Flash Chat" hinzugefügt:
Wählen Sie unter PROJEKTZIELE>die Option Buildphasen Frameworks>einbetten aus. Fügen Sie (+) alle neun Frameworks hinzu:
Das folgende Beispiel zeigt alle neun hinzugefügten Frameworks:
Wählen Sie unter PROJEKTZIELE>die Option Buildphasen>Binärdatei mit Bibliotheken verknüpfen aus. In der Liste sollte nur das
MicrosoftTunnelApi.xcframework
Framework hinzugefügt werden. Wenn andere Frameworks aufgeführt sind, entfernen Sie diese mithilfe des Minuszeichens (-):
Schritt 2: Aktualisieren der info.plist
Datei
Bestätigen Sie im info.plist
für das Xcode-App-Projekt die folgenden Einstellungen:
Bundle-ID: Stellen Sie sicher, dass die gleiche Bundle-ID, die in der Microsoft Entra App-Registrierung für die mobile iOS-App aufgeführt ist, dieselbe Bundle-ID in Ihrem App-Projekt ist:
So überprüfen Sie die Bundle-ID:
URL-Typen: Wählen Sie unter PROJEKTZIELE>die Option Info aus.
Vergewissern Sie sich unter URL-Typen, dass die
$(PRODUCT_BUNDLE_IDENTIFIER)
Variable vorhanden ist. Wenn Sie das Intune App SDK für iOS in Ihr App-Projekt integriert haben (eine erforderliche Voraussetzung), sollte diese Variable erstellt worden sein.Wenn die Variable nicht vorhanden ist, müssen Sie sie hinzufügen:
Erstellen Sie mithilfe des Intune App SDK für iOS (eine erforderliche Voraussetzung) eine
info.plist
Array-Eigenschaft , und nennen Sie sie Abgefragte URL-Schemas.Fügen Sie die Zeichenfolgenelemente hinzu, die im Intune App SDK für iOS-Entwicklerhandbuch – Schritt 5 aufgeführt sind. In diesem Schritt werden die URL-Schemas des Intune MAM SDK erstellt.
Das folgende Beispiel zeigt die Datei "info.plist" mit abgefragten URL-Schemas:
Fügen Sie die Variable hinzu
$(PRODUCT_BUNDLE_IDENTIFIER)
.Das folgende Beispiel zeigt die
$(PRODUCT_BUNDLE_IDENTIFIER)
Variable in URL-Typen:
IntuneMAMSettings: Vergewissern Sie sich, dass die folgenden MSAL-Einstellungen mit den entsprechenden Microsoft Entra-App-Registrierungswerten konfiguriert sind:
Wechseln Sie zuPROJEKTZIELE>>Info.
Wählen Sie IntuneMAMSettings aus. Bestätigen Sie Ihre Einstellungen:
-
ADALAuthority
: Geben Sie die Microsoft Entra-Mandanten-ID ein, z. Bhttps://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID
. . -
ADALClientId
: Geben Sie die Anwendungsclient-ID ein. -
ADALRedirectUri
: Geben Sie einmsauth.$(PRODUCT_BUNDLE_IDENTIFIER):/auth
.
-
Wenn Sie das Intune App SDK für iOS in Ihr App-Projekt integriert haben (eine erforderliche Voraussetzung), sollten diese Einstellungen konfiguriert worden sein.
Wenn diese Einstellungen nicht konfiguriert sind, müssen Sie sie konfigurieren. Um die Eigenschaft IntuneMAMSettings
info.plist
Dictionary und die zugehörigen Zeichenfolgen der Microsoft-Authentifizierungsbibliothek zu erstellen, folgen Sie dem Entwicklerhandbuch für Das Intune App SDK für iOS (eine erforderliche Voraussetzung) unter Konfigurieren von MSAL-Einstellungen für das Intune App SDK-Leitfaden .Im folgenden Beispiel werden diese Werte konfiguriert:
Schritt 3: Deaktivieren von Bitcode
- Wechseln Sie zuPROJEKTZIELE>>Buildeinstellungen.
- Wählen Sie Buildoptionen>Bitcode aktivieren aus.
- Wählen Sie Nein aus.
Schritt 4: Hinzufügen der Schlüsselbundfreigabe
Die Schlüsselbundfreigabe kann im App-Projekt vorhanden sein oder nicht. Wenn er nicht da ist, fügen Sie hinzu:
- Wechseln Sie zu PROJECT TARGETSSigning & Capabilities (Funktionen für die Signierung vonPROJEKTZIELen>>).
- Wählen Sie Schlüsselbundfreigabe aus.
- Fügen Sie in der Liste Schlüsselbundgruppen (+)
com.microsoft.workplacejoin
hinzu.
Schritt 5: Integrieren des SDK in Ihre App
✔️ Verwenden Sie die TunnelMAMTestApp2.xcproject
Beispiel-App.
Abhängig von der BRANCHEN-App und ihrer Implementierung/ihrem Verwendungszweck kann die Verwendung von MicrosoftTunnelApi
variieren. Es gibt einige Kernfunktionen, die Sie bei der Integration des SDK in Ihre App beachten sollten:
- Alle Interaktionen mit dem Microsoft Tunnel for MAM iOS SDK werden über ein
MicrosoftTunnelAPI
Singleton-Objekt verarbeitet. - Das
MicrosoftTunnelAPI
Objekt interagiert mit der App mithilfe eines Delegaten, der eineMicrosoftTunnelDelegate
Schnittstelle implementiert.
Um zu verstehen, wie Sie den Microsoft Tunnel-Delegaten schreiben und initialisieren, MicrosoftTunnelAPI
verwenden Sie die Microsoft Tunnel für MAM iOS SDK-Beispiel-Apps (öffnet eine GitHub-Website).
In den Beispiel-Apps zeigt das Xcode-Projekt AppDelegate Folgendes an:
- Behandeln von MSAL-URL-Rückrufen
- Starten des Registrierungs- und Initialisierungsprozesses, der für Tunnel erforderlich ist
Öffnen Sie zunächst die TunnelMAMTestApp2.xcproject
Beispiel-App, und sehen Sie sich die AppDelegate-& MicrosoftTunnelDelegate im App-Projekt an.
Beispielapps
✔️ Laden Sie unter Microsoft Tunnel für MAM iOS SDK-Beispiel-Apps herunter (öffnet eine GitHub-Website).
Diese Beispiel-Apps können Ihnen beim Einstieg helfen und verschiedene Szenarien abdecken.
MicrosoftTunnelAPI-Methoden
Enthält MicrosoftTunnelAPI
die folgenden Methoden:
Initialize
– Überprüft und legt die VPN-Konfigurationen fest, richtet die Protokollierung ein und richtet dieMicrosoftTunnelAPI
Instanz ein.Connect
– Ruft die -Instanz abMicrosoftTunnelAPI
und aktiviert das Abfangen von Netzwerkdatenverkehr. Wenn die API nicht initialisiert ist, wird ein Fehler angezeigt.Disconnect
– Ruft die -Instanz abMicrosoftTunnelAPI
und deaktiviert das Abfangen von Netzwerkdatenverkehr. Wenn die API nicht initialisiert ist, wird ein Fehler angezeigt.onTokenRequired
–Wahlfrei. Wenn Ihre App bereits mitIntuneMAM
oder MSAL integriert ist, müssen Sie dieseonTokenRequired
Methode implementieren. Diese Methode verwendet dieIntuneMAMSettings
MSAL und , um ein gültiges Authentifizierungstoken für die Verbindung mit dem Microsoft Tunnel-Gateway abzurufen.Logging
– Es gibt einige verschiedene Protokollierungsklassen, die durch gekennzeichnet sindk
. Erstellt beispielsweisekLoggingClassConnect
die Protokollierungsausgabe in der Xcode-Konsole. Diese Protokollierungskonfigurationsschlüssel können der Delegatkonfiguration hinzugefügt werden. Es gibt einige Beispiele für diese Protokollierungsklassen in den Beispiel-Apps.kLoggingClassInternal
kLoggingClassConnect
kLoggingClassPacket
kLoggingClassSocket
kLoggingClassHttp
kLoggingClassIntune
kLoggingClassMobileAccess
kLoggingSeverityDebug
kLoggingSeverityInfo
kLoggingSeverityWarn
kLoggingSeverityMinor
kLoggingSeverityMajor
kLoggingSeverityCrit
Warnung
Verwenden Sie keine Debugschlüssel in bereitgestellten Apps. Die Schlüssel können benutzeridentifizierbare Informationen und Sicherheitsdaten protokollieren und anzeigen.
Protokollierung in branchenspezifischen iOS-/iPadOS-Apps
Durch die Integration des SDK wird die Protokollierung nicht automatisch aktiviert. Der Entwickler muss den entsprechenden Code hinzufügen, um das Protokollierungsdelegatenframework zu implementieren und die entsprechenden Protokollierungsaufrufe auszuführen. Die spezifische Implementierung variiert je nach SDK und den Anforderungen des Entwicklers.
Der Entwickler sollte folgendes ausführen:
Stellen Sie sicher, dass sie keine kundenidentifizierbaren oder personenbezogene Endbenutzerdaten in ihre Protokollierung einschließen. Sie müssen die Datenschutzbestimmungen einhalten.
Wenden Sie sich an das Datenschutzteam des Unternehmens bzw. der Organisation, und arbeiten Sie mit ihr zusammen. Das Datenschutzteam kann Anleitungen zu den geeigneten Daten, die protokolliert werden können, und zu den geeigneten Methoden zum Umgang mit vertraulichen Daten bereitstellen.
Warnung
Spezifische Anleitungen zur Protokollierung und zum Datenschutz finden Sie in der Datenschutzdokumentation zu Microsoft Tunnel für MAM iOS SDK (öffnet eine PDF-Datei in GitHub).
Beispiel für MAM-Tunnel Protokolldelegatenmethode
Microsoft Tunnel für mobile Anwendungsverwaltung – Datenschutzinformationen
Ihr Datenschutz ist uns wichtig. Lesen Sie die folgende Onlinedokumentation zum Datenschutz:
- Microsoft-Datenschutzbestimmungen
- Datenschutz und personenbezogene Daten in Intune
- Datenspeicherung und -verarbeitung in Intune
Bei der Integration des Microsoft Tunnel for MAM iOS SDK in mobile Apps werden die folgenden Daten gesammelt, wenn ein Entwickler:
- Aktiviert das Intune MAM-Telemetriemodul in der App
Die gesammelten Daten können folgende Bereiche umfassen:
- Microsoft Tunnel für MAM SDK-Version
- Von Microsoft generierte Benutzerinformationen
- Geräte-ID
- Hardware- und Softwareinformationen
- Hersteller des Geräts
- Gerätemodell
- Betriebssystemversion des Geräts
- Administrator- und Kontoinformationen
- Intune-Mandanten-ID
- Microsoft Entra-Mandanten-ID
- Nutzungsmessung:
- VPN-Initialisierung
- VPN-Verbindungs- und Trennungsereignisse
- Informationen zu Fehlern
- Fehler im Zusammenhang mit VPN-Verbindungsfehlern
Es werden keine benutzeridentifizierbaren Informationen gesammelt.
Wichtig
Als Entwickler ist es wichtig, bei der Integration des SDK keine benutzeridentifizierbaren Daten einzubeziehen, wenn Sie Code zum Adressieren und Erfassen von Nachrichten in Ihrer Anwendung verwenden.
Bekannte Probleme
Weitere bekannte Probleme finden Sie im Administratorhandbuch microsoft Tunnel für MAM für iOS/iPadOS – Intune.
Nächste Schritte
Microsoft Tunnel für MAM für iOS/iPadOS – Intune-Administratorhandbuch