Важно
Перевод - это работа сообщества : ссылка:Вы можете присоединиться. Эта страница в настоящее время переводится |прогресс перевода|.
21.2. Рабочие процессы аутентификации пользователей

Рис. 21.19 Общий рабочий процесс пользователя
21.2.1. Аутентификация по протоколу HTTP(S)
Одним из наиболее распространенных видов подключения к ресурсам является HTTP(S), например, к серверам веб-карты, и плагины методов аутентификации часто работают для таких типов подключений. Плагины методов имеют доступ к объекту HTTP-запроса и могут манипулировать как самим запросом, так и его заголовками. Это позволяет использовать множество форм аутентификации в Интернете. При подключении по HTTP(S) с использованием стандартного метода аутентификации имя пользователя/пароль при подключении будет произведена попытка аутентификации HTTP BASIC.

Рис. 21.20 Настройка подключения WMS для HTTP BASIC
21.2.2. Аутентификация базы данных
Соединения с ресурсами баз данных обычно хранятся в виде пар ключ=значение'', в которых указываются имена пользователей и (опционально) пароли, если *не* используется конфигурация аутентификации. При конфигурировании с помощью системы аутентификации, ``ключ=значение
будет абстрактным представлением учетных данных, например authfg=81t21b9
.

Рис. 21.21 Настройка соединения Postgres SSL-with-PKI
21.2.3. Аутентификация с помощью PKI
При настройке компонентов PKI в системе аутентификации у вас есть возможность импортировать компоненты в базу данных или ссылаться на файлы компонентов, хранящиеся в вашей файловой системе. Последний вариант может быть полезен, если такие компоненты часто меняются или если компоненты будут заменяться системным администратором. В любом случае вам нужно будет хранить в базе данных парольную фразу, необходимую для доступа к закрытым ключам.

Рис. 21.22 Рабочий процесс настройки PKI
Всеми компонентами PKI можно управлять в отдельных редакторах в Сертификат Менеджер, доступ к которому можно получить на вкладке Аутентификация в диалоге QGIS Опции ( ), нажав на кнопку Управлять сертификатами.

Рис. 21.23 Открытие диспетчера сертификатов
В Сертификат менеджер есть редакторы для Идентификаторов, Серверов и Авторизаций. Каждый из них находится на своих вкладках и описывается ниже в том порядке, в котором они встречаются на схеме рабочего процесса выше. Порядок расположения вкладок относится к часто используемым редакторам, когда вы привыкнете к рабочему процессу.
Примечание
Поскольку все изменения в системе аутентификации немедленно записываются в базу данных аутентификации, нет необходимости нажимать кнопку Опции диалога OK, чтобы изменения были сохранены. Это отличается от других настроек в диалоговом окне «Параметры».
21.2.3.2. Идентичности
Вы можете управлять доступными пакетами клиентских идентификаторов на вкладке Идентификации в Менеджере сертификатов на вкладке Аутентификация диалогового окна QGIS Опции. Идентификатор - это то, что удостоверяет вашу подлинность в службе с поддержкой PKI и обычно состоит из сертификата клиента и закрытого ключа, либо в виде отдельных файлов, либо объединенных в один «связочный» файл. Связка или закрытый ключ часто защищены парольной фразой.
После импорта всех центров сертификации (ЦС) вы можете импортировать все пакеты идентификационных данных в базу данных аутентификации. Если вы не хотите хранить идентификаторы, вы можете ссылаться на пути к файловой системе их компонентов в индивидуальной конфигурации аутентификации.

Рис. 21.29 Редактор идентификационных данных
При импорте пакета идентификационных данных он может быть защищенным или незащищенным парольной фразой, а также содержать сертификаты CA, образующие цепочку доверия. Сертификаты цепочки доверия не будут импортированы здесь; их можно добавить отдельно на вкладке Авторитеты.
При импорте сертификат и закрытый ключ связки будут сохранены в базе данных, а хранение ключа зашифровано с помощью мастер-пароля QGIS. Последующее использование сохраненной связки из базы данных потребует только ввода мастер-пароля.
Поддерживаются связки персональных идентификаторов, состоящие из компонентов PEM/DER (.pem/.der) и PKCS#12 (.p12/.pfx). Если ключ или связка защищены парольной фразой, пароль потребуется для проверки компонента перед импортом. Аналогично, если сертификат клиента в связке недействителен (например, дата его вступления в силу еще не началась или истекла), связка не может быть импортирована.

Рис. 21.30 Импорт идентификаторов PEM/DER

Рис. 21.31 Импорт идентификационных данных PKCS#12
21.2.4. Работа с плохими слоями
Иногда идентификатор конфигурации аутентификации, сохраненный вместе с файлом проекта, становится недействительным, возможно, из-за того, что текущая база данных аутентификации отличается от той, которая была при последнем сохранении проекта, или из-за несовпадения учетных данных. В таких случаях при запуске QGIS будет отображаться диалог Работа с плохими слоями.

Рис. 21.32 Работа с плохими слоями с помощью аутентификации
Если обнаружится, что источник данных имеет связанный с ним идентификатор конфигурации аутентификации, вы сможете его отредактировать. Это автоматически изменит строку источника данных, точно так же, как если бы вы открыли файл проекта в текстовом редакторе и отредактировали строку.

