Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s
214 lines
17 KiB
Plaintext
214 lines
17 KiB
Plaintext
---
|
||
title: Разрешения
|
||
description: Управляйте доступом к объектам, полям и настройкам с помощью разрешений на основе ролей.
|
||
---
|
||
|
||
Система разрешений Twenty позволяет вам контролировать доступ к трем основным областям:
|
||
|
||
* **Объекты и поля**: Контролировать, кто может просматривать, редактировать или удалять записи и отдельные поля
|
||
* **Настройки**: Управление доступом к конфигурации рабочего пространства и административным функциям
|
||
* **Действия**: Контролировать общие действия рабочего пространства, такие как импорт данных или отправка писем
|
||
|
||
## Создать роль
|
||
|
||
Чтобы создать новую роль:
|
||
|
||
1. Перейдите в **Настройки → Участники → Роли**
|
||
2. В разделе **Все роли** нажмите **+ Создать роль**
|
||
3. Введите имя роли
|
||
4. На вкладке **Разрешения** по умолчанию [настройте разрешения](#customize-permissions)
|
||
5. Нажмите **Сохранить**, чтобы завершить
|
||
|
||
## Удалить роль
|
||
|
||
Чтобы удалить роль:
|
||
|
||
1. Перейдите в **Настройки → Участники → Роли**
|
||
2. Нажмите на роль, которую хотите удалить
|
||
3. Откройте вкладку **Настройки**, затем нажмите **Удалить роль**
|
||
4. Нажмите **Подтвердить** в модальном окне
|
||
|
||
<Note>
|
||
Если роль удалена, любой участник рабочего пространства, назначенный на неё, будет автоматически переназначен на роль по умолчанию. Все роли кроме роли **Администратора** могут быть удалены. Всегда должен быть назначен хотя бы один участник на роль **Администратора**.
|
||
</Note>
|
||
|
||
## Назначение ролей участникам
|
||
|
||
### Просмотр текущих назначений
|
||
|
||
* Перейдите в **Настройки → Участники → Роли**
|
||
* Просмотрите все роли и количество назначенных им участников
|
||
* Просмотрите, какие роли у каких участников
|
||
|
||
### Назначить роль участнику
|
||
|
||
1. Перейдите в **Настройки → Участники → Роли**
|
||
2. Нажмите на роль, которую вы хотите назначить
|
||
3. Откройте вкладку **Назначение**
|
||
4. Нажмите **+ Назначить участнику**
|
||
5. Выберите участника рабочего пространства из списка
|
||
6. Подтвердите назначение
|
||
|
||
### Установить роль по умолчанию
|
||
|
||
1. Перейдите в **Настройки → Участники → Роли**
|
||
2. В разделе **Опции** найдите **Роль по умолчанию**
|
||
3. Выберите, какую роль новые участники должны получать автоматически
|
||
4. Новые участники рабочего пространства будут получать эту роль при присоединении
|
||
|
||
<Note>
|
||
Вы можете назначать роли только существующим участникам рабочего пространства. Чтобы пригласить новых участников, используйте [Управление членами](/l/ru/user-guide/settings/capabilities/member-management).
|
||
</Note>
|
||
|
||
## Настроить разрешения
|
||
|
||
Разрешения определяют, что каждая роль может получить доступ к вашей рабочей области или изменять ее, включая объекты, записи, настройки и действия.
|
||
|
||
### Разрешения на уровне объекта
|
||
|
||
Раздел **Объекты** определяет, что эта роль может делать с записями во всём вашем рабочем пространстве.
|
||
|
||
#### Задать разрешения по умолчанию (для всех объектов)
|
||
|
||
Сначала настройте базовые разрешения, которые по умолчанию применяются ко **всем объектам**:
|
||
|
||
| Разрешение | Описание |
|
||
| ------------------------------------------- | --------------------------------------------------------------------- |
|
||
| **Просмотр записей на всех объектах** | Просматривать записи в списках и на страницах с подробной информацией |
|
||
| **Редактирование записей на всех объектах** | Изменять существующие записи |
|
||
| **Удаление записей на всех объектах** | Мягко удалять записи (их можно восстановить) |
|
||
| **Уничтожение записей на всех объектах** | Безвозвратно удалять записи |
|
||
|
||
Включайте или отключайте в зависимости от того, каким должно быть поведение по умолчанию для этой роли.
|
||
|
||
<Note>
|
||
**Пример — роль стажёра**: По умолчанию стажёр должен видеть все объекты, но не редактировать их. Включите "Просмотр записей для всех объектов", но оставьте "Редактирование записей для всех объектов" не отмеченным.
|
||
</Note>
|
||
|
||
#### Добавить исключения на уровне объекта
|
||
|
||
После настройки значений по умолчанию используйте подраздел **На уровне объекта**, чтобы добавить правила, которые переопределяют значения по умолчанию для конкретных объектов.
|
||
|
||
Нажмите **+ Добавить правило** и выберите объект, чтобы создать исключение.
|
||
|
||
**Примеры правил для роли стажёра:**
|
||
|
||
| Правило | Результат |
|
||
| -------------------------------------------- | ---------------------------------------------------------------- |
|
||
| Opportunities → отключить "Просмотр записей" | Стажёр вообще не видит объект Opportunities |
|
||
| People → включить "Редактирование записей" | Стажёр может редактировать записи People (но не других объектов) |
|
||
|
||
### Разрешения на уровне строк
|
||
|
||
<Note>
|
||
Разрешения на уровне строк — это **премиальная функция**, доступная в тарифе **Organization** (Cloud и Self-Hosted).
|
||
</Note>
|
||
|
||
Разрешения на уровне строк позволяют ограничить, какие отдельные записи может просматривать или редактировать роль, на основе динамических критериев. В отличие от разрешений на объекты (которые применяются ко всему типу объекта), разрешения на уровне строк оценивают каждую запись независимо.
|
||
|
||
**Примеры случаев использования:**
|
||
|
||
* Торговые представители могут видеть только свои сделки
|
||
* Менеджеры могут видеть все записи в своём регионе
|
||
* Сотрудники службы поддержки могут просматривать только назначенные им заявки
|
||
|
||
Чтобы настроить разрешения на уровне строк, откройте роль, перейдите на вкладку **Objects** и используйте раздел **Row-Level** для определения условий фильтрации для конкретного объекта.
|
||
|
||
### Разрешения на уровне поля
|
||
|
||
В рамках каждого правила на уровне объекта вы можете дополнительно настроить **разрешения на уровне поля**, чтобы управлять доступом к конкретным полям.
|
||
|
||
| Разрешение | Описание |
|
||
| ----------------------- | --------------------------- |
|
||
| **Просмотр поля** | Просматривать значение поля |
|
||
| **Редактирование поля** | Изменять значение поля |
|
||
| **Нет доступа** | Поле полностью скрыто |
|
||
|
||
**Пример — ограничение доступа к конфиденциальным полям:**
|
||
|
||
Для роли стажёра с правом редактирования People вы можете ограничить некоторые поля:
|
||
|
||
* People → Email → только **Просмотр поля** (редактирование недоступно)
|
||
* People → Address → **Нет доступа** (полностью скрыто)
|
||
|
||
Это позволяет стажёру редактировать большинство полей People, при этом защищая конфиденциальную информацию.
|
||
|
||
### Как работает наследование разрешений
|
||
|
||
Разрешения применяются каскадно — от общих к конкретным:
|
||
|
||
1. **Все объекты** → задаёт базовый уровень для всех объектов
|
||
2. **Правила на уровне объекта** → переопределяют базовые настройки для конкретных объектов
|
||
3. **Правила на уровне поля** → переопределяют настройки объекта для конкретных полей
|
||
|
||
Более конкретные настройки всегда имеют приоритет.
|
||
|
||
### Управление переопределениями разрешений
|
||
|
||
Чтобы переопределить унаследованные разрешения:
|
||
|
||
1. Нажмите **X**, чтобы удалить унаследованное правило
|
||
2. Выберите нужные конкретные разрешения
|
||
3. Нажмите оранжевую **Отмена** (круглая стрелка), чтобы отменить изменения
|
||
|
||
Когда закончите, нажмите **Завершить**, затем **Сохранить**, после чего вас перенаправит на страницу роли.
|
||
|
||
### Разрешения для настроек рабочего пространства
|
||
|
||
Контролируйте доступ к настройкам рабочего пространства двумя способами:
|
||
|
||
* Переключатель **Все доступ к настройкам** для предоставления полного доступа
|
||
* Или включите специальные разрешения (например, генерация API-ключей, предпочтения рабочего пространства, назначение ролей, настройка модели данных, настройки безопасности и управление Workflows)
|
||
|
||
<Note>
|
||
**Текущее ограничение**: Для ручного запуска рабочих процессов в настоящее время требуется доступ к управлению рабочими процессами. Это поведение может измениться в будущих версиях.
|
||
</Note>
|
||
|
||
### Разрешения на действия в рабочем пространстве
|
||
|
||
Контролируйте доступ к общим действиям рабочего пространства:
|
||
|
||
* Переключатель **Все доступ к приложениям** для предоставления полных разрешений
|
||
* Или включите индивидуальные действия, такие как **Отправить email**, **Импортировать CSV** и **Экспортировать CSV**
|
||
|
||
## Назначить роли агентам API и API
|
||
|
||
Помимо участников рабочего пространства, роли также можно назначать **ключам API** и **AI-агентам**. Это особенно полезно для команд, которые хотят точно контролировать, «кто» что может делать в их рабочем пространстве — включая автоматизированные процессы и интеграции.
|
||
|
||
### Зачем назначать роли ключам API и AI-агентам?
|
||
|
||
* **Безопасность**: Ограничьте доступ и возможность изменений для автоматизированных процессов
|
||
* **Соответствие требованиям**: Обеспечьте, чтобы интеграции получали доступ только к необходимым данным
|
||
* **Контроль**: Предотвратите случайные изменения данных из-за неверно настроенных автоматизаций
|
||
* **Аудит**: Отслеживайте, какие действия выполнены какой интеграцией или каким агентом
|
||
|
||
### Назначить роль ключу API
|
||
|
||
1. Перейдите в **Настройки → Участники → Роли**
|
||
2. Нажмите на роль, которую вы хотите назначить
|
||
3. Откройте вкладку **Назначение**
|
||
4. В разделе **Ключи API** нажмите **+ Назначить ключу API**
|
||
5. Выберите ключ API из списка
|
||
6. Подтвердите назначение
|
||
|
||
Теперь ключ API унаследует все разрешения, определённые этой ролью. Любые вызовы API, выполненные с этим ключом, будут соответствующим образом ограничены.
|
||
|
||
<Note>
|
||
Ключи API без назначенной роли используют разрешения по умолчанию. Для повышения безопасности всегда назначайте конкретную роль производственным ключам API.
|
||
</Note>
|
||
|
||
### Назначить роль AI-агенту
|
||
|
||
1. Перейдите в **Настройки → Участники → Роли**
|
||
2. Нажмите на роль, которую вы хотите назначить
|
||
3. Откройте вкладку **Назначение**
|
||
4. В разделе **AI-агенты** нажмите **+ Назначить AI-агенту**
|
||
5. Выберите AI-агента из списка
|
||
6. Подтвердите назначение
|
||
|
||
AI-агент сможет получать доступ к данным и выполнять действия только в пределах разрешений назначенной ему роли.
|
||
|
||
<Note>
|
||
Для AI-агентов, работающих в рамках рабочих процессов, это гарантирует, что агент не сможет получать доступ к данным или изменять их вне своей предназначенной области — даже если у рабочего процесса есть более широкие разрешения.
|
||
</Note>
|