> This page is for Платформа, version V4 (default).
> For other versions, use one of these documentation indexes:
> - V4 (default): https://next.developer.frame.io/platform/v4/llms.txt
> - Версия 4 экспериментальная: https://next.developer.frame.io/platform/v4-experimental/llms.txt
> - Предыдущая версия: https://next.developer.frame.io/platform/v2/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://next.developer.frame.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://next.developer.frame.io/_mcp/server.

# Управление разрешениями пользователей

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

---

## Уровни разрешений

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

```
Account 
│
├── (admin)  - full access to all Workspaces, Projects, and Restricted Projects
│
└── (member)
        │
        ├── Workspace - (full_access | editor | edit_only | commenter | viewer)
        │       │
        │       └── Project - (full_access | editor | edit_only | commenter | viewer)
        │
        └── Restricted Project - (members require direct invite)
```

Каждый пользователь имеет определенную роль на уровне учетной записи. Через API можно назначить пользователю роль

администратора `admin` или участника `member`.

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

При добавлении участника учетной записи в рабочую среду назначаемый ему уровень прав (`full_access`, `editor`, `edit_only`, `commenter` или `viewer`) применяется ко всем существующим и будущим проектам в рабочей среде. Например, если вы добавите участника учетной записи в качестве зрителя (`viewer`), он будет обладать правами уровня `viewer` при доступе к любому проекту в этой рабочей среде. Этого же участника учетной записи можно добавить в конкретный проект внутри данной рабочей среды в качестве редактора (`editor`). В результате при доступе к этому проекту он будет обладать правами уровня `editor`. При этом для всех остальных проектов в данной рабочей среде для него по-прежнему будут действовать права уровня `viewer`. Поскольку назначения на уровне проекта существуют отдельно от назначений на уровне рабочей среды, при удалении этого участника из рабочей среды он сохранит свои права уровня `editor` для данного конкретного проекта.

Исключением являются проекты с ограниченным доступом. Для доступа к ним участникам учетной записи всегда требуется прямое приглашение. Подробнее — в разделе «Разрешения на уровне проекта» ниже.

## Разрешения на уровне учетной записи

Каждый пользователь в вашей учетной записи имеет определенную роль.

| Роль                    | Разрешения                                                                                                         | Настройка через API | Конечная точка                               |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------- | -------------------------------------------- |
| Владелец (Owner)        | Полный доступ ко всем рабочим средам и проектам. Один на учетную запись                                            | Нет                 | —                                            |
| Администратор (`admin`) | Полный доступ ко всем рабочим средам и проектам                                                                    | Да                  | `PATCH /accounts/:account_id/users/:user_id` |
| Участник (`member`)     | Разрешения настраиваются на уровне рабочей среды и/или проекта                                                     | Да                  | `PATCH /accounts/:account_id/users/:user_id` |
| Рецензент (Reviewer)    | Доступ только через ссылки общего доступа. Создается автоматически при добавлении пользователя в защищенную ссылку | Нет                 | —                                            |

---

Администраторы учетной записи имеют полный доступ ко всем ресурсам. Чтобы ограничить доступ администратора к конкретным ресурсам, сначала измените его роль на уровне учетной записи на «Участник», а затем добавьте его только в те рабочие среды или проекты, которые необходимы ему для работы.

Пример

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

```curl

curl https://api.frame.io/v4/accounts/:account_id/users \
     -H "Authorization: Bearer <token>"

```

#### Обновите роль пользователя до уровня «Участник».

```curl

curl -X PATCH https://api.frame.io/v4/accounts/:account_id/users/:user_id \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "data": {
    "role": "member"
  }
}'

```

#### Добавьте его в проект.

```curl

curl -X PATCH https://api.frame.io/v4/accounts/:account_id/projects/:project_id/users/:user_id \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "data": {
    "role": "edit_only"
  }
}'

```

### Конечные точки разрешений на уровне учетной записи

#### Список ролей пользователей в учетной записи

#### Список ролей пользователей в учетной записи

\


Выводит список пользователей в данной учетной записи, включая сведения о пользователях (идентификатор, имя, адрес электронной почты) и их роль на уровне учетной записи.

\
&#x20;`GET` `https://api.frame.io/v4/accounts/:account_id/users` \
&#x20;[Documentation](/platform/api-reference/account-permissions/index)

#### Обновление роли пользователя

#### Обновление роли пользователя

\


Обновляет роль пользователя в учетной записи. На данный момент эта конечная точка является экспериментальной.

\
&#x20;\
&#x20;`PATCH` `https://api.frame.io/v4/accounts/:account_id/users/:user_id` \
&#x20;[Documentation](/platform/v4-experimental/api-reference/account-permissions/developer-api-web-experimental-account-user-roles-controller-update)

---

## Разрешения на уровне рабочей среды

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

\


