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:

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

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

Rysunek usługi Microsoft Tunnel Gateway dla zarządzania aplikacjami mobilnymi w architekturze systemu iOS/iPadOS w Microsoft Intune.

  1. Po początkowym uruchomieniu aplikacji połączenie jest nawiązywane przy użyciu zestawu SDK Microsoft Tunnel do MAM dla systemu iOS.

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

  3. Następuje połączenie TCP Connect, czyli uzgadnianie protokołu TLS między tokenem a serwerem tunelu.

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

  5. Gdy aplikacja mobilna nawiązywa połączenie z lokalnym zasobem firmowym:

    1. Microsoft Tunnel do MAM żądania interfejsu API dotyczące nawiązywania połączenia z zasobem firmy.
    2. 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.plistPlik
    • 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:

  1. 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
  2. W projekcie Xcode wybierz projekt > aplikacji Dodaj pliki. W poniższym przykładzie pliki są dodawane do projektu aplikacji o nazwie "Flash Chat":

    Ekran przedstawiający sposób dodawania plików do projektu aplikacji w programie Xcode na urządzeniu z systemem macOS.

  3. W obszarze PROJECT>TARGETS wybierz pozycję Fazy kompilacji>Osadzanie struktur. Dodaj (+) wszystkie dziewięć struktur:

    Zrzut ekranu przedstawiający struktury osadzania w programie Xcode na urządzeniu z systemem macOS.

    W poniższym przykładzie przedstawiono wszystkie dziewięć dodanych struktur:

    Zrzut ekranu przedstawiający wszystkie struktury microsoft tunnel osadzone w środowisku Xcode na urządzeniu z systemem macOS.

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

    Zrzut ekranu przedstawiający sposób usuwania struktur w łącz dane binarne z bibliotekami w programie Xcode na urządzeniu z systemem macOS.

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:

    1. Przejdź do pozycji PROJECTTARGETSGeneral (Ogólne cele > projektu>).

    2. Wybierzidentyfikator pakietutożsamości>:

      Zrzut ekranu przedstawiający wybieranie projektu, obiektów docelowych, ogólnych i tożsamości w celu dodania identyfikatora pakietu w programie Xcode na urządzeniu z systemem macOS.

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

    1. Korzystając z zestawu SDK aplikacji Intune dla systemu iOS (wymagane wymaganie wstępne), utwórz właściwość info.plistArray 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ń:

      Zrzut ekranu przedstawiający wybieranie wartości schematów adresów URL w programie Xcode na urządzeniu z systemem macOS, a także elementy docelowe, informacje i schematy adresów URL.

    2. Dodaj zmienną $(PRODUCT_BUNDLE_IDENTIFIER) .

      W poniższym przykładzie przedstawiono zmienną $(PRODUCT_BUNDLE_IDENTIFIER) w typach adresów URL:

      Zrzut ekranu przedstawiający wybieranie projektu, obiektów docelowych, informacji, typów adresów URL w programie Xcode na urządzeniu z systemem macOS.

  • IntuneMAMSettings: Upewnij się, że następujące ustawienia biblioteki MSAL zostały skonfigurowane przy użyciu odpowiednich wartości rejestracji aplikacji Microsoft Entra:

    1. Przejdź do obszaruInformacje oobiektach DOCELOWYCH>PROJEKTU>.

    2. Wybierz pozycję IntuneMAMSettings. Potwierdź ustawienia:

      • ADALAuthority: wprowadź identyfikator dzierżawy Microsoft Entra, na przykład https://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID.
      • ADALClientId: wprowadź identyfikator klienta aplikacji.
      • ADALRedirectUri: Wprowadź msauth.$(PRODUCT_BUNDLE_IDENTIFIER):/authwartość .

    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:

    Zrzut ekranu przedstawiający wybieranie projektu, obiektów docelowych, informacji, intuneMAMSetting w programie Xcode na urządzeniu z systemem macOS.

Krok 3. Wyłączanie kodu bitowego

  1. Przejdź doobszaru Project TARGETS Build settings (Ustawienia kompilacjiobiektów docelowych>projektu>).
  2. Wybierz pozycję Opcje kompilacji>Włącz kod bitowy.
  3. Wybierz pozycję Nie.

Zrzut ekranu przedstawiający wybieranie projektu, obiektów docelowych, ustawień kompilacji, opcji kompilacji i wyłączanie kodu bitowego w programie Xcode na urządzeniu z systemem macOS.

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:

  1. Przejdź do obszaru Project TARGETSSigning & Capabilities (Możliwości podpisywania & w programie PROJECT>TARGETS>).
  2. Wybierz pozycję Udostępnianie łańcucha kluczy.
  3. Na liście Grupy łańcucha kluczy dodaj (+) com.microsoft.workplacejoin.

Zrzut ekranu przedstawiający wybieranie projektu, obiektów docelowych, podpisywanie & możliwości, udostępnianie łańcucha kluczy i dodawanie grupy łańcucha kluczy w programie Xcode na urządzeniu z systemem macOS.

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ącego MicrosoftTunnelDelegate interfejs. 

Aby dowiedzieć się, jak napisać delegata microsoft tunnel i jak zainicjować MicrosoftTunnelAPIprogram , 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ąpienie MicrosoftTunnelAPI .

  • Connect — Pobiera wystąpienie MicrosoftTunnelAPI i umożliwia przechwytywanie ruchu sieciowego. Jeśli interfejs API jest niezainicjowany, zostanie wyświetlony błąd.

  • Disconnect — Pobiera wystąpienie MicrosoftTunnelAPI i wyłącza przechwytywanie ruchu sieciowego. Jeśli interfejs API jest niezainicjowany, zostanie wyświetlony błąd.

  • onTokenRequired –Opcjonalne. Jeśli aplikacja jest już zintegrowana z aplikacją IntuneMAM lub msal, musisz zaimplementować tę onTokenRequired metodę. Ta metoda używa IntuneMAMSettings 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 przez k. Na przykład kLoggingClassConnect 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

Zrzut ekranu przedstawiający przykładową metodę delegata dziennika tunelu firmy Microsoft w programie Xcode na urządzeniu z systemem macOS.

Zrzut ekranu przedstawiający przykładowe dane wyjściowe dziennika microsoft tunnel w programie Xcode na urządzeniu z systemem macOS.

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:

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