Управление разрешениями workflow
Управление разрешениями 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
(необязательно |
Просмотр истории выполнений workflow. |
storage:buckets:read
(необязательно |
Просмотр истории выполнений 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 ("", "");Дополнительную информацию см. в разделе Сервисные пользователи.