Русский
Русский
English
Статистика
Реклама

Knox

Мобильные контейнеры для раздельного хранения данных

07.06.2021 12:06:42 | Автор: admin

Работодатели уже привыкли к тому, что можно не возмещать затраты со.

Но и эта медаль двухсторонняя. Сотрудники требуют гарантий, что работодатель не читает их переписку или не смотрит их фотографии. Работодатели в свою очередь против того, чтобы сотрудники делились корпоративными документами в социальных сетях или передавали их в СМИ.

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

Зачем нужен контейнер работодателям и их сотрудникам?

Работодатели и сотрудники хотят, чтобы контейнер защищал ИХ секреты. Только секреты каждой из сторон находятся по разные стороны контейнера секреты работодателя находятся внутри контейнера, а секреты сотрудника снаружи.

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

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

Есть ещё одно желание, в котором сходятся работодатели и сотрудники. И те, и другие хотят, чтобы в контейнер можно было поместить любое приложение без дополнительных доработок. Если приложения нужно дорабатывать, это дорого для работодателя и чаще всего неудобно для сотрудника.

Особенность контейнеров для iOS

В своей прошлой статье мы убеждали читателя, что iOS это закрытая экосистема, которую нужно принимать такой, какая она есть. Контейнеры на iOS ещё одно тому подтверждение.

С точки зрения контейнеризации в iOS есть встроенный механизм разделения корпоративного и личного. Apple называет корпоративное управляемым (managed), а личное неуправляемым (unmanaged).

Управляемыми в iOS могут быть приложения, учётные записи и URL в Safari. С помощью встроенных политик можно запретить передачу данных между управляемым и неуправляемым, но только случайную. Это значит, что сотрудник не может передать вложение из корпоративной почты в личную почту или в WhatsApp, но может скопировать текст вложения и вставить его куда угодно!

Apple считает, что защититься от преднамеренной утечки данных невозможно, поэтому решил позаботиться о своих сознательных пользователях и не дать им случайно допустить утечку

Если компания решает, что встроенных механизмов безопасности iOS для нее недостаточно, ей приходится реализовывать дополнительные механизмы защиты в корпоративных приложениях. Например, блокируя в них возможность доступа к буферу обмена. Сделать это проще всего с помощью SDK разработчиков систем управления мобильностью, например, SafePhone.

Разнообразие Android - контейнеров

Android исторически предоставляет больше возможностей для контейнеризации.

Первой компанией, которая сделала возможным создание контейнеров на Android, стала компания Samsung. В 2012 году на смартфоне Samsung Galaxy S3 впервые стали доступны функции корпоративной платформы безопасности Samsung Knox. В частности, Knox контейнеры. Большинство современных устройств Samsung также их поддерживают. Многие функции платформы Samsung Knox бесплатны, но функции Knox контейнеров были платной опцией. Позже Google анонсировал свою бесплатную корпоративную платформу Android for Enterprise c меньшим набором функций.

С годами число функций управления контейнерами, которые были эксклюзивно доступны на устройствах Samsung, сокращалось, потому что они появлялись у Google. В результате, начиная с
1 июля 2021 года, Samsung принял решение о бесплатном предоставлении возможностей Knox-контейнеризации. В составе платформы Samsung Knox ещё остаются платные опции, которых нет у Google. Например, корпоративных сервис обновления прошивок мобильных устройств E-FOTA One, о котором мы рассказывали в одной из прошлых статей.

Но конкретно Knox контейнеры отныне бесплатны.

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

Без явного разрешения администратора пользователь не сможет ничего вынести за пределы контейнера.

Вроде то, что нужно? Да, но не обошлось без важных особенностей.

В составе Samsung Knox есть клиентские библиотеки для Android, с помощью которых можно разработать клиент управления, который сам создаст контейнер, применит в нём необходимые политики безопасности и наполнит его приложениями.

Работает эта схема так:

  1. На мобильное устройство устанавливается клиент управления.

  2. Пользователь регистрирует устройство на сервере управления.

  3. Клиент управления создаёт и настраивает контейнер для работы. После чего периодически спрашивает у сервера управления, не изменились ли эти настройки.

  4. Можно доставить обновления настроек быстрее с помощью push-уведомлений от Google, но их использование необязательно.

Преимущество этой схемы в том, что её можно построить в локальной инфраструктуре заказчика (on-premise). Для крупного бизнеса в России это важно.

У платформы Android for Enterprise от Google тоже есть клиентские библиотеки и с их помощью можно управлять устройствами без контейнеров устанавливать приложения, настраивать ограничения и т.д. Даже можно создать контейнер, поместить в него встроенный Gmail или Google Chrome и запретить сотруднику копировать из контейнера файлы. Всё это будет работать on-premise.

Но клиентские библиотеки Google не помогут, если нужно разместить в контейнере приложение собственной разработки или какое-то приложение из Google Play. В этом случае необходимо использовать Android Management API, который работает по несложной схеме:

  1. На мобильное устройство устанавливается клиент управления от Google Android Device Policy.

  2. Администратор создаёт настройки контейнера какие приложения в него установить, какие политики ограничений применить и т.д.

  3. Сервер передаёт настройки контейнера в Google с помощью Android Management API. Дальше Google обеспечивает их применение на устройстве самостоятельно. При этом все команды и все дистрибутивы корпоративных приложений нужно передать в Google.

    Источник: https://developers.google.com/android/management/introductionИсточник: https://developers.google.com/android/management/introduction

Похожим образом устроено управление iOS, но в случае с iOS корпоративный сервер управления передаёт в Apple только уведомления о наличии команды. Далее устройство забирает команды и дистрибутивы приложений с корпоративного сервера, а не с сервера Apple.
Возможно, Google хотел создать более удобную технологию управления, чем у Apple, но не все компании готовы мириться с тем, что Google знает, какие настройки безопасности и какие команды управления они сообщают своим мобильным устройствам. Ведь это создаёт риск того, что команды могут быть изменены или вовсе не доставлены.

Корпоративный Android в личном пользовании

Многие компании, которые покупают сотрудникам мобильные устройства для работы, разрешают также использовать их в личных целях. В этом случае тоже нужны контейнеры, чтобы разделить корпоративные и личные данные. Если вы планируете реализовать такой сценарий, учтите, что, начиная с Android 11, у этого сценария есть принципиальные ограничения.

Начиная с Android 11, нельзя одновременно управлять и контейнером, и тем, что находится вне его. Это сделано, чтобы исключить доступ работодателей к личным данным сотрудников.
Цена приватности оказалась достаточно высокой. Теперь на корпоративных устройствах с контейнером нельзя определять геолокацию, устанавливать приложения вне контейнера и проверять устройство на наличие вирусов.

Источник: https://docs.samsungknox.com/admin/knox-platform-for-enterprise/work-profile-on-company-owned-devices.htmИсточник: https://docs.samsungknox.com/admin/knox-platform-for-enterprise/work-profile-on-company-owned-devices.htm

В качестве альтернативы Samsung предложил оригинальную технологию Knox Separated Apps. Технология позволяет создать на корпоративных устройствах контейнер для личных приложений. Работодатель управляет всем устройством и не получает доступа к данным сотрудника в личном контейнере. А приложения в личном контейнере не получают доступа к корпоративным данным, поэтому с их помощью нельзя реализовать утечку информации.

Knox Separated Apps, как и Knox контейнеры, с 1 июля 2021 года также станет бесплатной.

Советы для топ-менеджеров

Контейнер на рабочем устройстве не нужен. Любой смартфон, который компания выдала сотруднику, воспринимается как рабочий. Сотрудник никогда не поверит, что его работодатель не имеет доступа к его личным данным, даже если это пообещал Google. Поэтому рабочие устройства проще и дешевле превращать в контейнеры целиком, устанавливая приложения только из корпоративного хранилища, запрещая лишнюю сетевую активность и сервисы, которые позволяют поделиться корпоративными данными с конкурентами или СМИ.

Такой подход проверен, стандартизован и используется годами на большинстве рабочих ноутбуков в крупных компаниях.

Личные устройства это не всегда дешево и удобно. С одной стороны, может показаться, что использование личных устройств позволяет сэкономить на покупке гаджетов сотрудникам, но на практике оказывается, что содержать зоопарк смартфонов разных производителей дороже, чем питомник, где устройств много, но они однотипны.

На каждом новом устройстве корпоративный софт не работает совершенно особенным образом. Каждая мажорная версия Android c 4 по 12 серьёзно отличаются. У каждого производителя своя сборка Android. У каждой сборки Android, особенно китайской, свои тараканы неуправляемые менеджеры памяти и батареи, которые так и норовят поскорее закрыть приложение или не дать ему вовремя получить данные от сервера, дополнительные разрешения, которые пользователь должен вручную дать приложению и которые он может в любой момент отобрать и т.п.

Если планировать мобилизацию компании на 3-5 лет вперёд, дешевле выбрать несколько моделей устройств, и дальше проверять и разрабатывать корпоративный софт (клиент документооборота, приложения с BI-отчётностью, мессенджеры и т.п.) на этих конкретных моделях. Всё-таки корпоративный софт пишут не тысячи разработчиков Facebook по всему миру. Поэтому чем меньше вариативность устройств, тем меньше ошибок, тем меньше число уязвимостей и ниже вероятность их успешной эксплуатации. Короче, всем удобнее и безопаснее.

Если у вас возникли вопросы или сомнения после прочтения статьи, напишите о них в комментариях.

Подробнее..

Конфигурация корпоративного мобильного приложения с помощью AppConfig

25.09.2020 16:06:58 | Автор: admin
Если вы администратор в компании, где есть внутреннее мобильное приложение, неважно для чего будь то обычный мессенджер или почта, или что-то особенное наподобие сканера штрих-кодов рано или поздно перед вами встанет задача удаленной настройки и менеджмента приложений. Прописать конкретный id или адрес сервера во всех телефонах можно при помощи костылей, но есть и готовое решение де-факто уже стандарт, который можно использовать совместно с одной из существующих EMM/UEM-платформ (Enterprise Mobile Management/Unified Endpoint Management).

В этой статье мы решили дать инструкцию, как сделать ваше Android-приложение конфигурируемым, если вы его разработчик. То есть: что конкретно нужно изменить в вашем приложении, чтобы выполнить потребности корпоративной аудитории. А еще мы описали всю работу администратора на примере платформы Knox Manage.



Постановка задачи


В интервью с коллегами из НИИ СОКБ (Научно-испытательный институт систем обеспечения комплексной безопасности) мы сошлись на мнении, что современную корпоративную мобильную инфраструктуру уже нельзя представить без централизованной системы управления.

Например, в швейцарской железнодорожной компании SBB каждый из 30 000 сотрудников получает кастомизированный под рабочие задачи телефон там не только почта и мессенджер, но и, к примеру, отправка сообщений о неисправностях. Возлагать на сотрудника задачу настройки всей этой периферии не только накладно в человеко-часах, но и чревато возможными ошибками в процессе. А еще в ряде случаев например, при появлении сбоев бывает проще полностью перепрошить и заново инициализировать телефон, чем искать ошибку. Поэтому, правильно выбранное решение для корпоративного приложения значительно облегчает жизнь IТ администратора компании.

Обычно, при внедрении централизованных систем мы сталкиваемся с двумя задачами:

  1. Первичное подключение устройства к системе. Тут всё достаточно просто, уже давно существуют стандартные инструменты для этого: Knox Mobile Enrollment, Android Zero Touch и Android Enterprise Enrollment (EMM-токен, QR-коды и пр.)
  2. Первичная настройка необходимых корпоративных приложений. Этот момент гораздо сложнее, так как у разных приложений совершенно разные параметры и настройки, и знать их все заранее невозможно

Общая схема решения


В качестве решения второй задачи существует механизм AppConfig, это не инициатива какой-то единичной компании, а действующая конвенция нескольких вендоров. Его суть кратко такова: разработчик реализует в своем мобильном приложении почте, мессенджере, клиенте видеосвязи и т.д. поддержку управляемых конфигураций (Managed Configurations), настраиваемых под конкретного пользователя. Разработчик решает, какие именно параметры в приложении можно задавать извне (идентификатор, имя пользователя, адрес сервера). Через корпоративный Google Play эти параметры попадают в EMM-систему. А она уже позволяет создавать управляемые конфигурации и удаленно назначать их определенным устройствам и пользователям.

Чтобы узнать, реализован ли такой функционал в конкретном приложении:

  • Перейдите в корпоративный Google Play.
  • Найдите нужное приложение.
  • Если оно поддерживает управляемые конфигурации, то под названием увидите значок Это приложение можно настроить удаленно:



Общий процесс выглядит так:

  1. Разработчик добавляет поддержку управляемых конфигураций в свое приложение. В файле схемы XML он указывает параметры, настраиваемые удаленно, и в коде приложения обеспечивает развертывание этих параметров. Затем выкладывает приложение в корпоративный Google Play.
  2. EMM-система предоставляет интерфейс для администратора, через который XML-схема извлекается из приложения в Google Play при помощи iframe.
  3. Администратор вводит значения параметров, которые должны оказаться на корпоративных устройствах. После этого EMM-система передает конфигурацию в Google Play.
  4. Google Play обновляет приложение на всех корпоративных устройствах в соответствии с новой конфигурацией.



Процесс адаптации корпоративного мобильного приложения к AppConfig

