ЦЕЛЬ: ЛЮБОЙ пользователь, который успешно прошел аутентификацию с помощью SSO (через REMOTE_AUTH), получает права администратора (или, по крайней мере, суперпользователя) без необходимости предварительного создания каких-либо пользователей или групп.
У меня удаленная авторизация работает нормально (пользователь успешно вошел в систему NetBox), но я не могу установить какие-либо автоматические разрешения. Все пользователи имеют доступ только к просмотру.
Единственное, что работает, это явная установка имени пользователя, например:
REMOTE_AUTH_SUPERUSERS = ['мой пользователь1', 'мой пользователь2']
что не является подходящим решением для этой цели, поскольку имена пользователей неизвестны до того, как пользователь пройдет через поток единого входа.
Я просмотрел документацию здесь: https://netbox.readthedocs.io/en/stable/administration/permissions/
и здесь: https://netbox.readthedocs.io/en/stable/configuration/Optional-Settings/#remote_auth_default_permissions
Обратите внимание на документы для REMOTE_AUTH_DEFAULT_PERMISSIONS
состояния «Каждый ключ в словаре должен быть установлен в словарь атрибутов, которые будут применяться к разрешению, или Никто
разрешить все объекты». с акцентом на "Никто
разрешить все объекты».
Ни один из них не помогает определить базовую настройку типа «предоставить доступ всем».
Я пробовал просто установить REMOTE_AUTH_SUPERUSERS = ['*']
и попытался установить REMOTE_AUTH_DEFAULT_PERMISSIONS = { "*": Нет }
и REMOTE_AUTH_DEFAULT_PERMISSIONS = { "статус": нет}
(и МНОГИЕ другие варианты, ничего не работает.
Ссылка на эти применимые элементы конфигурации. (Обратите внимание, что это не обязательно моя текущая конфигурация, так как я пробовал десятки вариантов, чтобы заставить ее работать)
REMOTE_AUTH_ENABLED = Истина
REMOTE_AUTH_BACKEND = 'netbox.authentication.RemoteUserBackend'
REMOTE_AUTH_HEADER = 'HTTP_X_USER_NAME'
REMOTE_AUTH_AUTO_CREATE_USER = Истина
REMOTE_AUTH_SUPERUSERS = ['*']
# REMOTE_AUTH_DEFAULT_GROUPS = []
# REMOTE_AUTH_SUPERUSER_GROUPS= []
# REMOTE_AUTH_DEFAULT_PERMISSIONS = { }