Доступно с ограничениями в редакциях: CE
Доступно без ограничений в редакциях: BE, SE, SE+, EE, CSE Lite (1.67), CSE Pro (1.67)
Внимание! Мы категорически не рекомендуем создавать поды и ReplicaSet’ы — эти объекты являются второстепенными и должны создаваться из других контроллеров. Доступ к созданию и изменению подов и ReplicaSet’ов полностью отсутствует.
Внимание! Режим multi-tenancy (авторизация по пространству имён) в данный момент реализован по временной схеме и не гарантирует безопасность! Если вебхук, который реализовывает систему авторизации, по какой-то причине будет недоступен, авторизация по пространству имён (опции
allowAccessToSystemNamespaces,namespaceSelectorиlimitNamespacesв custom resource) перестанет работать и пользователи получат доступы во все пространства имён. После восстановления доступности вебхука всё вернётся на свои места.
Вся настройка прав доступа происходит с помощью custom resources.
Модуль включен по умолчанию в наборах модулей: Default, Managed.
Модуль выключен по умолчанию в наборе модулей Minimal.
Настройки
Чтобы настроить модуль, используйте ресурс ModuleConfig с именем user-authz (подробнее о настройке Deckhouse…).
Пример ресурса ModuleConfig/user-authz для настройки модуля:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: user-authz
spec:
version: 1
enabled: true
settings: # <-- Параметры модуля из раздела "Параметры" ниже.
Параметры
Версия схемы: 1
- объектsettings
- объектsettings.controlPlaneConfigurator
Настройки параметров для модуля автоматической настройки kube-apiserver control-plane-manager.
- булевыйsettings.controlPlaneConfigurator.enabled
Передавать ли в control-plane-manager параметры для настройки authz-webhook (см. параметры control-plane-manager’а).
При выключении этого параметра модуль
control-plane-managerбудет считать, что по умолчанию webhook-авторизация выключена, и, соответственно, если не будет дополнительных настроек,control-plane-managerбудет стремиться вычеркнуть упоминания webhook-плагина из манифеста. Даже если вы настроите манифест вручную.По умолчанию:
trueПримеры:
enabled: trueenabled: false
- булевыйsettings.enableMultiTenancy
Доступно в редакциях: BE, SE, SE+, EE, CSE Lite (1.67), CSE Pro (1.67)
Включить авторизацию по namespace (режим multi-tenancy).
Все настройки
kube-apiserver, необходимые для работы авторизации по namespace, выполняются автоматически модулем control-plane-manager (подробнее).По умолчанию:
falseПримеры:
enableMultiTenancy: trueenableMultiTenancy: false