Vitextra предлагает приложения и службы для SharePoint Server и онлайн сред на базе Microsoft 365 и Dynamics365.

Поскольку большинство приложений работают с корпоративными данными, становится важным убедиться, что они не передают корпоративную информацию на сторонние серверы для обработки.

Цель этого поста - описать, как приложения Vitextra работают с данными, хранящимися в вашем тенанте.

Среды Размещения

Приложения Vitextra поддерживают следующие среды:

  • SharePoint Online
  • Microsoft Teams

В обоих случаях приложение работает одинаково: файлы на основе JavaScript выполняются на стороне клиента (браузер или приложение Teams).

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

Источники Данных и Разрешения

Существует два варианта получения данных в рамках вашего тенанта для приложений Vitextra.

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

Второй вариант - это Microsoft Graph, который позволяет получать данные практически из всех сервисов и приложений Microsoft 365, таких как OneDrive, Teams, SharePoint, Planner и другие. Администратор должен утвердить необходимые разрешения для конкретного приложения в Центре Администрирования Microsoft 365.

📝 Примечание
Разрешения приложения не могут превышать разрешения текущего пользователя.

Приложение на базе SharePoint Framework, работающее в SharePoint Online или Microsoft Teams, выполняет вызов API и других служб от имени вошедшего в систему пользователя.

Действующие права приложения - это пересечение разрешений приложения и пользователя.

Действующие права приложения

Действующие права приложения

📝 Примечание
Если текущий пользователь не имеет доступа к ресурсам компании, то приложение не сможет получить доступ к этому ресурсу.

Поток Данных

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

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

Сеть доставки содержимого (CDN) - это географически распределенная сеть серверов, которые работают вместе для обеспечения быстрой доставки исполняемых файлов приложений и данных о локализации.
Сервис проверки лицензий (Vitextra API) предоставляет информацию о статусе лицензии и доступности обновлений.
Сервис сбора данных телеметрии (Application Insights) позволяет нам отслеживать использование приложений.

С другой стороны, приложение взаимодействует с корпоративными ресурсами в рамках тенанта Microsoft 365. И ваши корпоративные данные никогда не передаются за пределы вашего тенанта.

Все приложения Vitextra обрабатывают и отображают данные на стороне клиента.

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

Схема потока данных

Схема потока данных

(1) Получение исполняемых файлов приложения

Манифест приложения содержит информацию об исполняемых файлах, данных локализации и о том, где они хранятся. Приложение загружает файлы из сети доставки содержимого (CDN) при инициализации.

(2) Получение токена из Azure AD

В случае, если приложение использует Microsoft Graph API, оно запрашивает Azure AD для получения токена авторизации.

💡 Совет
Некоторые приложения, такие как Smart Search, используют только нативные службы SharePoint и не используют Microsoft Graph. В этом случае вам не нужно давать никакого разрешения.

(3) Получение статуса лицензии

Приложение Vitextra отправляет следующую информацию о приложении в службу проверки лицензии для проверки статуса лицензии и наличия доступных обновлений:

  • Уникальный идентификатор тенанта
  • Уникальный идентификатор текущего пользователя
  • URL-адрес сайта SharePoint
  • Идентификатор и название Приложения
  • Версия приложения

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

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

{
    "TenantId": "a639a97b-71de-44b1-b051-aeded855df34",
    "UserId": "2f8ee5b1-30b7-46a0-ae32-feb557730d34",
    "SiteUrl": "https://vitextra.sharepoint.com",
    "ProductId": "6a2aec78-ea9d-4a31-9b6f-eb80c92f7648",
    "ProductName": "EmployeeDirectoryWebPart",
    "ProductVersion": "4.4.6"
}

(4) Отслеживание использования приложений

Когда приложение загружается, оно отправляет данные об этом событии в службу Application Insights.

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

Пример данных, которые приложение отправляет в службу телеметрии:

{
    "name": "Microsoft.ApplicationInsights.Event",
    "tags": {
        "ai.user.id": "aiRTjhovyl4JRBiSFS653X",
        "ai.session.id": "IOMhPtyIF38gtqAT455rIc",
        "ai.device.id": "browser",
        "ai.device.type": "Browser",
        "ai.operation.id": "c710b0ac880045b79c991f0c79c39deb",
        "ai.internal.sdkVersion": "javascript:2.7.4"
    },
    "data": {
        "baseType": "EventData",
        "baseData": {
            "ver": 2,
            "name": "Load Web Part",
            "properties": {
                "version": "4.4.6",
                "siteId": "{\"_guid\":\"b102ad55-5aa8-4601-b2a4-5a111441f92d\"}",
                "siteUrl": "https://vitextra.sharepoint.com",
                "userId": "2f8ee5b1-30b7-46a0-ae32-feb557730d34",
                "lcid": "1033",
                "cultureName": "en-US",
                "teams": "false",
                "webPart": "Employee Directory"
            },
            "measurements": {}
        }
    }
}

(5) Взаимодействие с Microsoft Graph API

Приложение использует Microsoft Graph API для доступа к таким службам, как OneDrive, Azure AD, Planner и другим. В этом случае данные передаются между клиентским приложением и Microsoft Graph API.

📝 Примечание
Приложения на основе SPFx используют токен, полученный на шаге #2, для доступа к Microsoft Graph API.

(6) Взаимодействие со службами SharePoint

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

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

Некоторые приложения, такие как My Tasks или Employee Directory, используют как собственные службы SharePoint, так и Microsoft Graph API для получения информации.

Итоги

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

Ваши данные никогда не покидают ваш тенант.

Приложения Vitextra не отслеживают и не получают никаких персональных данных.

БезопасностьЗащита данныхSharePoint FrameworkMicrosoft 365

Поделиться