Management API использует ролевую модель управления доступом с двумя областями: рабочее пространство и проект.
Все запросы к Management API требуют ключ управления в заголовке X-Api-Key:
curl -X GET https://mgmt.vilna.app/workspaces/{workspace_id}/members \
-H "X-Api-Key: vilna_mgt_..."Ключи управления привязаны к рабочему пространству и используют префикс vilna_mgt_.
| Роль | Описание |
|---|---|
| Владелец (Owner) | Полный контроль над рабочим пространством. Ровно один на рабочее пространство. Не может быть удалён. |
| Администратор (Admin) | Управление участниками, проектами и ключами. Не может удалить рабочее пространство. |
| Участник (Member) | Доступ только на чтение на уровне рабочего пространства. Видит только назначенные проекты. |
| Роль | Описание |
|---|---|
| Редактор (Editor) | Чтение и запись ресурсов проекта. |
| Наблюдатель (Viewer) | Доступ только на чтение ресурсов проекта. |
- Владельцы и администраторы рабочего пространства автоматически получают управленческий доступ ко всем проектам.
- Участники рабочего пространства не наследуют доступ к проектам — им необходимо явно назначить роль
editorилиviewer. - При удалении участника из рабочего пространства все его назначения на уровне проектов отзываются.
- Владельцы и администраторы видят все проекты рабочего пространства.
- Участники видят только проекты, к которым они явно назначены.
Разрешения следуют формату mgt:{resource}:{action}. Действия: read, write и delete.
| Разрешение | Описание |
|---|---|
mgt:workspace:read | Просмотр сведений о рабочем пространстве |
mgt:workspace:write | Изменение настроек рабочего пространства |
mgt:workspace:delete | Удаление рабочего пространства |
mgt:member:read | Просмотр участников рабочего пространства |
mgt:member:write | Приглашение участников, изменение ролей |
mgt:member:delete | Удаление участников |
mgt:project:read | Просмотр списка проектов |
mgt:project:write | Создание и изменение проектов |
mgt:project:delete | Удаление проектов |
mgt:api_key:read | Просмотр API-ключей |
mgt:api_key:write | Создание API-ключей |
mgt:rpc_key:read | Просмотр RPC-ключей |
mgt:rpc_key:write | Создание RPC-ключей |
mgt:mgt_key:read | Просмотр ключей управления |
mgt:mgt_key:write | Создание ключей управления |
| Разрешение | Владелец (Owner) | Администратор (Admin) | Участник (Member) |
|---|---|---|---|
mgt:workspace:read | да | да | да |
mgt:workspace:write | да | — | — |
mgt:workspace:delete | да | — | — |
mgt:member:read | да | да | — |
mgt:member:write | да | да | — |
mgt:member:delete | да | да | — |
mgt:project:read | да | да | только назначенные |
mgt:project:write | да | да | — |
mgt:project:delete | да | да | — |
mgt:api_key:read | да | да | — |
mgt:api_key:write | да | да | — |
mgt:rpc_key:read | да | да | — |
mgt:rpc_key:write | да | да | — |
mgt:mgt_key:read | да | да | — |
mgt:mgt_key:write | да | да | — |
Каждый ключ управления содержит список предоставленных разрешений. Чтобы проверить наличие конкретного разрешения у ключа, выполните точное сравнение строк со списком:
function hasPermission(granted: string[], required: string): boolean {
return granted.includes(required);
}
// Example: check if the API key can create projects
const canCreateProject = hasPermission(permissions, "mgt:project:write");Информацию об эндпоинтах управления ключами (создание, просмотр и отзыв ключей управления) вы найдёте в справочнике Management API.
Приглашения в рабочее пространство отправляются по электронной почте и поддерживают только роли admin и member.
Жизненный цикл приглашения: pending → accepted | declined | revoked
- Членство создаётся только после принятия приглашения.
- Ожидающие приглашения могут быть отозваны администраторами и владельцами рабочего пространства.
Готовы настроить рабочее пространство? Ознакомьтесь с руководством по началу работы, чтобы узнать о подключении и настройке доступа.