VK Dev Platform logo
Помощь
Обновлена 17 июля 2026 г. в 15:36

Ролевая модель управления доступом

Просмотр ролевой модели

Ролевая модель реализована на основе шаблона (подробнее — в разделе Шаблоны). Спецификация шаблона ролевой модели — templates.dev-platform.vk.team_casbinaccesscontrolconfigs.yaml.

Роли с правами и атрибутами доступа реализованы с помощью библиотеки Casbin (подробнее — в официальной документации).

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

$ kubectl get casbinaccesscontrolconfigs.templates.dev-platform.vk.team -o yaml

Ресурсы VK Dev Platform и права доступа

Возможные права доступа для каждого ресурса VK Dev Platform приведены в таблице 1.

Таблица 1 — Ресурсы VK Dev Platform и права доступа

Ресурс VK Dev Platform

Обозначение в шаблоне

Возможные права доступа

Проекты разработки

project

read, write, delete

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

users

read, write, delete

Репозитории

code_repository

read, create_empty, create_from_template, update, security_attributes, delete, gitlab:owner, gitlab:reporter, gitlab:developer, gitlab:maintainer

Окружения

environment

read, write, delete, deploy, undeploy

Раннеры

runner

read, write, delete

Хранилища артефактов

artifact_repository

read, write, delete, nexus:repository-viewer, nexus:repository-editor

Анализаторы кода

code_analyzer

read, write, delete

Доски управления

alm_project

read, write, delete

Вебхуки

subscriptions

read, write, delete

Описание прав доступа:

  • read — просмотр.

  • write — создание, редактирование. Относительно пользователей — добавление пользователя в проект разработки.

  • delete — удаление. Относительно пользователей — удаление пользователя из проекта разработки.

  • security_attributes — редактирование атрибутов доступа (подробнее — в Руководстве пользователя VK Dev Platform в разделе Атрибуты доступа).

  • deploy — развёртывание инфраструктуры в окружении.

  • undeploy — удаление инфраструктуры в окружении.

  • gitlab:<GITLAB_ROLE> — роль в проекте GitLab CE: Owner, Developer, Reporter, Maintainer (подробнее — в официальной документации).

  • nexus:<NEXUS_ROLE> — роль в репозитории Sonatype Nexus Repository Manager OSS:

    • nexus:repository-viewer — роль с привилегиями browse и read.

    • nexus:repository-editor — роль с привилегиями browse, read, edit, add и delete.

      Подробнее о привилегиях — в официальной документации.

  • create_from_template — создание репозитория из шаблона.

  • create_empty — создание пустого репозитория.

  • update — редактирование репозитория.

Редактирование ролевой модели

  1. Получите текущую ролевую модель и сохраните в файл:

    $ kubectl get casbinaccesscontrolconfigs.templates.dev-platform.vk.team -o yaml > <ROLE_MODEL>

    где <ROLE_MODEL> — путь до файла, куда будет сохранена текущая ролевая модель.

  2. В созданном файле отредактируйте роли:

    • Создайте новую роль.
    • Измените права и атрибуты доступа у существующей роли.
    • Удалите существующую роль.

    Используйте синтаксис библиотеки Casbin.

    Возможные права доступа на каждый ресурс VK Dev Platform приведены в разделе Ресурсы VK Dev Platform и права доступа.

  3. Загрузите файл с новой ролевой моделью в VK Dev Platform:

    $ kubectl apply -f <ROLE_MODEL>

    где <ROLE_MODEL> — путь до шаблона ролевой модели.