Внимание! Мы категорически не рекомендуем создавать поды и 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: true
enabled: false
- settings.enableMultiTenancy
Включить авторизацию по namespace (режим multi-tenancy).
Все настройки
kube-apiserver
, необходимые для работы авторизации по namespace, выполняются автоматически модулем control-plane-manager (подробнее).Доступно только в версии Enterprise Edition.
По умолчанию:
false
Примеры:
enableMultiTenancy: true
enableMultiTenancy: false