Поделиться через


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

Примечание.

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

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

В этом руководстве рассматриваются различные части процесса интеграции в проекте приложения 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 для iOS для Microsoft Tunnel для MAM, необходимо выполнить следующие предварительные требования:

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

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

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

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

      На этом сайте также ознакомьтесь с условиями лицензионного соглашения Майкрософт Intune пакетом SDK для приложений для iOS.

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

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

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

    Важно!

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

Принцип работы пакета SDK для iOS для Microsoft Tunnel для MAM

Пакет 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 ID.

    Если устройство войдет в другое приложение с поддержкой 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-интерфейсы и методы делегирования для взаимодействия с Intune шлюзом Microsoft Tunnel. Они реализуют функции 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 (обязательное условие) создайте свойство Array и присвойте info.plist ему имя Схемы запрашиваемого URL-адреса.

      Добавьте строковые элементы, перечисленные в руководстве разработчика по пакету SDK для приложений Intune для iOS— шаг 5. На этом шаге создаются Intune схемы URL-адресов пакета SDK для 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 и связанные строки библиотеки проверки подлинности Майкрософт, следуйте инструкциям в руководстве разработчика по Intune пакету SDK для приложений для iOS (обязательное условие) в разделе Настройка параметров MSAL для Intune руководство по пакету SDK для приложений.

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

    Снимок экрана: выбор проекта, целевых объектов, сведений, 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 примеры приложений пакета SDK для iOS (открывается сайт GitHub).

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

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

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

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

✔️ Скачайте примеры приложений пакета SDK для iOS Microsoft Tunnel для MAM (открывается сайт 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 и требований разработчика.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Важно!

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

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

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

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

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