Рис. 21.33 Редактирование идентификатора конфигурации аутентификации плохого уровня
21.2.5. Изменение идентификатора конфигурации аутентификации
Иногда вам нужно изменить идентификатор конфигурации аутентификации, связанный с доступом к ресурсу. Есть случаи, когда это полезно:
Идентификатор конфигурации аутентификации ресурса больше не действителен: Это может произойти, когда вы поменяли базу данных аутентификации и вам нужно привязать новую конфигурацию к ID, уже связанному с ресурсом.
Общие файлы проектов: Если вы планируете обмениваться проектами между пользователями, например, через общий файловый сервер, вы можете предопределить 7-символьный (содержащий a-z и/или 0-9) идентификатор, который будет ассоциирован с ресурсом. Затем отдельные пользователи меняют ID в конфигурации аутентификации, которая соответствует их учетным данным ресурса. Когда проект открывается, идентификатор находится в базе данных аутентификации, но учетные данные для каждого пользователя разные.

Рис. 21.34 Изменение идентификатора конфигурации аутентификации слоя (разблокированное желтое текстовое поле)
Предупреждение
Изменение идентификатора конфигурации аутентификации считается сложной операцией и должно выполняться только при полном понимании того, зачем это нужно. Именно поэтому здесь есть кнопка блокировки, которую нужно нажать, чтобы разблокировать текстовое поле ID перед его редактированием.
21.2.6. Поддержка сервера QGIS
При использовании файла проекта со слоями, имеющими конфигурации аутентификации, в качестве основы для карты в QGIS Server, необходимо выполнить несколько дополнительных шагов по настройке, чтобы QGIS смог загрузить ресурсы:
База данных аутентификации должна быть доступна
Главный пароль базы данных аутентификации должен быть доступен
При инстанцировании системы аутентификации сервер создаст или использует файл qgis-auth.db
в активном профиле пользователя, или в каталоге, определенном переменной окружения QGIS_AUTH_DB_DIR_PATH
. Может оказаться, что у пользователя сервера нет каталога HOME, в этом случае используйте переменную окружения для определения каталога, на который у пользователя сервера есть права чтения/записи и который не находится в каталогах с веб-доступом.
Чтобы передать мастер-пароль серверу, запишите его в первую строку файла по пути в файловой системе, читаемому пользователем процессов сервера и определенному с помощью переменной окружения QGIS_AUTH_PASSWORD_FILE
. Убедитесь, что файл доступен для чтения только пользователю процесса сервера, и не храните его в каталогах с веб-доступом.
Примечание
Переменная QGIS_AUTH_PASSWORD_FILE
будет удалена из окружения сервера сразу после получения доступа.
21.2.7. Исключения SSL-сервера

Рис. 21.35 Исключение SSL-сервера
Вы можете управлять конфигурациями и исключениями SSL-сервера на вкладке Серверы в разделе Аутентификация диалогового окна QGIS Опции.
Иногда при подключении к SSL-серверу возникают ошибки в «рукопожатии» SSL или сертификате сервера. Вы можете игнорировать эти ошибки или создать конфигурацию SSL-сервера в качестве исключения. Это похоже на то, как веб-браузеры позволяют отменять ошибки SSL, но с более детальным контролем.
Предупреждение
Не следует создавать конфигурацию SSL-сервера, если вы не знаете всех настроек SSL между сервером и клиентом. Вместо этого сообщите о проблеме администратору сервера.
Примечание
В некоторых системах PKI для проверки клиентских идентификаторов используется совершенно другая цепочка доверия ЦС, чем та, которая используется для проверки сертификата SSL-сервера. В таких обстоятельствах любая конфигурация, созданная для подключающегося сервера, не обязательно устранит проблему с проверкой идентификационных данных клиента, и только эмитент идентификационных данных клиента или администратор сервера могут устранить эту проблему.
Вы можете предварительно настроить конфигурацию SSL-сервера, нажав кнопку . Также можно добавить конфигурацию, когда во время соединения возникает ошибка SSL и появляется диалог SSL Error (в котором ошибка может быть временно проигнорирована или сохранена в базе данных и проигнорирована):

Рис. 21.36 Ручное добавление конфигурации

Рис. 21.37 Добавление конфигурации при ошибке SSL
После сохранения конфигурации SSL в базе данных ее можно редактировать или удалять.

Рис. 21.38 Существующая конфигурация SSL

Рис. 21.39 Редактирование существующей конфигурации SSL
Если вы хотите предварительно настроить конфигурацию SSL и диалог импорта не работает для подключения вашего сервера, вы можете вручную запустить подключение через Python Консоль, выполнив следующий код (замените https://bugreports.qt-project.org
на URL вашего сервера):
from qgis.PyQt.QtNetwork import QNetworkRequest
from qgis.PyQt.QtCore import QUrl
from qgis.core import QgsNetworkAccessManager
req = QNetworkRequest(QUrl('https://bugreports.qt-project.org'))
reply = QgsNetworkAccessManager.instance().get(req)
При возникновении ошибок откроется диалог ошибок SSL, в котором можно выбрать сохранение конфигурации в базе данных.