Руководство разработчика 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, убедитесь, что следующие проекты успешно создаются:
Пакет SDK для приложений Intune для iOS (открывает сайт GitHub). Установите как минимум версию 16.1.1.
На этом сайте также ознакомьтесь с файлом Microsoft License Terms Intune App SDK для iOS .
Для записей сохраните копию условий лицензии. Скачивая и используя пакет SDK Microsoft Tunnel для MAM для iOS, вы соглашаетесь с условиями лицензии. Если вы не принимаете условия лицензии, не используйте программное обеспечение.
Библиотека проверки подлинности Майкрософт (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:
При первоначальном запуске приложения подключение выполняется с помощью пакета SDK Microsoft Tunnel для MAM для iOS.
Туннель получает маркер проверки подлинности устройства из Идентификатора Microsoft Entra.
Если устройство вошел в другое приложение с поддержкой MAM, например Outlook, Edge или мобильное приложение Microsoft 365, возможно, оно уже имеет маркер проверки подлинности Microsoft Entra. Если допустимый маркер проверки подлинности уже существует, используется существующий маркер.
Возникает TCP Connect, который представляет собой подтверждение TLS между маркером и сервером туннеля.
Если UDP включен в шлюзе Microsoft Tunnel, то выполняется подключение к каналу данных с помощью DTLS. Если UDP отключен, TCP устанавливает канал данных для шлюза Tunnel.
Дополнительные сведения см. в заметках о TCP и UDP в обзоре Microsoft Tunnel — архитектура.
Когда мобильное приложение устанавливает подключение к локальному корпоративному ресурсу:
- Запросы API Microsoft Tunnel для MAM для подключения к ресурсу компании.
- Зашифрованный веб-запрос создается и отправляется в корпоративный ресурс.
Задачи Xcode
В этом разделе перечислены и описаны задачи Xcode, которые необходимо выполнить, в том числе:
- Добавление платформ и библиотек
- Просмотрите и обновите следующие функции:
-
info.plist
файл - Параметры сборки
- Общий доступ к цепочке ключей
-
- Использование примеров для обновления проекта Xcode AppDelegate и добавления файла делегата Microsoft Tunnel
Шаг 1. Добавление платформ и библиотек
Следующие платформы включают необходимые API-интерфейсы и методы делегирования для взаимодействия со шлюзом Microsoft Tunnel в Intune. Они реализуют функции VPN Microsoft Tunnel в приложении.
Чтобы включить пакет SDK tunnel for MAM для iOS, выполните следующие действия.
Скачайте и извлеките пакет 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
В проекте Xcode выберите проект > приложения Добавить файлы. В следующем примере файлы добавляются в проект приложения с именем Flash Chat:
В разделеЦЕЛЕВЫЕ ОБЪЕКТЫПРОЕКТА> выберите Этапы сборки>Внедрение платформ. Добавьте (+) все девять платформ:
В следующем примере показаны все девять добавленных платформ:
В разделе PROJECT>TARGETS выберите Этапы сборки Связать>двоичный файл с библиотеками. В списке должна быть добавлена
MicrosoftTunnelApi.xcframework
только платформа. Если перечислены другие платформы, удалите их с помощью минуса (-):
Шаг 2. Обновление info.plist
файла
В для info.plist
проекта приложения Xcode подтвердите следующие параметры:
Идентификатор пакета. Убедитесь, что тот же идентификатор пакета, указанный в регистрации приложения Microsoft Entra для мобильного приложения iOS , совпадает с идентификатором пакета в проекте приложения.
Чтобы проверить идентификатор пакета, выполните следующие действия:
Типы URL-адресов. В разделеЦЕЛЕВЫЕ ОБЪЕКТЫПРОЕКТА> выберите Сведения.
В поле Типы URL-адресов убедитесь, что
$(PRODUCT_BUNDLE_IDENTIFIER)
переменная существует. При интеграции пакета SDK для приложений Intune для iOS с проектом приложения (обязательное условие) эта переменная должна была быть создана.Если переменной нет, ее необходимо добавить:
С помощью пакета SDK для приложений Intune для iOS (обязательное условие) создайте
info.plist
свойство Array и присвойдите ему имя Схемы запрашиваемого URL-адреса.Добавьте строковые элементы, перечисленные в руководстве разработчика по пакету SDK для приложений Intune для iOS — шаг 5. На этом шаге создаются схемы URL-адресов пакета SDK для Intune MAM.
В следующем примере показан info.plist с помощью запрошенных схем URL-адресов:
$(PRODUCT_BUNDLE_IDENTIFIER)
Добавьте переменную.В следующем примере показана
$(PRODUCT_BUNDLE_IDENTIFIER)
переменная в поле Типы URL-адресов:
IntuneMAMSettings. Убедитесь, что для следующих параметров MSAL настроены соответствующие значения регистрации приложений Microsoft Entra:
Перейдите в разделСведения о целевых объектах>проекта>.
Выберите 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 .В следующем примере показаны эти настроенные значения:
Шаг 3. Отключение биткода
- Перейдите враздел Параметры сборки целевыхобъектов>ПРОЕКТА>.
- Выберите Параметры сборки>Включить биткод.
- Выберите Нет.
Шаг 4. Добавление общего доступа к цепочке ключей
Общий доступ к цепочке ключей может присутствовать в проекте приложения. Если его там нет, добавьте его.
- Перейдите в раздел Project>TARGETS>Подписывание & Возможности.
- Выберите Общий доступ к цепочке ключей.
- В списке Группы цепочки ключей добавьте (+)
com.microsoft.workplacejoin
.
Шаг 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 для управления мобильными приложениями
Ваша конфиденциальность важна для нас. Ознакомьтесь со следующей документацией по конфиденциальности в Интернете:
- Заявление о конфиденциальности корпорации Майкрософт
- Конфиденциальность и персональные данные в Intune
- Хранение и обработка данных в Intune
При интеграции пакета 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