Руководство разработчика microsoft Tunnel для пакета SDK для IOS для MAM

Примечание.

Эта возможность доступна при добавлении Microsoft Intune (план 2) или Microsoft Intune Suite в качестве лицензии на надстройку. Дополнительные сведения см. в статье Использование возможностей надстроек Intune Suite.

Руководство разработчика по пакету SDK microsoft Tunnel для MAM для iOS — это ресурс для разработчиков. Она помогает разработчикам интегрировать и настроить пакет SDK в приложении iOS/iPadOS. Общие сведения о Microsoft Tunnel для MAM см. в руководстве администрирования Intune по Microsoft Tunnel для MAM для iOS/iPadOS.

В этом руководстве рассматриваются различные части процесса интеграции в проекте приложения Xcode, включая установку платформ, настройку info.plist файла, параметры сборки, общий доступ к ключам и реализацию методов делегирования пакета SDK.

Эти компоненты имеют решающее значение при разработке приложения iOS/iPadOS. Разработчики должны понимать, как перемещаться и настраивать компоненты пакета SDK. Если вы не знакомы с разработкой приложений Xcode и iOS/iPadOS, это руководство может помочь. Он содержит общие сведения о том, где найти различные компоненты пакета SDK и как использовать эти элементы в проектах приложений.

Данная функция применяется к:

  • iOS/iPadOS

Что находится в репозитории пакета SDK

Репозиторий ПАКЕТА SDK содержит следующие платформы. Эти платформы будут добавлены в проект приложения на следующем шаге:

  • crypto.xcframework
  • MCPCommon.xcframework
  • MCPCore.xcframework
  • MCPPluginUnencryptedFile.xcframework
  • MicrosoftTunnelApi.xcframework
  • MSTAPNextPluginSecurityOpenssl.xcframework
  • MSTAPNextPluginSwiftSupport.xcframework
  • MSTAPNextPluginVpnMicrosoftTunnel.xcframework
  • ssl.xcframework

Предварительные условия

Чтобы использовать пакет SDK Microsoft Tunnel для MAM iOS, необходимо выполнить следующие предварительные требования:

  • Компьютер macOS с установленным Xcode 14.0 или более поздней версии

  • Ваше бизнес-приложение iOS/iPadOS должно быть предназначено для iOS/iPadOS 14.0 или более поздней версии.

  • Существует два пакета SDK для GitHub, которые необходимо скачать и интегрировать с приложением iOS в Xcode. Прежде чем продолжить работу с пакетом SDK Microsoft Tunnel для IOS для MAM, убедитесь, что следующие проекты успешно создаются:

    1. Пакет SDK для приложений Intune для iOS (открывает сайт GitHub). Установите как минимум версию 16.1.1.

      На этом сайте также ознакомьтесь с файлом Microsoft License Terms Intune App SDK для iOS .

      Для записей сохраните копию условий лицензии. Скачивая и используя пакет SDK Microsoft Tunnel для MAM для iOS, вы соглашаетесь с условиями лицензии. Если вы не принимаете условия лицензии, не используйте программное обеспечение.

    2. Библиотека проверки подлинности Майкрософт (MSAL) (открывает сайт GitHub). Установите как минимум версию 1.2.3.

  • Установите и настройте пакет SDK Microsoft Tunnel для MAM для iOS (открывается сайт GitHub). Этот пакет SDK рассматривается в этой статье.

    Важно!

    Intune регулярно выпускает обновления пакета SDK microsoft Tunnel для MAM для iOS. Регулярно проверяйте наличие обновлений в пакете SDK Microsoft Tunnel для MAM iOS . Добавьте эти обновления в цикл выпуска разработки программного обеспечения. Вы хотите убедиться, что приложения поддерживают обновления и усовершенствования функций шлюза Microsoft Tunnel.

Как работает пакет SDK Microsoft Tunnel для MAM для iOS

Пакет SDK tunnel for MAM для iOS позволяет приложениям iOS и iPadOS устанавливать VPN-подключение в приложении. VPN-подключение существует только в приложении.

Подытожим, что vpn-подключения в приложении:

  • Дискретные VPN-подключения не на уровне устройства
  • Область действия только сетевого уровня приложения

Когда приложение выполняет сетевой вызов, пакет SDK перехватывает сетевой вызов и устанавливает VPN-подключение. Это VPN-подключение из приложения не отображается в приложении "Параметры" на устройстве iOS/iPadOS.

Архитектура: Tunnel for MAM iOS SDK

На следующем рисунке описывается поток из управляемого приложения, которое успешно интегрировано с Tunnel for MAM iOS SDK:

