Управление разрешениями workflow

Материал из Документация Ключ-АСТРОМ
Версия от 15:16, 14 октября 2026; IKuznetsov (обсуждение | вклад) (Новая страница: « = Управление разрешениями workflow = == Разрешения Workflows и API AutomationEngine == Приложение '''Workflows''', являющееся интерфейсом для '''AutomationEngine''', позволяет редактировать, управлять и запускать workflow в Ключ-АСТРОМ. * Для использования '''Workflows''' необходимы некоторые общие...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Управление разрешениями workflow

Разрешения Workflows и API AutomationEngine

Приложение Workflows, являющееся интерфейсом для AutomationEngine, позволяет редактировать, управлять и запускать workflow в Ключ-АСТРОМ.

  • Для использования Workflows необходимы некоторые общие разрешения AppEngine и некоторые специфичные разрешения AutomationEngine.
  • Разрешения настраиваются в управлении аккаунтом и требуют доступа администратора аккаунта.
  • Если вам не хватает каких-либо необходимых разрешений, обратитесь к администратору аккаунта.

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

Настройки авторизации AutomationEngine

Если для задачи workflow отсутствует необходимое разрешение, попытка выполнить эту задачу приведёт к ошибке 403 Forbidden. Всегда убеждайтесь, что:

  • Вам предоставлены необходимые разрешения в Управлении аккаунтом.
  • Вы предоставили все необходимые разрешения для запуска workflow в настройках авторизации.

Чтобы включить или изменить настройки авторизации AutomationEngine:

  • В приложении Workflows перейдите в Настройки > Настройки авторизации.
  • Включите необходимые разрешения из списков Основные разрешения и Дополнительные разрешения.

Пользователь Workflows

Пользователь Workflows создаёт, редактирует, запускает и мониторит workflow. Чтобы получить доступ к Workflows и просматривать workflow, вам нужны как минимум следующие разрешения.

Разрешение Предоставляет доступ к
app-engine:apps:run Список всех приложений и чтение их пакетов.
automation:workflows:read Просмотр workflow.
storage:system:read

(необязательно storage:event.provider = "AUTOMATION_ENGINE")

Просмотр истории выполнений workflow.
storage:buckets:read

(необязательно storage:table-name = "dt.system.events")

Просмотр истории выполнений workflow.

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

Чтобы записывать и выполнять workflow, требуются следующие дополнительные разрешения.

Разрешение Предоставляет доступ к
app-engine:functions:run Использование исполнителя функций.
automation:workflows:run Запуск workflow вручную через пользовательский интерфейс или API.
automation:workflows:write Запись workflow. Включает создание, обновление и удаление workflow. Также включает конфигурацию workflow с активными расписаниями или конфигурациями событийных триггеров. Таким образом, workflow запускается на основе этих конфигураций.

Вы можете предоставить пользователям разрешение automation:workflows:write с указанием automation:workflow-type = "SIMPLE". Это означает, что они могут создавать workflow с одним триггером и одной задачей. Поскольку простые workflow не потребляют часы workflow, это удобный способ предоставить более широкой аудитории доступ к workflow без затрат.

Эти разрешения предоставляют доступ к самим workflow. Для успешного выполнения задач workflow актору могут потребоваться дополнительные разрешения.

Администратор Workflows

Администратор Workflows может:

  • Получать доступ ко всем workflow и выполнениям в среде.
  • Управлять workflow и выполнениями, владелец которых недоступен.
  • Импортировать или редактировать workflow, сохраняя актора и владельца workflow, что чаще всего желательно при переносе workflow между средами.

Чтобы администрировать workflow, вам нужно следующее разрешение в дополнение ко всем разрешениям пользователя.

Разрешение Предоставляет доступ к
automation:workflows:admin Администрирование workflow.

Чтобы включить режим администратора Workflows в Workflows:

  • Убедитесь, что у вас есть разрешение automation:workflows:admin в дополнение ко всем обычным разрешениям пользователя.
  • Выберите Настройки в правом верхнем углу приложения Workflows.
  • Включите Режим администратора Workflows.

Чтобы выйти из режима администратора Workflows и использовать Workflows как обычный пользователь, отключите переключатель Режим администратора Workflows.

Владелец workflow

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

  • Сделать workflow публичным. Публичный workflow виден всем пользователям с разрешениями automation:workflows:*.
  • Передать владение другому пользователю. Подробности см. в разделе Изменение владельца workflow.
  • Передать владение группе, и в этом случае все члены группы могут получить доступ к workflow в зависимости от их разрешений.

Доступ к выполнениям и владение

Доступ к выполнению зависит от владения workflow и конфигурации приватности/публичности на момент запуска выполнения.

  • Доступ к выполнению всегда оценивается в начале выполнения.
  • Изменение владения workflow или его видимости не влияет на прошлые выполнения; это влияет только на будущие выполнения.

Администратор

Администратор имеет доступ ко всем workflow и выполнениям в среде.

  • Администратор может управлять всеми workflow и выполнениями.
  • Никакие ограничения видимости или владения не применяются к администратору.

Актор workflow

Каждое выполнение задачи workflow выполняется в контексте пользователя. Чтобы определить актора workflow:

  • Откройте workflow в редакторе workflow.
  • Выберите значок справа от кнопок Запустить и Выполнения.
  • Проверьте панель сведений, где вы найдёте информацию об акторе.

Этот пользователь называется актором.

  • Актор настраивается для каждого workflow.
  • По умолчанию актором является создатель workflow. Когда вы запускаете workflow в среде впервые, Ключ-АСТРОМ запрашивает разрешение AutomationEngine на запуск workflow от вашего имени.
  • Вам необходимо согласиться с диапазоном разрешений, которые AutomationEngine может использовать при запуске workflow с вами в качестве актора.
  • Эти разрешения привязаны к разрешениям, которые у вас уже есть, и никогда не могут их превысить.

Обновления актора

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

  • Актор остаётся неизменным, если обновление workflow выполняется пользователем в режиме администратора Workflows или актор установлен как сервисный пользователь.
  • Вы можете использовать только тех сервисных пользователей, которые вам предоставлены.

Сервисные пользователи

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

Чтобы установить актора workflow как сервисного пользователя:

  • Откройте workflow в редакторе workflow.
  • Выберите > Настройки.
  • Выберите сервисного пользователя из списка Актор.
  • Сохраните изменения.

Пользователю, редактирующему workflow, требуется разрешение iam:service-users:use для использования сервисного пользователя в качестве актора. Вы можете создать политику следующим образом, чтобы разрешить определённых сервисных пользователей:

ALLOW iam:service-users:use WHERE iam:service-user-email IN ("", "");

Дополнительную информацию см. в разделе Сервисные пользователи.