| Роль                                | Разрешения                                                                                                                                     |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Полный доступ (`full_access`)       | Добавление, управление, предоставление общего доступа, комментирование, просмотр, загрузка, управление настройками и приглашение пользователей |
| Редактор (`editor`)                 | Добавление, управление, предоставление общего доступа, комментирование, просмотр, загрузка                                                     |
| Только редактирование (`edit_only`) | Добавление, управление, комментирование, просмотр. Без возможности предоставления общего доступа или загрузки                                  |
| Комментатор (`commenter`)           | Просмотр и комментирование                                                                                                                     |
| Зритель (`viewer`)                  | Только просмотр                                                                                                                                |

\


### Конечные точки разрешений на уровне рабочей среды

#### Список ролей пользователей в рабочей среде

#### Список пользователей

\


Выводит список пользователей с доступом к указанной рабочей среде, включая сведения о пользователях (идентификатор, имя, адрес электронной почты) и их роль.

\
&#x20;`GET` `https://api.frame.io/v4/accounts/:account_id/workspaces/:workspace_id/users` \
&#x20;[Documentation](/platform/api-reference/workspace-permissions/index)

#### Обновление ролей пользователей

#### Обновление роли пользователя

\


Изменяет роль пользователя в указанной рабочей среде. Данный запрос либо обновит роль пользователя, если он уже был добавлен в рабочую среду, либо добавит его с указанной ролью.

\
&#x20;`PATCH` `https://api.frame.io/v4/accounts/:account_id/workspaces/:workspace_id/users/:user_id` \
&#x20;[Documentation](/platform/api-reference/workspace-permissions/workspace-user-roles-update)

#### Удаление пользователя

#### Удаление пользователя

\


Удаляет пользователя из указанной рабочей среды.

\
&#x20;`DEL` `https://api.frame.io/v4/accounts/:account_id/workspaces/:workspace_id/users/:user_id` \
&#x20;[Documentation](/platform/api-reference/workspace-permissions/workspace-user-roles-delete)

---

## Разрешения на уровне проекта

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

\


| Роль                                           | Разрешения                                                                                                                                     |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Полный доступ (`full_access`)                  | Добавление, управление, предоставление общего доступа, комментирование, просмотр, загрузка, управление настройками и приглашение пользователей |
| Редактор (`editor`)                            | Добавление, управление, предоставление общего доступа, комментирование, просмотр, загрузка                                                     |
| Только редактирование (`edit_only`)            | Добавление, управление, комментирование, просмотр. Без возможности предоставления общего доступа или загрузки                                  |
| Комментатор (`commenter`)                      | Просмотр и комментирование                                                                                                                     |
| Зритель (`viewer`)                             | Только просмотр                                                                                                                                |
|   **Пример. Добавление пользователя в проект** |                                                                                                                                                |

```curl

curl -X PATCH https://api.frame.io/v4/accounts/:account_id/projects/:project_id/users/:user_id \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "data": {
    "role": "full_access"
  }
}'

```

---

### Проекты с ограниченным доступом

Проекты с ограниченным доступом требуют прямого приглашения. Права доступа на уровне рабочей среды на них не распространяются,

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

Чтобы предоставить доступ участнику, добавьте его в проект с соответствующим уровнем прав.

> **Note**
>
> Администраторы и владельцы учетных записей являются исключением и имеют доступ ко всем
>
> проектам с ограниченным доступом.

### Конечные точки разрешений на уровне проекта

#### Список ролей пользователей в проекте

#### Список ролей пользователей в проекте

\


Выводит список пользователей с доступом к указанному проекту, включая сведения о пользователях (идентификатор, имя, адрес электронной почты) и их роль.

\
&#x20;`GET` `https://api.frame.io/v4/accounts/:account_id/projects/:project_id/users` \
&#x20;[Документация](/platform/api-reference/project-permissions/index)

#### Обновление ролей пользователей

#### Обновление ролей пользователей

\


Изменяет роль пользователя в указанном проекте. Это либо обновит роль пользователя, если он уже был добавлен в проект, либо добавит его с указанной ролью.

\
&#x20;`PATCH` `https://api.frame.io/v4/accounts/:account_id/projects/:project_id/users/:user_id ` \
&#x20;[Documentation](/platform/api-reference/project-permissions/project-user-roles-update)

#### Удаление пользователя

#### Удаление пользователя

\


Удаляет пользователя из определенного проекта.

\
&#x20;`DEL` `https://api.frame.io/v4/accounts/:account_id/projects/:project_id/users/:user_id` \
&#x20;[Документация](/platform/api-reference/project-permissions/delete)

---

## Ресурсы

Дополнительные ресурсы, которые могут быть вам полезны:

* [Форум разработчиков](https://forum.frame.io/) Frame.io — площадка, где разработчики могут задавать вопросы, делиться отзывами и обсуждать свои текущие проекты
* [Статья в справочном центре](https://help.frame.io/ru/articles/9875389-user-roles-and-permissions) о ролях и разрешениях пользователей
* [Шпаргалка OWASP по авторизации](https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html#prefer-attribute-and-relationship-based-access-control-over-rbac), содержащая дополнительную информацию об управлении доступом на основе отношений и атрибутов