przewodnik dewelopera Microsoft Tunnel do MAM zestawu IOS SDK
Uwaga
Ta funkcja jest dostępna po dodaniu Microsoft Intune planu 2 lub Microsoft Intune Suite jako licencji dodatku. Aby uzyskać więcej informacji, zobacz Korzystanie z funkcji dodatku Intune Suite.
Przewodnik dla deweloperów Microsoft Tunnel do MAM zestawu IOS SDK to zasób dla deweloperów. Ułatwia deweloperom integrowanie i konfigurowanie zestawu SDK w aplikacji systemu iOS/iPadOS. Aby zapoznać się z omówieniem Microsoft Tunnel do MAM, przejdź do Microsoft Tunnel do MAM dla systemu iOS/iPadOS — przewodnik administratora Intune.
Ten przewodnik obejmuje różne części procesu integracji w projekcie aplikacji Xcode, w tym instalowanie struktur, konfigurowanie info.plist
pliku, ustawienia kompilacji, udostępnianie kluczy i implementowanie metod delegata zestawu SDK.
Te składniki mają kluczowe znaczenie w opracowywaniu aplikacji dla systemu iOS/iPadOS. Deweloperzy muszą zrozumieć, jak nawigować i konfigurować składniki zestawu SDK. Jeśli dopiero jesteś nowym użytkownikiem programu Xcode i tworzenia aplikacji dla systemu iOS/iPadOS, ten przewodnik może pomóc. Zawiera on omówienie tego, gdzie można znaleźć różne składniki zestawu SDK i jak używać tych elementów w projektach aplikacji.
Ta funkcja ma zastosowanie do:
- iOS/iPadOS
Co jest w repozytorium zestawu SDK
Repozytorium zestawu SDK zawiera następujące struktury. Te struktury zostaną dodane do projektu aplikacji w późniejszym kroku:
crypto.xcframework
MCPCommon.xcframework
MCPCore.xcframework
MCPPluginUnencryptedFile.xcframework
MicrosoftTunnelApi.xcframework
MSTAPNextPluginSecurityOpenssl.xcframework
MSTAPNextPluginSwiftSupport.xcframework
MSTAPNextPluginVpnMicrosoftTunnel.xcframework
ssl.xcframework
Wymagania wstępne
Aby korzystać z zestawu Microsoft Tunnel do MAM zestawu SDK systemu iOS, wymagane są następujące wymagania wstępne:
Komputer z systemem macOS z zainstalowanym programem Xcode 14.0 lub nowszym
Twoja aplikacja biznesowa (LOB) dla systemu iOS/iPadOS musi być przeznaczona dla systemu iOS/iPadOS 14.0 lub nowszego.
Istnieją dwa zestawy SDK usługi GitHub, które należy pobrać i zintegrować z aplikacją systemu iOS w programie Xcode. Przed kontynuowaniem pracy z zestawem SDK Microsoft Tunnel do MAM systemu iOS upewnij się, że następujące projekty zostały pomyślnie skompilowane:
Intune Zestaw SDK aplikacji dla systemu iOS (otwiera witrynę GitHub): zainstaluj co najmniej wersję 16.1.1.
W tej witrynie zapoznaj się również z dokumentem Microsoft License Terms Intune App SDK for iOS (Zestaw SDK aplikacji firmy Microsoft dla systemu iOS).
W przypadku rekordów zachowaj kopię postanowień licencyjnych. Pobierając i korzystając z zestawu Microsoft Tunnel do MAM iOS SDK, zgadzasz się na postanowienia licencyjne. Jeśli nie akceptujesz postanowień licencyjnych, nie używaj oprogramowania.
Biblioteka uwierzytelniania firmy Microsoft (MSAL) (otwiera witrynę usługi GitHub): Zainstaluj co najmniej wersję 1.2.3.
Zainstaluj i skonfiguruj zestaw Microsoft Tunnel do MAM zestawu SDK systemu iOS (otwiera witrynę usługi GitHub). Ten zestaw SDK jest przedmiotem tego artykułu.
Ważna
Intune regularnie publikuje aktualizacje zestawu SDK Microsoft Tunnel do MAM systemu iOS. Regularnie sprawdź Microsoft Tunnel do MAM zestawu SDK systemu iOS pod kątem aktualizacji. Dodaj te aktualizacje do cyklu tworzenia oprogramowania. Chcesz mieć pewność, że aplikacje obsługują aktualizacje i ulepszenia funkcji usługi Microsoft Tunnel Gateway.
Jak działa zestaw SDK Microsoft Tunnel do MAM systemu iOS
Zestaw SDK aplikacji Tunnel for MAM dla systemu iOS umożliwia aplikacjom systemu iOS/iPadOS nawiązywanie połączenia sieci VPN "w aplikacji". Połączenie sieci VPN istnieje tylko w aplikacji.
Podsumowując, te połączenia sieci VPN w aplikacji są następujące:
- Dyskretne, a nie połączenia sieci VPN na poziomie urządzenia
- Zakres tylko do warstwy sieci aplikacji
Gdy aplikacja wykonuje wywołanie sieciowe, zestaw SDK przechwytuje wywołanie sieciowe i ustanawia połączenie sieci VPN. To połączenie sieci VPN w aplikacji nie jest wyświetlane w aplikacji Ustawienia na urządzeniu z systemem iOS/iPadOS.
Architektura: tunel dla zestawu SDK zarządzania aplikacjami mobilnymi dla systemu iOS
Na poniższej ilustracji opisano przepływ z zarządzanej aplikacji, która została pomyślnie zintegrowana z zestawem Tunnel for MAM iOS SDK:
Po początkowym uruchomieniu aplikacji połączenie jest nawiązywane przy użyciu zestawu SDK Microsoft Tunnel do MAM dla systemu iOS.
Tunel pobiera token uwierzytelniania urządzenia z Tożsamość Microsoft Entra.
Jeśli urządzenie zalogowało się do innej aplikacji z obsługą zarządzania aplikacjami mobilnymi, takiej jak Outlook, Edge lub Aplikacja mobilna Platformy Microsoft 365, urządzenie może mieć już token uwierzytelniania Microsoft Entra. Jeśli prawidłowy token uwierzytelniania już istnieje, używany jest istniejący token.
Następuje połączenie TCP Connect, czyli uzgadnianie protokołu TLS między tokenem a serwerem tunelu.
Jeśli protokół UDP jest włączony w bramie Microsoft Tunnel Gateway, zostanie nawiązane połączenie kanału danych przy użyciu protokołu DTLS. Jeśli protokół UDP jest wyłączony, protokół TCP ustanawia kanał danych do bramy tunelu.
Aby uzyskać więcej informacji, przejdź do notatek dotyczących protokołu TCP i UDP w omówieniu rozwiązania Microsoft Tunnel — architektura.
Gdy aplikacja mobilna nawiązywa połączenie z lokalnym zasobem firmowym:
- Microsoft Tunnel do MAM żądania interfejsu API dotyczące nawiązywania połączenia z zasobem firmy.
- Szyfrowane żądanie internetowe jest tworzone i wysyłane do zasobu firmowego.
Zadania Xcode
W tej sekcji wymieniono i opisano zadania Xcode, które należy wykonać, w tym:
- Dodawanie struktur i bibliotek
- Przejrzyj i zaktualizuj następujące funkcje:
-
info.plist
plik - Ustawienia kompilacji
- Udostępnianie łańcucha kluczy
-
- Użyj przykładów, aby zaktualizować projekt Xcode AppDelegate i dodać plik delegata microsoft tunnel
Krok 1. Dodawanie struktur i bibliotek
Poniższe struktury obejmują niezbędne interfejsy API i metody delegowania do komunikowania się z Intune microsoft tunnel gateway. Implementują funkcje sieci VPN microsoft tunnel w aplikacji.
Aby włączyć zestaw SDK aplikacji Tunnel for MAM iOS, wykonaj następujące kroki:
Pobierz i wyodrębnij zestaw Tunnel for MAM iOS SDK do folderu na komputerze z systemem macOS. To zadanie jest również wymienione w wymaganiach wstępnych.
Skopiuj następujące dziewięć struktur do folderu platformy projektów aplikacji Xcode:
crypto.xcframework
MCPCommon.xcframework
MCPCore.xcframework
MCPPluginUnencryptedFile.xcframework
MicrosoftTunnelApi.xcframework
MSTAPNextPluginSecurityOpenssl.xcframework
MSTAPNextPluginSwiftSupport.xcframework
MSTAPNextPluginVpnMicrosoftTunnel.xcframework
ssl.xcframework
W projekcie Xcode wybierz projekt > aplikacji Dodaj pliki. W poniższym przykładzie pliki są dodawane do projektu aplikacji o nazwie "Flash Chat":
W obszarze PROJECT>TARGETS wybierz pozycję Fazy kompilacji>Osadzanie struktur. Dodaj (+) wszystkie dziewięć struktur:
W poniższym przykładzie przedstawiono wszystkie dziewięć dodanych struktur:
W obszarze PROJECT>TARGETS wybierz pozycję Build PhasesLink Binary with Libraries (Połącz fazy kompilacji> z bibliotekami). Na liście należy dodać tylko strukturę
MicrosoftTunnelApi.xcframework
. Jeśli na liście znajdują się inne struktury, usuń je przy użyciu wartości minus (-):
Krok 2. Aktualizowanie info.plist
pliku
W pliku info.plist
dla projektu aplikacji Xcode potwierdź następujące ustawienia:
Identyfikator pakietu: upewnij się, że ten sam identyfikator pakietu wymieniony w Microsoft Entra Rejestracja aplikacji dla aplikacji mobilnej systemu iOS jest tym samym identyfikatorem pakietu w projekcie aplikacji:
Aby sprawdzić identyfikator pakietu:
Typy adresów URL: w obszarze PROJECT>TARGETS wybierz pozycję Informacje.
W obszarze Typy adresów URL potwierdź, że zmienna
$(PRODUCT_BUNDLE_IDENTIFIER)
istnieje. Po zintegrowaniu zestawu Intune App SDK dla systemu iOS z projektem aplikacji (wymagane wymaganie wstępne) ta zmienna powinna zostać utworzona.Jeśli zmiennej nie ma, musisz ją dodać:
Korzystając z zestawu SDK aplikacji Intune dla systemu iOS (wymagane wymaganie wstępne), utwórz właściwość
info.plist
Array i nadaj jej nazwę Schematy adresów URL zapytań.Dodaj elementy ciągu wymienione w przewodniku dla deweloperów zestawu Intune App SDK dla systemu iOS — krok 5. Ten krok tworzy schematy adresów URL zestawu SDK Intune MAM.
W poniższym przykładzie pokazano plik info.plist przy użyciu schematów adresów URL zapytań:
Dodaj zmienną
$(PRODUCT_BUNDLE_IDENTIFIER)
.W poniższym przykładzie przedstawiono zmienną
$(PRODUCT_BUNDLE_IDENTIFIER)
w typach adresów URL:
IntuneMAMSettings: Upewnij się, że następujące ustawienia biblioteki MSAL zostały skonfigurowane przy użyciu odpowiednich wartości rejestracji aplikacji Microsoft Entra:
Przejdź do obszaruInformacje oobiektach DOCELOWYCH>PROJEKTU>.
Wybierz pozycję IntuneMAMSettings. Potwierdź ustawienia:
-
ADALAuthority
: wprowadź identyfikator dzierżawy Microsoft Entra, na przykładhttps://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID
. -
ADALClientId
: wprowadź identyfikator klienta aplikacji. -
ADALRedirectUri
: Wprowadźmsauth.$(PRODUCT_BUNDLE_IDENTIFIER):/auth
wartość .
-
Po zintegrowaniu zestawu Intune App SDK dla systemu iOS z projektem aplikacji (wymaga to wymaganego wymagania wstępnego) te ustawienia powinny zostać skonfigurowane.
Jeśli te ustawienia nie są skonfigurowane, należy je skonfigurować. Aby utworzyć właściwość Słownik intuneMAMSettings
info.plist
i skojarzone ciągi biblioteki uwierzytelniania firmy Microsoft, postępuj zgodnie ze wskazówkami dla deweloperów zestawu Intune App SDK dla systemu iOS (wymaganym wymaganiem wstępnym) w temacie Configure MSAL settings for Intune App SDK guidance (Konfigurowanie ustawień biblioteki MSAL dla zestawu SDK aplikacji Intune).W poniższym przykładzie przedstawiono skonfigurowane wartości:
Krok 3. Wyłączanie kodu bitowego
- Przejdź doobszaru Project TARGETS Build settings (Ustawienia kompilacjiobiektów docelowych>projektu>).
- Wybierz pozycję Opcje kompilacji>Włącz kod bitowy.
- Wybierz pozycję Nie.
Krok 4. Dodawanie udostępniania łańcucha kluczy
Udostępnianie pęku kluczy może lub nie jest obecne w projekcie aplikacji. Jeśli go tam nie ma, dodaj go:
- Przejdź do obszaru Project TARGETSSigning & Capabilities (Możliwości podpisywania & w programie PROJECT>TARGETS>).
- Wybierz pozycję Udostępnianie łańcucha kluczy.
- Na liście Grupy pęku kluczy dodaj (+)
com.microsoft.workplacejoin
.
Krok 5. Integrowanie zestawu SDK z aplikacją
✔️ Użyj przykładowej TunnelMAMTestApp2.xcproject
aplikacji.
W zależności od aplikacji LOB i jej implementacji/zamierzonego MicrosoftTunnelApi
celu użycie aplikacji może się różnić. Istnieją pewne podstawowe funkcje, które należy znać podczas integrowania zestawu SDK z aplikacją:
- Wszystkie interakcje z zestawem Microsoft Tunnel do MAM zestawu SDK systemu iOS są obsługiwane za pośrednictwem pojedynczego
MicrosoftTunnelAPI
obiektu. - Obiekt
MicrosoftTunnelAPI
wchodzi w interakcje z aplikacją przy użyciu delegata implementującegoMicrosoftTunnelDelegate
interfejs.
Aby dowiedzieć się, jak napisać delegata microsoft tunnel i jak zainicjować MicrosoftTunnelAPI
program , użyj przykładowych aplikacji zestawu Microsoft Tunnel do MAM zestawu SDK systemu iOS (otwiera witrynę gitHub).
W przykładowych aplikacjach projekt Xcode AppDelegate pokazuje:
- Jak obsługiwać wywołania zwrotne adresów URL MSAL
- Jak rozpocząć proces rejestracji i inicjowania wymagany dla aplikacji Tunnel
Aby rozpocząć, otwórz przykładową TunnelMAMTestApp2.xcproject
aplikację i przyjrzyj się & AppDelegate microsofttunnelDelegate w projekcie aplikacji.
Przykładowe aplikacje
✔️ Pobierz przykładowe aplikacje Microsoft Tunnel do MAM zestawu SDK systemu iOS (otwiera witrynę GitHub).
Te przykładowe aplikacje mogą ułatwić rozpoczęcie pracy i omówić różne scenariusze.
Metody MicrosoftTunnelAPI
Element MicrosoftTunnelAPI
obejmuje następujące metody:
Initialize
— sprawdza i ustawia konfiguracje sieci VPN, konfiguruje rejestrowanie i konfiguruje wystąpienieMicrosoftTunnelAPI
.Connect
— Pobiera wystąpienieMicrosoftTunnelAPI
i umożliwia przechwytywanie ruchu sieciowego. Jeśli interfejs API jest niezainicjowany, zostanie wyświetlony błąd.Disconnect
— Pobiera wystąpienieMicrosoftTunnelAPI
i wyłącza przechwytywanie ruchu sieciowego. Jeśli interfejs API jest niezainicjowany, zostanie wyświetlony błąd.onTokenRequired
–Fakultatywny. Jeśli aplikacja jest już zintegrowana z aplikacjąIntuneMAM
lub msal, musisz zaimplementować tęonTokenRequired
metodę. Ta metoda używaIntuneMAMSettings
biblioteki MSAL i w celu uzyskania prawidłowego tokenu uwierzytelniania w celu nawiązania połączenia z bramą Microsoft Tunnel Gateway.Logging
— Istnieją różne klasy rejestrowania, które są oznaczane przezk
. Na przykładkLoggingClassConnect
tworzy dane wyjściowe rejestrowania w konsoli Xcode. Te klucze konfiguracji rejestrowania można dodać do konfiguracji delegata. Istnieją przykłady tych klas rejestrowania w przykładowych aplikacjach.kLoggingClassInternal
kLoggingClassConnect
kLoggingClassPacket
kLoggingClassSocket
kLoggingClassHttp
kLoggingClassIntune
kLoggingClassMobileAccess
kLoggingSeverityDebug
kLoggingSeverityInfo
kLoggingSeverityWarn
kLoggingSeverityMinor
kLoggingSeverityMajor
kLoggingSeverityCrit
Ostrzeżenie
Nie używaj kluczy debugowania w wdrożonych aplikacjach. Klucze mogą rejestrować i wyświetlać informacje umożliwiające identyfikację użytkownika oraz dane zabezpieczeń.
Rejestrowanie w aplikacjach biznesowych systemu iOS/iPadOS
Zintegrowanie zestawu SDK nie powoduje automatycznego włączenia rejestrowania. Deweloper musi dodać odpowiedni kod, aby zaimplementować strukturę delegata rejestrowania i wykonać odpowiednie wywołania rejestrowania. Konkretna implementacja różni się w zależności od zestawu SDK i wymagań dewelopera.
Deweloper powinien:
Upewnij się, że nie zawierają żadnych danych osobowych użytkownika końcowego ani danych osobowych użytkownika końcowego w rejestrowaniu. Muszą one być zgodne z przepisami dotyczącymi prywatności.
Skonsultuj się z zespołem ds. ochrony prywatności firmy/organizacji i współpracuj z nimi. Zespół ds. ochrony prywatności może dostarczyć wskazówek dotyczących odpowiednich danych, które mogą być rejestrowane, oraz odpowiednich sposobów obsługi danych poufnych.
Ostrzeżenie
Aby uzyskać szczegółowe wskazówki dotyczące rejestrowania i prywatności danych, zapoznaj się z dokumentacją dotyczącą prywatności zestawu SDK Microsoft Tunnel do MAM systemu iOS (otwiera plik PDF w usłudze GitHub).
przykład metody delegata dziennika MAM-Tunnel
Informacje o ochronie prywatności usługi Microsoft Tunnel for Mobile Application Management
Twoja prywatność jest dla nas ważna. Zapoznaj się z następującą dokumentacją online dotyczącą prywatności:
- Zasady zachowania poufności informacji firmy Microsoft
- Prywatność i dane osobowe w Intune
- Przechowywanie i przetwarzanie danych w Intune
Podczas integrowania zestawu Microsoft Tunnel do MAM zestawu iOS SDK z aplikacjami mobilnymi następujące dane są zbierane, gdy deweloper:
- Włącza moduł telemetrii zarządzania aplikacjami mobilnymi Intune w aplikacji
Zebrane dane mogą obejmować następujące obszary:
- wersja zestawu SDK Microsoft Tunnel do MAM
- Informacje o użytkowniku wygenerowane przez firmę Microsoft
- Identyfikator urządzenia
- Informacje o sprzęcie i oprogramowaniu
- Urządzenie
- Model urządzenia
- Wersja systemu operacyjnego urządzenia
- Administracja i informacje o koncie
- identyfikator dzierżawy Intune
- identyfikator dzierżawy Microsoft Entra
- Pomiar użycia:
- Inicjowanie sieci VPN
- Zdarzenia połączenia sieci VPN i rozłączania
- Informacje o błędzie
- Błędy związane z niepowodzeniem połączenia sieci VPN
Nie są zbierane żadne informacje umożliwiające identyfikację użytkownika.
Ważna
Jako deweloper podczas integrowania zestawu SDK ważne jest, aby nie uwzględniać żadnych danych możliwych do zidentyfikowania przez użytkownika podczas używania kodu do adresowania i przechwytywania komunikatów w aplikacji.
Znane problemy
Aby uzyskać więcej znanych problemów, przejdź do przewodnika Microsoft Tunnel do MAM dla systemu iOS/iPadOS — Intune administratora.
Następne kroki
Microsoft Tunnel do MAM dla systemu iOS/iPadOS — przewodnik administratora Intune