Включение ролевой модели в KeyStack¶
Эта инструкция описывает процесс включения ролевой модели на существующем LCM (k0s) после обновления до релиза ks2026.2.1 или при установке ks2026.2.1 без ролевой модели.
Ролевая модель обеспечивает централизованное управление доступом пользователей к компонентам платформы через интеграцию с LDAP/AD. После включения ролевой модели доступ к GitLab и NetBox осуществляется через учётные записи централизованного каталога организации.
Примечание
При установке LCM с параметром enable_rbac_model: true в lcm-config.yaml (и настроенной интеграцией LDAP) ролевая модель настраивается автоматически в процессе установки — см. раздел Установка KeyStack LCM. Данная инструкция описывает включение ролевой модели на уже развёрнутой инсталляции, если она не была включена при установке.
Ролевая модель KeyStack описана в разделе:
Важно
Если используется LCM старой версии (pre-k0s), учтите, что миграция доступна начиная с версии ks2026.2.1. Сначала выполните миграцию на LCM в режиме k0s по инструкции Миграция со старой версии LCM. После завершения миграции включите ролевую модель по этой инструкции.
Предварительные требования¶
Перед началом работы убедитесь, что:
LCM обновлён до релиза ks2026.2.1 или установлен с этим релизом;
имеется доступ к серверу LDAP/AD с поддержкой LDAPS (TLS);
подготовлен файл с корневым сертификатом LDAP/AD в формате PEM и размещён в том же каталоге, что и
lcm-config.yaml; при использовании промежуточных центров сертификации в файл добавлена вся цепочка сертификатов;известны учётные данные служебного пользователя LDAP с правами просмотра;
Важно
Количество необходимых ТУЗ зависит от выбранного варианта управления паролями: с автоматической ротацией или без неё. Оба варианта описаны в разделе Ротация учётных записей LDAP.
настроены группы LDAP/AD для ролей KeyStack
admin,readerиsecurity_auditor.
Включение параметра в lcm-config.yaml¶
Откройте файл конфигурации:
$ vi ~/installer/lcm-k0s/lcm-config.yaml
Включите ролевую модель:
enable_rbac_model: true
Если интеграция с LDAP/AD ещё не настроена, задайте блок Active Directory:
# Active Directory ldap_enable: "true" ldap_host: "dc-01.domain.loc" ldap_port: 636 ldap_ca_cert_file: "ldap-root-cert.crt" ldap_bind_dn: "CN=test,CN=Users,DC=domain,DC=loc" ldap_user_search_basedn: "CN=Users,DC=domain,DC=loc" ldap_group_search_basedn: "CN=Users,DC=domain,DC=loc" ldap_reader_group_dn: "CN=KeyStack-Readers,CN=Users,DC=domain,DC=loc" ldap_auditor_group_dn: "CN=KeyStack-Auditors,CN=Users,DC=domain,DC=loc" ldap_admin_group_dn: "CN=KeyStack-Admins,CN=Users,DC=domain,DC=loc"
Подготовка сертификата LDAPS и описание параметров приведены в разделе Подключение к Active Directory инструкции Установка KeyStack LCM.
Настройте учётные записи привязки LDAP в зависимости от выбранной схемы управления паролями:
без автоматической ротации создайте Kubernetes-секреты
netbox-ldapиgitlab-ldap, как описано в разделе Подключение к Active Directory;с автоматической ротацией настройте ротацию паролей LDAP, как описано в разделе Автоматическая ротация паролей LDAP (опционально).
Применение изменений¶
Примените изменения — повторно запустите штатную команду установки приложений (обычный re-apply конфигурации, см. README дистрибутива lcm-k0s):
$ task k8s-install-apps-multi-node
$ task k8s-install-apps-single-node
Проверка работы ролевой модели¶
После завершения настройки проверьте работу ролевой модели.
Проверка доступа к GitLab¶
Откройте веб-интерфейс GitLab и войдите с учётной записью пользователя из группы LDAP. Убедитесь, что пользователь получил доступ согласно своей роли:
пользователи с ролями
admin,security_auditorиreaderполучают доступ к интерфейсу GitLab;пользователи с ролями
member,operator_vm,app_operatorиos_operatorне получают доступ к интерфейсу GitLab.
Подробное поведение ролей в GitLab описано в разделе Ролевая модель в GitLab.
Проверка доступа к NetBox¶
Откройте веб-интерфейс NetBox и войдите с учётной записью пользователя из группы LDAP. Убедитесь, что пользователь получил права доступа согласно своей роли:
пользователь с ролью
adminможет просматривать, создавать, изменять и удалять объекты NetBox;пользователи с ролями
readerиsecurity_auditorмогут просматривать объекты NetBox без права создания, изменения и удаления;пользователи с ролями
member,operator_vm,app_operatorиos_operatorне получают доступ к интерфейсу NetBox.
Подробное поведение ролей в NetBox описано в разделе Ролевая модель в NetBox.
Что происходит при включении ролевой модели¶
При включении ролевой модели выполняются следующие изменения в конфигурации GitLab:
Блокируется встроенный пользователь
root.Создаётся технологическая учётная запись
ks-admin.Пароль и токен доступа (PAT) для
ks-adminсохраняются в Vault по пути secret_v2 / deployments / <LCM FQDN> / secrets / accounts. При использовании внешнего Vault путь имеет вид/secrets/<vault_engine>/<vault_prefix>/secrets/accounts, гдеvault_engineиvault_prefixзадаются вlcm-config.yaml.Все технические операции в дальнейшем выполняются от имени учётной записи
ks-admin.
Это обеспечивает соблюдение принципов безопасности и исключает использование встроенных учётных записей для повседневных операций.
Настройка ролевой модели в KeyStack описана в разделе: