Параметры безопасности и аутентификации
ALLOW_TOKEN_RETRIEVAL
По умолчанию: False
Примечание
Значение по умолчанию этого параметра изменено с True на False в InfraVision v4.3.0.
Если отключено, значения API-токенов не будут отображаться после первоначального создания каждого токена. Пользователь должен записать значение токена до его создания, иначе оно будет потеряно. Обратите внимание, что это влияет на всех пользователей, независимо от назначенных прав.
ALLOWED_URL_SCHEMES
Совет
Динамический параметр конфигурации
По умолчанию: ('file', 'ftp', 'ftps', 'http', 'https', 'irc', 'mailto', 'sftp', 'ssh', 'tel', 'telnet', 'tftp', 'vnc', 'xmpp')
Список разрешённых схем URL, на которые ссылаются при отображении ссылок в InfraVision. Обратите внимание, что будут приняты только схемы, указанные в этом списке: при добавлении собственных обязательно воспроизведите все значения по умолчанию (за исключением нежелательных схем).
AUTH_PASSWORD_VALIDATORS
Этот параметр действует как сквозной для настройки встроенных валидаторов паролей Django для локальных учётных записей пользователей. Эти правила применяются при создании или обновлении пароля пользователя, чтобы гарантировать, что он соответствует минимальным критериям, таким как длина или сложность. Конфигурация по умолчанию показана ниже.
AUTH_PASSWORD_VALIDATORS = [
{
"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
"OPTIONS": {
"min_length": 12,
},
},
{
"NAME": "utilities.password_validation.AlphanumericPasswordValidator",
},
]
Конфигурация по умолчанию применяет следующие критерии:
- Пароль должен быть длиной не менее 12 символов.
- Пароль должен содержать как минимум одну заглавную букву, одну строчную букву и одну цифру.
Хотя это не рекомендуется, правила валидации по умолчанию можно отключить, установив AUTH_PASSWORD_VALIDATORS = [] в файле конфигурации. Для получения дополнительной информации о настройке валидации паролей см. документацию Django.
CORS_ORIGIN_ALLOW_ALL
По умолчанию: False
Если True, запросы на совместное использование ресурсов между источниками (CORS) будут приниматься от всех источников. Если False, будет использоваться белый список (см. ниже).
CORS_ORIGIN_WHITELIST
CORS_ORIGIN_REGEX_WHITELIST
Эти настройки определяют список источников, которым разрешено выполнять кросс-доменные API-запросы. Используйте CORS_ORIGIN_WHITELIST для определения списка точных имён хостов или CORS_ORIGIN_REGEX_WHITELIST для определения набора регулярных выражений. (Эти настройки не действуют, если CORS_ORIGIN_ALLOW_ALL равен True.) Например:
CORS_ORIGIN_WHITELIST = [
'https://example.com',
]
CSRF_COOKIE_NAME
По умолчанию: csrftoken
Имя cookie для использования в качестве токена аутентификации защиты от подделки межсайтовых запросов (CSRF). См. документацию Django для получения более подробной информации.
CSRF_COOKIE_SECURE
По умолчанию: False
Если True, cookie, используемый для защиты от подделки межсайтовых запросов (CSRF), будет помечен как безопасный, что означает, что он может быть отправлен только через HTTPS-соединение.
CSRF_TRUSTED_ORIGINS
По умолчанию: []
Определяет список доверенных источников для небезопасных (например, POST) запросов. Это сквозной параметр для настройки Django CSRF_TRUSTED_ORIGINS. Обратите внимание, что каждый перечисленный хост должен указывать схему (например, http:// или https://).
CSRF_TRUSTED_ORIGINS = (
'http://netbox.local',
'https://netbox.local',
)
DEFAULT_PERMISSIONS
По умолчанию:
{
'users.view_token': ({'user': '$user'},),
'users.add_token': ({'user': '$user'},),
'users.change_token': ({'user': '$user'},),
'users.delete_token': ({'user': '$user'},),
}
Этот параметр определяет права доступа к объектам, которые автоматически применяются к любому аутентифицированному пользователю, независимо от того, какие права были определены в базе данных. По умолчанию этот параметр настроен так, чтобы позволить всем пользователям управлять своими собственными API-токенами, однако он может быть переопределён для любой цели.
Например, чтобы позволить всем пользователям создавать роль устройства, начинающуюся со слова "temp", вы можете настроить следующее:
DEFAULT_PERMISSIONS = {
'dcim.add_devicerole': (
{'name__startswith': 'temp'},
)
}
Внимание
Установка пользовательского значения для этого параметра перезапишет сопоставление прав по умолчанию, показанное выше. Если вы хотите сохранить сопоставление по умолчанию, обязательно воспроизведите его в своей пользовательской конфигурации.
EXEMPT_VIEW_PERMISSIONS
По умолчанию: [] (пустой список)
Список моделей InfraVision, освобождённых от применения прав на просмотр. Модели, перечисленные здесь, будут доступны для просмотра всем пользователям, как аутентифицированным, так и анонимным.
Перечислите модели в формате <app>.<model>. Например:
EXEMPT_VIEW_PERMISSIONS = [
'dcim.site',
'dcim.region',
'ipam.prefix',
]
Чтобы освободить все модели от применения прав на просмотр, установите следующее. (Обратите внимание, что EXEMPT_VIEW_PERMISSIONS должен быть итерируемым объектом.)
EXEMPT_VIEW_PERMISSIONS = ['*']
Примечание
Использование подстановочного знака не затронет определённые потенциально чувствительные модели, такие как права пользователей. Если есть необходимость освободить эти модели, они должны быть указаны индивидуально.
LOGIN_PERSISTENCE
По умолчанию: False
Если True, время жизни сессии аутентификации пользователя будет автоматически сбрасываться при каждом действительном запросе. Например, если LOGIN_TIMEOUT настроен на 14 дней (по умолчанию), и пользователь, чья сессия истекает через пять дней, делает запрос к InfraVision (с действительным cookie сессии), время жизни сессии будет сброшено до 14 дней.
Обратите внимание, что включение этой настройки заставляет InfraVision обновлять сессию пользователя в базе данных (или файле, как настроено через SESSION_FILE_PATH) при каждом запросе, что может создать значительную нагрузку в очень активных средах. Это также позволяет активному пользователю оставаться аутентифицированным в InfraVision неограниченно долго.
LOGIN_REQUIRED
По умолчанию: True
Когда включено, только аутентифицированным пользователям разрешён доступ к любой части InfraVision. Отключение этого позволит неаутентифицированным пользователям получать доступ к большинству областей InfraVision (но не вносить никаких изменений).
Информация
До InfraVision v4.0.2 эта настройка была отключена по умолчанию.
LOGIN_TIMEOUT
По умолчанию: 1209600 секунд (14 дней)
Время жизни (в секундах) cookie аутентификации, выдаваемого пользователю InfraVision при входе.
LOGIN_FORM_HIDDEN
По умолчанию: False
Опция для скрытия формы входа, когда используется только SSO-аутентификация.
Внимание
Если провайдер SSO недоступен, вход в InfraVision будет невозможен, если эта опция включена. Единственный выход — отключить её в локальной конфигурации и перезапустить сервис InfraVision.
LOGOUT_REDIRECT_URL
По умолчанию: 'home'
Имя представления или URL, на который пользователь перенаправляется после выхода из системы.
SECURE_HSTS_INCLUDE_SUBDOMAINS
По умолчанию: False
Если True, директива includeSubDomains будет включена в заголовок HTTP Strict Transport Security (HSTS). Эта директива указывает браузеру применять политику HSTS ко всем поддоменам текущего домена.
SECURE_HSTS_PRELOAD
По умолчанию: False
Если True, директива preload будет включена в заголовок HTTP Strict Transport Security (HSTS). Эта директива указывает браузеру предварительно загрузить сайт по HTTPS. Браузеры, использующие список предварительной загрузки HSTS, будут принудительно обращаться к сайту через HTTPS, даже если пользователь вводит HTTP в адресной строке.
SECURE_HSTS_SECONDS
По умолчанию: 0
Если установлено ненулевое целочисленное значение, SecurityMiddleware устанавливает заголовок HTTP Strict Transport Security (HSTS) на все ответы, которые его ещё не имеют. Это укажет браузеру, что веб-сайт должен быть доступен через HTTPS, блокируя любые HTTP-запросы.
SECURE_SSL_REDIRECT
По умолчанию: False
Если True, все не-HTTPS-запросы будут автоматически перенаправлены на использование HTTPS.
Внимание
Убедитесь, что ваш фронтенд HTTP-демон настроен на правильную пересылку HTTP-схемы, прежде чем включать эту опцию. Неправильно настроенный фронтенд может привести к циклическому перенаправлению.
SESSION_COOKIE_NAME
По умолчанию: sessionid
Имя, используемое для cookie сессии. См. документацию Django для получения более подробной информации.
SESSION_COOKIE_SECURE
По умолчанию: False
Если True, cookie, используемый для аутентификации сессии, будет помечен как безопасный, что означает, что он может быть отправлен только через HTTPS-соединение.
SESSION_FILE_PATH
По умолчанию: None
Данные HTTP-сессии используются для отслеживания аутентифицированных пользователей при доступе к InfraVision. По умолчанию InfraVision хранит данные сессии в своей базе данных PostgreSQL. Однако это препятствует аутентификации на резервном экземпляре InfraVision без доступа на запись к базе данных. В качестве альтернативы здесь можно указать путь к локальному файлу, и InfraVision будет хранить данные сессии в виде файлов вместо использования базы данных. Обратите внимание, что системный пользователь InfraVision должен иметь права на чтение и запись по этому пути.