Создание рабочего процесса с повышенным уровнем разрешений при помощи платформы SharePoint Workflow

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

Примечание.

Поддержка рабочих процессов SharePoint 2010 для новых клиентов прекращена с 1 августа 2020 г., и они удалены из существующих клиентов 1 ноября 2020 г. Если вы используете рабочие процессы SharePoint 2010, рекомендуется перейти на Power Automate или другие поддерживаемые решения. Дополнительные сведения см. в статье Прекращение поддержки рабочего процесса SharePoint 2010.

Важно!

В этой статье предполагается, что платформа рабочего процесса SharePoint была установлена и настроена, и что SharePoint был настроен для надстроек. Дополнительные сведения о рабочих процессах SharePoint и надстройках SharePoint, включая установку и настройку, см. статью Рабочие процессы в SharePoint и Установка и управление надстройками SharePoint.

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

По умолчанию, рабочий процесс не имеет разрешений на доступ к каталогу приложений. Для списков каталога в SharePoint требуются разрешения владельца (полный доступ). Рабочие процессы обычно выполняются на уровне разрешений, эквивалентном записи.

Чтобы устранить эту проблему, необходимо создать рабочий процесс с повышенным уровнем разрешений, выполните следующие действия на сайте семейства веб-сайтов:

  1. Предоставьте рабочему процессу разрешения на использование надстроек.
  2. Предоставьте разрешение на полный доступ к рабочему процессу.
  3. Разработка рабочего процесса для переноса действий внутри шага уровня приложения.

Предоставление рабочему процессу разрешения на использование надстроек на сайте SharePoint

Первый шаг — разрешение рабочему процессу на использование разрешения надстройки. Настройте рабочий процесс для использования разрешений надстройки на странице параметров сайта того сайта SharePoint, на котором выполняется рабочий процесс Следующая процедура позволяет настроить сайт SharePoint, чтобы предоставить рабочему процессу разрешения на использование надстроек.

Важно!

Процедура должна быть выполнена пользователем, имеющим права администратора сайта.

Чтобы предоставить рабочему процессу разрешения на использование надстроек

  1. Щелкните значок Параметры, как показано на рисунке, чтобы открыть страницу Параметры сайта.

Меню параметров

  1. Перейдите к параметрам сайта.

  2. В разделе Действия сайта выберите Управление возможностями сайта.

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

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

    Эта функция не будет активирована, если платформа рабочего процесса SharePoint и надстройки SharePoint неправильно настроены.

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

Предоставьте разрешение на полный доступ к рабочему процессу

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

Важно!

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

Чтобы предоставить разрешение на полный доступ к рабочему процессу

  1. Нажмите значок Параметры.

Меню параметров

  1. Перейдите к параметрам сайта.

  2. В разделе Пользователи и разрешения выберите Разрешения для сайта приложения.

    Важно!

    В SharePoint Online выберите Разрешения для семейства веб-сайтов приложения. Этот параметр доступен только для администраторов семейства веб-сайтов.

  3. Копирование разделе клиентаИдентификатора приложения. Это идентификатор между последним "|" и "@" войти, как показано на рисунке.

    Выбор идентификатора приложения

  4. Перейдите на страницу Предоставление разрешения приложению. Это необходимо сделать, перейдя на страницу сайта appinv.aspx.

    Пример: http://{hostname}/{the Site Collection}/_layouts/15/appinv.aspx.

    Примечание.

    На этом этапе приложение «Приложение» относится к надстройке рабочего процесса в целом, а не только к конкретному рабочему процессу. Управление доступом отдельными рабочими процессами невозможно. При включении разрешений для надстроек включаются все рабочие процессы в семействе веб-сайтов.

    Дополнительные сведения о настройке рабочего процесса см. в статье блога Sympraxis Consulting: циклический просмотр контента в рабочем процессе сайта SharePoint

    На следующем рисунке показан пример.

    Пример URL-адреса и страница appinv.aspx.

  5. Вставьте идентификатор клиента в поле Идентификатор приложения, а затем выберите Выбор, как показано на предыдущем рисунке.

  6. Вставьте следующий код в поле XML запрос разрешения для предоставления разрешения на полный доступ (примечание: этот блок кода был обновлен 12/29/17, чтобы включить AllowAppOnlyPolicy).

    <AppPermissionRequests AllowAppOnlyPolicy="true">
        <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl" />
    </AppPermissionRequests>
    

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

    В значении области отсутствуют заполнители. Это значение-литерал. Так же, как она выглядит, введите его.

    На следующем рисунке показан пример заполненной страницы (обратите внимание, что код в области XML запроса разрешения не отражает последнее обновление кода на шаге 7).

    Поиск идентификатора приложения.

  7. Нажмите Создать.

  8. Вам будет предложено нажать «доверять надстройке рабочего процесса, как показано на следующем рисунке. Нажмите кнопку Доверять.

    Доверять приложению рабочего процесса.

Перенос действий внутри шага уровня приложения

Наконец необходимо перенести действия рабочего процесса внутри шага приложения. Отправка сообщения электронной почты действие внутри шага приложения переносится по указанные ниже действия. Рабочий процесс в этом примере отправляет сообщение электронной почты подтверждение из настраиваемого списка.

Чтобы перенести действия внутри шага уровня приложения

  1. Откройте каталог приложения сайта в SharePoint Designer.

  2. Создайте новый настраиваемый список, в котором будет выполняться рабочий процесс. В этом примере имя списка — Демонстрация приложения.

  3. В окне навигации выберите Рабочие процессы.

  4. Создайте новый Рабочий процесс списка для списка Демонстрация приложения, как показано на рисунке.

    Создание нового рабочего процесса списка.

  5. Вставьте Шаг уровня приложения, как показано на рисунке.

    Добавление шага приложения.

  6. Вставка действие отправки сообщения электронной почты на Шаге приложение.

  7. Нажмите кнопку Адресная книга. В поле Для выберите Поиск рабочего процесса для пользователя, а затем выберите Добавить, как показано на рисунке.

    Выбор поиска рабочего процесса для пользователя.

  8. Введите в поле в качестве искомого значения, как показано на рисунке.

    Диалоговое окно «Поиск человека».

  9. В тексте сообщения электронной почты введите сообщение электронной почты из списка Демонстрации приложения.

  10. Нажмите кнопку OK, чтобы вернуться в рабочий процесс. Завершенные рабочего процесса показаны на рисунке.

    Действие электронной почты в шаге уровня приложения.

  11. На ленте выберите Параметры рабочего процесса, как показано на рисунке.

    Значок «Параметры рабочего процесса» на ленте.

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

    Снятие флажка автоматических обновлений и публикация.

Узнайте, как это работает

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

Схема разрешений.

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

  • По умолчанию рабочего процесса только есть разрешения на запись.
  • Пользователь не имеет разрешений.

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

На следующем рисунке показано изменение разрешений.

Матрица разрешений.

См. также