Предположим, что вам требуется удаленно ввести адрес и имя пользователя в почтовом клиенте. На примере Samsung Knox Manage интерфейс настройки этих параметров с помощью управляемой конфигурации будет выглядеть так:



Для поля Email address вводим $emailaddress$, а для имени пользователя User name задаем $username$ (эти переменные будут подставляться динамически, в зависимости от конкретного пользователя).

Как разработчику добавить поддержку AppConfig в свое приложение?


Предположим, что мы разрабатываем мобильное приложение, в котором настраиваемый параметр адрес сервера. Согласно рекомендациям Google, разработчик должен:

  1. Найти файл ресурсов XML, который обычно находится в папке проекта res/xml. В нем информация о всех настраиваемых параметрах, которая потом попадает в EMM-систему через Google Play APIs.

    <?xmlversion="1.0"encoding="utf-8"?><restrictionsxmlns:android="http://personeltest.ru/away/schemas.android.com/apk/res/android"><restriction android:key="address"android:title="@string/title" android:restrictionType="string" android:description="@string/description" android:defaultValue="sampleaddress"/> </restrictions>
    
  2. Явно указать файл app_restrictions.xml в манифесте вашего приложения внутри тега application.

    <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <meta-dataandroid:name="android.content.APP_RESTRICTIONS" android:resource="@xml/app_restrictions"/>
    
  3. Реализовать обработку события ACTION_APPLICATION_RESTRICTIONS_CHANGED в коде приложения. Это шаг гарантирует, что приложение получит новое значение, определенное администратором.

    IntentFilterrestrictionFilter=newIntentFilter(Intent.ACTION_APPLICATION_RESTRICTIONS_CHANGED);BroadcastReceiverrestrictionReciever=newBroadcastReceiver(){@OverridepublicvoidonReceive(Contextcontext,Intentintent){BundleappRestrictions=restrictionsManager.getApplicationRestrictions();/*Fetchthevaluesofmanagedapplicationconfigurationfromthisbundleandtakeactioninyourappaccordingly.*/}};
    


В результате этой несложной доработки, после публикации приложения в корпоративном Google Play, вы сможете получать настраиваемую конфигурацию с сервера:


Приложение до и после получения конфигурации с сервера

Как администратору сконфигурировать приложение через консоль Knox Manage?


Чтобы задать управляющие конфигурации, администратору нужно добавить само приложение через Knox Manage (KM) из корпоративного магазина Google Play, либо загрузить его со своего компьютера, как Managed Google Play Private (тогда публикация в корпоративный Google Play необязательна). Для задания новой конфигурации:

  1. В KM открываем вкладку Group, выбираем группу, привязанную к вашему устройству и нажимаем кнопку Application

  2. Теперь выбираем ваше приложение и нажимаем Assign

  3. В качестве Target Device выбираем Android Enterprise. Нажимаем на кнопку Set Configuration.

  4. Если вы все сделали правильно и ваше приложение имеет поддержку AppConfig, то KM заполнит нужные параметры значениями. Просто вводим адрес сервера (не забываем ввести имя конфигурации) и нажимаем кнопку Save.

  5. Нажимаем кнопку Assign, чтобы загрузить новую конфигурацию на устройство.

  6. Нажимаем OK для подтверждения.


Если приложение запущено, и разработчик корректно реализовал поддержку AppConfig, то приложение получит новый адрес сервера, заданный в консоли KM.


Приложение с введенным через консоль KM адресом сервера

Конфигурируем не только приложения, но и само устройство


В какой-то момент разработчики задумались: а что, если мы хотим настраивать не только приложения, но и параметры самого устройства аналогичным способом? OEMConfig это новый стандарт для отправки конфигураций приложениям, написанным производителями устройств. Отправка производится посредством той же самой схемы в XML-формате. Этому стандарту следуют изготовители оборудования Android, что позволяет предоставить администраторам дополнительные возможности управления устройством. Так, на смартфонах Samsung с поддержкой Knox существует решение Knox Service Plugin (KSP), его можно загрузить из Google Play. Но об этом мы поговорим в другой раз.

Итог


  • Используйте AppConfig для поддержки управляемых конфигураций вашими приложениями. Это довольно просто реализовать, а главное может быть реально полезным.
  • Cоздавайте новую конфигурацию и отправляйте ее на устройства большого числа пользователей при помощи EMM-системы (в нашем примере Knox Manage).
  • Как можно меньше костылей, пользуйтесь готовыми решениями и стандартными способами!


Дополнительные источники по теме:



Автор: Павел Лепеев,
Engineer, B2B Pre/Post Sales
Business Development Team
Samsung R&D Institute Russia
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru