Обзор
My Tasks собирает ваши задачи из нескольких служб Microsoft 365 и, при необходимости, из Azure DevOps. Для этого веб-части нужен доступ к этим службам. Он запрашивается стандартным для решений SharePoint Framework способом: пакет решения объявляет нужные разрешения API, а администратор клиента один раз утверждает их для всего клиента.
В этой статье перечислены разрешения, объяснено, как их утвердить, с чьими правами читаются данные, а также что именно веб-часть хранит и где. Статья предназначена для администраторов клиента, специалистов по безопасности и владельцев сайтов, которым нужно ответить на вопрос: что эта веб-часть делает с нашими данными?
Запрашиваемые разрешения
В пакет решения входят две веб-части: My Tasks и Azure DevOps Query. Вместе они запрашивают такие разрешения API:
| API | Разрешение | Для чего используется |
|---|---|---|
| Microsoft Graph | User.Read | Основные сведения о вошедшем пользователе. |
| Microsoft Graph | User.ReadBasic.All | Определение отображаемых имён авторов задач Planner, чтобы в столбце Автор вместо идентификатора отображалось имя. |
| Microsoft Graph | Tasks.ReadWrite | Чтение задач, назначенных пользователю в Microsoft Planner, Microsoft To Do и в списке писем с флажком (источник Outlook). |
| Azure DevOps | user_impersonation | Вызовы REST API Azure DevOps от имени вошедшего пользователя. Нужно для источника Azure DevOps в My Tasks и для веб-части Azure DevOps Query. |
Все эти разрешения делегированные: они работают только в контексте вошедшего пользователя и не дают веб-части собственных прав сверх тех, которые уже есть у этого пользователя.
📝 Примечание
Разрешение нужно утверждать, только если вы используете соответствующий источник данных. Источникам SharePoint и Project разрешения Graph и Azure DevOps не нужны. Однако запросы разрешений относятся к пакету решения, поэтому в Центре администрирования SharePoint они отображаются все вместе, и проще всего утвердить их все.
Как администратор клиента утверждает разрешения
После того как решение добавлено в каталог приложений и развёрнуто (см. KB10035. Как установить продукт Vitextra в SharePoint Online), запросы разрешений ожидают утверждения. Чтобы утвердить их, выполните следующие действия.
- Войдите в Центр администрирования Microsoft 365 под учётной записью с ролью администратора SharePoint или глобального администратора и откройте Центр администрирования SharePoint.
- В области навигации слева разверните раздел Дополнительно (Advanced) и выберите Доступ к API (API access).
- На вкладке Ожидающие запросы (Pending requests) найдите запросы пакета Vitextra My Tasks: Microsoft Graph (User.Read, User.ReadBasic.All, Tasks.ReadWrite) и Azure DevOps (user_impersonation).
- Выберите запрос и нажмите Утвердить (Approve). Подтвердите действие в диалоговом окне. Повторите это для каждого запроса.
- Перейдите на вкладку Утвержденные запросы (Approved requests) и убедитесь, что все запросы перечислены.
Пользователи не видят запрос согласия на эти разрешения. После утверждения веб-часть работает для всех пользователей клиента. Если вы позже обновите решение и новой версии потребуются дополнительные разрешения, они снова появятся на вкладке Ожидающие запросы. См. KB10050. Как обновить решение Vitextra на SPFx в SharePoint Online.
❗ Важно
Утверждённое разрешение действует для всех решений SharePoint Framework в клиенте, а не только для My Tasks. Регулярно проверяйте вкладку Утвержденные запросы, как и для любого другого решения. Если разрешение отклонено или ещё не утверждено, соответствующий источник не возвращает задачи, а источники Azure DevOps показывают ошибку о маркере доступа или согласии.
С чьими правами работает веб-часть
В My Tasks нет ничего, что выполнялось бы с повышенными или общими служебными правами. Каждый вызов выполняется из браузера в контексте вошедшего пользователя:
- Planner, To Do и Outlook — задачи запрашиваются из Microsoft Graph для текущего пользователя («мои задачи»). Задачи коллег пользователь никогда не видит.
- SharePoint и Project — задачи находятся с помощью REST API поиска SharePoint в контексте текущего пользователя. Действует фильтрация по правам доступа: поиск возвращает только те элементы, которые пользователю разрешено открывать.
- Azure DevOps — REST API Azure DevOps вызывается от имени вошедшего пользователя, поэтому пользователь видит только то, что и так доступно ему в Azure DevOps. Изменения, сделанные с помощью быстрых действий веб-части Azure DevOps Query, требуют прав на редактирование в Azure DevOps и записываются в журнал изменений рабочего элемента под именем пользователя.
Веб-часть не изменяет ваши задачи
Веб-часть My Tasks только читает задачи. Она не создаёт, не редактирует, не завершает и не удаляет задачи в Planner, To Do, Outlook, SharePoint, Project Online и Azure DevOps. Tasks.ReadWrite — это название области доступа Microsoft Graph, которая охватывает задачи Planner, To Do и письма с флажком. Веб-часть использует эту область только для чтения.
Единственная функция, которая может записывать данные, необязательна. Это Быстрые действия веб-части Azure DevOps Query (смена состояния, назначение, срок выполнения, комментарий). По умолчанию они отключены и работают только с правами пользователя в Azure DevOps. См. KB10306. Azure DevOps Query Viewer: быстрые действия (смена состояния, назначение, срок, комментарий).
Что хранится и где
- На серверах Vitextra данные задач не хранятся. Браузер загружает задачи напрямую из Microsoft 365 или Azure DevOps и отображает их на странице.
- В браузере (localStorage) хранятся личные настройки представления каждого пользователя: столбец и направление сортировки, быстрый фильтр Срок и выбранные значения фильтров в My Tasks, а в веб-части Azure DevOps Query — выбранные столбцы и группировка каждого запроса. Настройки хранятся для каждого экземпляра веб-части в том браузере и на том устройстве, где они были сделаны. Между устройствами они не синхронизируются и удаляются при очистке данных браузера.
- В браузере (sessionStorage) последний загруженный список задач My Tasks хранится в течение сеанса вкладки браузера до 15 минут, чтобы при следующем открытии список появлялся мгновенно. Этот список используется, только пока конфигурация источников данных не изменилась, и обновляется в фоновом режиме. Кэш исчезает при закрытии вкладки.
- В SharePoint параметры веб-части (источники данных, столбцы, ограничения и т. д.) хранятся в свойствах веб-части на странице, как и у любой другой веб-части SharePoint.
💡 Совет
На общем компьютере после работы очищайте данные браузера для сайта SharePoint (или используйте приватное окно): это удалит кэшированный список задач и личные настройки представления. См. также KB10293. My Tasks: фильтрация, сортировка и личные настройки представления.
Телеметрия и лицензирование
Как и другие продукты Vitextra, My Tasks проверяет лицензию вашего клиента и передаёт сведения об использовании веб-части. При проверке лицензии передаются данные о клиенте и состоянии лицензии. Это состояние отображается в группе Информация области свойств (Пробная версия, Активно, Срок действия истек, Приостановлено, Отменено). Телеметрия и проверка лицензии не сохраняют содержимое ваших задач на серверах Vitextra. О покупке и активации лицензии см. KB10206. Лицензирование и учётная запись Vitextra: как приобрести и активировать лицензию.
Продукт работает и в Microsoft Teams в рамках той же модели безопасности; см. KB10301. Как добавить My Tasks в Microsoft Teams.
Если разрешения утверждены, а задач всё равно нет, перейдите к статье KB10307. Почему в My Tasks не отображаются или не загружаются задачи.