Схема архитектуры шлюза Microsoft Tunnel для MAM в iOS/iPadOS в Microsoft Intune.

  1. При первоначальном запуске приложения подключение выполняется с помощью пакета SDK Microsoft Tunnel для MAM для iOS.

  2. Туннель получает маркер проверки подлинности устройства из Идентификатора Microsoft Entra.

    Если устройство вошел в другое приложение с поддержкой MAM, например Outlook, Edge или мобильное приложение Microsoft 365, возможно, оно уже имеет маркер проверки подлинности Microsoft Entra. Если допустимый маркер проверки подлинности уже существует, используется существующий маркер.

  3. Возникает TCP Connect, который представляет собой подтверждение TLS между маркером и сервером туннеля.

  4. Если UDP включен в шлюзе Microsoft Tunnel, то выполняется подключение к каналу данных с помощью DTLS. Если UDP отключен, TCP устанавливает канал данных для шлюза Tunnel.

    Дополнительные сведения см. в заметках о TCP и UDP в обзоре Microsoft Tunnel — архитектура.

  5. Когда мобильное приложение устанавливает подключение к локальному корпоративному ресурсу:

    1. Запросы API Microsoft Tunnel для MAM для подключения к ресурсу компании.
    2. Зашифрованный веб-запрос создается и отправляется в корпоративный ресурс.

Задачи Xcode

В этом разделе перечислены и описаны задачи Xcode, которые необходимо выполнить, в том числе:

  • Добавление платформ и библиотек
  • Просмотрите и обновите следующие функции:
    • info.plistфайл
    • Параметры сборки
    • Общий доступ к цепочке ключей
  • Использование примеров для обновления проекта Xcode AppDelegate и добавления файла делегата Microsoft Tunnel

Шаг 1. Добавление платформ и библиотек

Следующие платформы включают необходимые API-интерфейсы и методы делегирования для взаимодействия со шлюзом Microsoft Tunnel в Intune. Они реализуют функции VPN Microsoft Tunnel в приложении.

Чтобы включить пакет SDK tunnel for MAM для iOS, выполните следующие действия.

  1. Скачайте и извлеките пакет SDK tunnel for MAM iOS в папку на компьютере macOS. Эта задача также указана в разделе Предварительные требования.

    Скопируйте следующие девять платформ в папку платформы проектов приложения Xcode:

    • crypto.xcframework
    • MCPCommon.xcframework
    • MCPCore.xcframework
    • MCPPluginUnencryptedFile.xcframework
    • MicrosoftTunnelApi.xcframework
    • MSTAPNextPluginSecurityOpenssl.xcframework
    • MSTAPNextPluginSwiftSupport.xcframework
    • MSTAPNextPluginVpnMicrosoftTunnel.xcframework
    • ssl.xcframework
  2. В проекте Xcode выберите проект > приложения Добавить файлы. В следующем примере файлы добавляются в проект приложения с именем Flash Chat:

    Экран, показывающий, как добавить файлы в проект приложения в Xcode на устройстве macOS.

  3. В разделеЦЕЛЕВЫЕ ОБЪЕКТЫПРОЕКТА> выберите Этапы сборки>Внедрение платформ. Добавьте (+) все девять платформ:

    Снимок экрана: внедрение платформ в Xcode на устройстве macOS.

    В следующем примере показаны все девять добавленных платформ:

    Снимок экрана: все платформы Microsoft Tunnel, внедренные в Xcode на устройстве macOS.

  4. В разделе PROJECT>TARGETS выберите Этапы сборки Связать>двоичный файл с библиотеками. В списке должна быть добавлена MicrosoftTunnelApi.xcframework только платформа. Если перечислены другие платформы, удалите их с помощью минуса (-):

    Снимок экрана, на котором показано, как удалить платформы в link binary with Libraries in Xcode на устройстве macOS.

Шаг 2. Обновление info.plist файла

В для info.plist проекта приложения Xcode подтвердите следующие параметры:

  • Идентификатор пакета. Убедитесь, что тот же идентификатор пакета, указанный в регистрации приложения Microsoft Entra для мобильного приложения iOS , совпадает с идентификатором пакета в проекте приложения.

    Чтобы проверить идентификатор пакета, выполните следующие действия:

    1. Перейдите в разделЦЕЛИ>ПРОЕКТА>Общие.

    2. ВыберитеИдентификатор пакетаудостоверений>:

      Снимок экрана: выбор проекта, целевых объектов, общего и удостоверения для добавления идентификатора пакета в Xcode на устройстве macOS.

  • Типы URL-адресов. В разделеЦЕЛЕВЫЕ ОБЪЕКТЫПРОЕКТА> выберите Сведения.

    В поле Типы URL-адресов убедитесь, что $(PRODUCT_BUNDLE_IDENTIFIER) переменная существует. При интеграции пакета SDK для приложений Intune для iOS с проектом приложения (обязательное условие) эта переменная должна была быть создана.

    Если переменной нет, ее необходимо добавить:

    1. С помощью пакета SDK для приложений Intune для iOS (обязательное условие) создайте info.plist свойство Array и присвойдите ему имя Схемы запрашиваемого URL-адреса.

      Добавьте строковые элементы, перечисленные в руководстве разработчика по пакету SDK для приложений Intune для iOS — шаг 5. На этом шаге создаются схемы URL-адресов пакета SDK для Intune MAM.

      В следующем примере показан info.plist с помощью запрошенных схем URL-адресов:

      Снимок экрана: выбор проекта, целевых объектов, сведений, запрашиваемой схемы URL-адресов в Xcode на устройстве macOS.

    2. $(PRODUCT_BUNDLE_IDENTIFIER) Добавьте переменную.

      В следующем примере показана $(PRODUCT_BUNDLE_IDENTIFIER) переменная в поле Типы URL-адресов:

      Снимок экрана: выбор проекта, целевых объектов, сведений, типов URL-адресов в Xcode на устройстве macOS.

  • IntuneMAMSettings. Убедитесь, что для следующих параметров MSAL настроены соответствующие значения регистрации приложений Microsoft Entra:

    1. Перейдите в разделСведения о целевых объектах>проекта>.

    2. Выберите IntuneMAMSettings. Подтвердите параметры:

      • ADALAuthority: введите идентификатор клиента Microsoft Entra, например https://login.microsoftonline.com/USE_YOUR_ Directory (tenant) ID.
      • ADALClientId: введите идентификатор клиента приложения.
      • ADALRedirectUri: введите msauth.$(PRODUCT_BUNDLE_IDENTIFIER):/auth.

    При интеграции пакета SDK для приложений Intune для iOS с проектом приложения (обязательное условие) эти параметры должны быть настроены.

    Если эти параметры не настроены, их необходимо настроить. Чтобы создать свойство Словарь IntuneMAMSettings info.plist и связанные строки библиотеки проверки подлинности Майкрософт, следуйте инструкциям в руководстве разработчика по пакету SDK для приложений Intune для iOS (обязательное условие) в разделе Настройка параметров MSAL для пакета SDK для приложений Intune .

    В следующем примере показаны эти настроенные значения:

    Снимок экрана: выбор проекта, целевых объектов, сведений, IntuneMAMSetting в Xcode на устройстве macOS.

Шаг 3. Отключение биткода

  1. Перейдите враздел Параметры сборки целевыхобъектов>ПРОЕКТА>.
  2. Выберите Параметры сборки>Включить биткод.
  3. Выберите Нет.

Снимок экрана: выбор проекта, целевых объектов, параметров сборки, параметров сборки и отключение битового кода в Xcode на устройстве macOS.

Шаг 4. Добавление общего доступа к цепочке ключей

Общий доступ к цепочке ключей может присутствовать в проекте приложения. Если его там нет, добавьте его.

  1. Перейдите в раздел Project>TARGETS>Подписывание & Возможности.
  2. Выберите Общий доступ к цепочке ключей.
  3. В списке Группы цепочки ключей добавьте (+) com.microsoft.workplacejoin.

Снимок экрана: выбор проекта, целевых объектов, возможности подписывания &, общий доступ к цепочке ключей и добавление группы цепочки ключей в Xcode на устройстве macOS.

Шаг 5. Интеграция пакета SDK с приложением

✔️ TunnelMAMTestApp2.xcproject Используйте пример приложения.

В зависимости от бизнес-приложения и его реализации и целевого MicrosoftTunnelApi назначения использование может отличаться. При интеграции пакета SDK с приложением необходимо знать некоторые основные функции:

  • Все взаимодействия с пакетом SDK Microsoft Tunnel для MAM для iOS обрабатываются с помощью одноэлементного MicrosoftTunnelAPI объекта.
  • Объект MicrosoftTunnelAPI взаимодействует с приложением с помощью делегата, реализующего MicrosoftTunnelDelegate интерфейс . 

Чтобы понять, как написать делегат Microsoft Tunnel и инициализировать MicrosoftTunnelAPI, используйте примеры приложений Microsoft Tunnel для MAM iOS SDK (открывается сайт GitHub).

В примерах приложений проект Xcode AppDelegate показывает:

  • Обработка обратных вызовов URL-адреса MSAL
  • Запуск процесса регистрации и инициализации, необходимого для Tunnel

Чтобы приступить к работе, откройте TunnelMAMTestApp2.xcproject пример приложения и просмотрите appDelegate & MicrosoftTunnelDelegate в проекте приложения.

Примеры приложений

✔️ Скачайте примеры приложений пакета SDK microsoft Tunnel для MAM для iOS (открывается сайт GitHub).

Эти примеры приложений помогут вам приступить к работе и охватить различные сценарии.

Методы MicrosoftTunnelAPI

Включает MicrosoftTunnelAPI следующие методы:

  • Initialize — проверяет и задает конфигурации VPN, настраивает ведение журнала и настраивает MicrosoftTunnelAPI экземпляр.

  • Connect — получает MicrosoftTunnelAPI экземпляр и включает перехват сетевого трафика. Если API не инициализирован, отображается ошибка.

  • Disconnect — получает MicrosoftTunnelAPI экземпляр и отключает перехват сетевого трафика. Если API не инициализирован, отображается ошибка.

  • onTokenRequired –Необязательный. Если приложение уже интегрируется с или IntuneMAM MSAL, необходимо реализовать этот onTokenRequired метод. Этот метод использует IntuneMAMSettings и MSAL для получения допустимого маркера проверки подлинности для подключения к шлюзу Microsoft Tunnel.

  • Logging— Существуют различные классы ведения журнала, обозначаемые .k Например, kLoggingClassConnect создает выходные данные ведения журнала в консоли Xcode. Эти ключи конфигурации ведения журнала можно добавить в конфигурацию делегата. В примерах приложений есть несколько примеров этих классов ведения журнала.

    • kLoggingClassInternal
    • kLoggingClassConnect
    • kLoggingClassPacket
    • kLoggingClassSocket
    • kLoggingClassHttp
    • kLoggingClassIntune
    • kLoggingClassMobileAccess
    • kLoggingSeverityDebug
    • kLoggingSeverityInfo
    • kLoggingSeverityWarn
    • kLoggingSeverityMinor
    • kLoggingSeverityMajor
    • kLoggingSeverityCrit

Предупреждение

Не используйте ключи отладки в развернутых приложениях. Ключи могут записывать в журнал и отображать идентифицируемые пользователем сведения и данные безопасности.

Ведение журнала в бизнес-приложениях iOS/iPadOS

Интеграция пакета SDK не включает ведение журнала автоматически. Разработчик должен добавить соответствующий код для реализации платформы делегатов ведения журнала и выполнить соответствующие вызовы ведения журнала. Конкретная реализация зависит от пакета SDK и требований разработчика.

Разработчик должен:

  • Убедитесь, что они не включают в журнал какие-либо идентифицируемые данные клиента или конечного пользователя. Они должны соблюдать правила конфиденциальности.

  • Проконсультируйтесь и обратитесь к группе по обеспечению конфиденциальности компании или организации. Команда по обеспечению конфиденциальности может предоставить рекомендации по соответствующим данным, которые можно регистрировать, и соответствующие способы обработки конфиденциальных данных.

Предупреждение

Ознакомьтесь с документацией по конфиденциальности пакета SDK microsoft Tunnel для MAM для iOS (открывает PDF-файл в GitHub) для получения конкретных рекомендаций по ведению журнала и конфиденциальности данных.

Пример метода делегата журнала MAM-Tunnel

Снимок экрана: пример метода делегата журнала Microsoft Tunnel в Xcode на устройстве macOS.

Снимок экрана: пример выходных данных журнала Microsoft Tunnel в Xcode на устройстве macOS.

Сведения о конфиденциальности Microsoft Tunnel для управления мобильными приложениями

Ваша конфиденциальность важна для нас. Ознакомьтесь со следующей документацией по конфиденциальности в Интернете:

При интеграции пакета SDK Microsoft Tunnel для MAM для iOS в мобильные приложения разработчик собирает следующие данные:

  • Включает модуль телеметрии Intune MAM в приложении

Собираемые данные могут включать следующие области:

  • Версия пакета SDK microsoft Tunnel для MAM
  • Сведения о пользователе, создаваемые Майкрософт
    • Код устройства
  • Сведения об оборудовании и программном обеспечении
    • Марка устройства
    • Модель устройства
    • Версия ОС устройства
  • Информация об учетных записях и администраторе
    • Идентификатор клиента Intune
    • Идентификатор клиента Microsoft Entra
  • Измерение использования:
    • Инициализация VPN
    • События подключения и отключения VPN
  • Сведения об ошибках
    • Ошибки, связанные со сбоем VPN-подключения

Сведения, идентифицируемые пользователем, не собираются.

Важно!

Как разработчик, при интеграции пакета SDK важно не включать данные, идентифицируемые пользователем, при использовании кода для обработки и записи сообщений в приложении.

Известные проблемы

Дополнительные сведения о проблемах см. в руководстве администратора Microsoft Tunnel для MAM для iOS/iPadOS.

Дальнейшие действия

Microsoft Tunnel для MAM для iOS/iPadOS — руководство администратора Intune