Важно

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

21.2. Рабочие процессы аутентификации пользователей

../../../_images/auth-user-usage.png

Рис. 21.19 Общий рабочий процесс пользователя

21.2.1. Аутентификация по протоколу HTTP(S)

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

../../../_images/auth-http-basic-wms.png

Рис. 21.20 Настройка подключения WMS для HTTP BASIC

21.2.2. Аутентификация базы данных

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

../../../_images/auth-db-ssl-pki.png

Рис. 21.21 Настройка соединения Postgres SSL-with-PKI

21.2.3. Аутентификация с помощью PKI

При настройке компонентов PKI в системе аутентификации у вас есть возможность импортировать компоненты в базу данных или ссылаться на файлы компонентов, хранящиеся в вашей файловой системе. Последний вариант может быть полезен, если такие компоненты часто меняются или если компоненты будут заменяться системным администратором. В любом случае вам нужно будет хранить в базе данных парольную фразу, необходимую для доступа к закрытым ключам.

../../../_images/auth-pki-config.png

Рис. 21.22 Рабочий процесс настройки PKI

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

../../../_images/auth-open-Certificate-manager.png

Рис. 21.23 Открытие диспетчера сертификатов

В Сертификат менеджер есть редакторы для Идентификаторов, Серверов и Авторизаций. Каждый из них находится на своих вкладках и описывается ниже в том порядке, в котором они встречаются на схеме рабочего процесса выше. Порядок расположения вкладок относится к часто используемым редакторам, когда вы привыкнете к рабочему процессу.

Примечание

Поскольку все изменения в системе аутентификации немедленно записываются в базу данных аутентификации, нет необходимости нажимать кнопку Опции диалога OK, чтобы изменения были сохранены. Это отличается от других настроек в диалоговом окне «Параметры».

21.2.3.1. Авторитеты

Вы можете управлять доступными центрами сертификации (ЦС) на вкладке Авторитеты в Менеджере сертификатов на вкладке Аутентификация диалогового окна QGIS Опции.

Как указано на схеме рабочего процесса выше, первым шагом является импорт или ссылка на файл центров сертификации. Этот шаг необязателен и может не потребоваться, если цепочка доверия PKI основана на корневых ЦС, уже установленных в вашей операционной системе (ОС), например, на сертификате от коммерческого поставщика сертификатов. Если аутентифицирующего корневого центра сертификации нет в списке доверенных корневых центров сертификации ОС, его нужно импортировать или указать путь к его файловой системе. (Если вы не уверены, обратитесь к системному администратору).

../../../_images/auth-editor-authorities.png

Рис. 21.24 Редактор властей

По умолчанию корневые центры сертификации из вашей ОС доступны, однако их параметры доверия не наследуются. Вам следует просмотреть настройки политики доверия сертификатов, особенно если корневые центры сертификации вашей ОС были скорректированы. Любой сертификат с истекшим сроком действия будет установлен в недоверенные и не будет использоваться в безопасных серверных соединениях, если вы специально не переопределите его политику доверия. Чтобы просмотреть цепочку доверия, обнаруживаемую QGIS, для любого сертификата, выберите его и нажмите кнопку metadata Показать информацию о сертификате.

../../../_images/auth-authority-imported_cert-info-chain.png

Рис. 21.25 Диалог информации о сертификате

Вы можете редактировать Политику доверия selectString для любого выбранного сертификата в цепочке. Любые изменения в политике доверия для выбранного сертификата не будут сохранены в базе данных, пока не будет нажата кнопка fileSave Сохранить изменения политики доверия сертификата в базе данных для каждого выбранного сертификата. Закрытие диалога не применит изменения политики.

../../../_images/auth-authority-edit-trust_save-not-close.png

Рис. 21.26 Сохранение изменений политики доверия

Вы можете просмотреть отфильтрованные ЦС, как промежуточные, так и корневые сертификаты, которым будет доверено безопасное соединение, или изменить политику доверия по умолчанию, нажав кнопку transformSettings Опции.

Предупреждение

Изменение политики доверия по умолчанию может привести к проблемам с безопасными соединениями.

../../../_images/auth-editor-authorities_utilities-menu.png

Рис. 21.27 Меню параметров органов власти

Вы можете импортировать ЦС или сохранить путь к файловой системе из файла, содержащего несколько ЦС, или импортировать отдельные ЦС. В стандартном формате PEM для файлов, содержащих несколько сертификатов цепочки ЦС, корневой сертификат находится в нижней части файла, а все подписанные впоследствии дочерние сертификаты - выше, в начале файла.

Диалог импорта сертификатов ЦС найдет все сертификаты ЦС в файле, независимо от порядка, а также предложит возможность импортировать сертификаты, которые считаются недействительными (в случае, если вы хотите отменить их политику доверия). Вы можете изменить политику доверия при импорте или сделать это позже в редакторе Авторитеты.

../../../_images/auth-authority-import.png

Рис. 21.28 Диалог импорта сертификатов

Примечание

Если вы вставляете информацию о сертификате в поле PEM текст, обратите внимание, что зашифрованные сертификаты не поддерживаются.

21.2.3.2. Идентичности

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

После импорта всех центров сертификации (ЦС) вы можете импортировать все пакеты идентификационных данных в базу данных аутентификации. Если вы не хотите хранить идентификаторы, вы можете ссылаться на пути к файловой системе их компонентов в индивидуальной конфигурации аутентификации.

../../../_images/auth-editor-identities.png

Рис. 21.29 Редактор идентификационных данных

При импорте пакета идентификационных данных он может быть защищенным или незащищенным парольной фразой, а также содержать сертификаты CA, образующие цепочку доверия. Сертификаты цепочки доверия не будут импортированы здесь; их можно добавить отдельно на вкладке Авторитеты.

При импорте сертификат и закрытый ключ связки будут сохранены в базе данных, а хранение ключа зашифровано с помощью мастер-пароля QGIS. Последующее использование сохраненной связки из базы данных потребует только ввода мастер-пароля.

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

../../../_images/auth-identity-import_paths.png

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

../../../_images/auth-identity-import_bundle-valid.png

Рис. 21.31 Импорт идентификационных данных PKCS#12

21.2.4. Работа с плохими слоями

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

../../../_images/auth-handle-bad-layers.png

Рис. 21.32 Работа с плохими слоями с помощью аутентификации

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

../../../_images/auth-handle-bad-layers-edit.png

Рис. 21.33 Редактирование идентификатора конфигурации аутентификации плохого уровня

21.2.5. Изменение идентификатора конфигурации аутентификации

Иногда вам нужно изменить идентификатор конфигурации аутентификации, связанный с доступом к ресурсу. Есть случаи, когда это полезно:

  • Идентификатор конфигурации аутентификации ресурса больше не действителен: Это может произойти, когда вы поменяли базу данных аутентификации и вам нужно привязать новую конфигурацию к ID, уже связанному с ресурсом.

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

../../../_images/auth-change-config-id.png

Рис. 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-сервера

../../../_images/auth-ssl-config.png

Рис. 21.35 Исключение SSL-сервера

Вы можете управлять конфигурациями и исключениями SSL-сервера на вкладке Серверы в разделе Аутентификация диалогового окна QGIS Опции.

Иногда при подключении к SSL-серверу возникают ошибки в «рукопожатии» SSL или сертификате сервера. Вы можете игнорировать эти ошибки или создать конфигурацию SSL-сервера в качестве исключения. Это похоже на то, как веб-браузеры позволяют отменять ошибки SSL, но с более детальным контролем.

Предупреждение

Не следует создавать конфигурацию SSL-сервера, если вы не знаете всех настроек SSL между сервером и клиентом. Вместо этого сообщите о проблеме администратору сервера.

Примечание

В некоторых системах PKI для проверки клиентских идентификаторов используется совершенно другая цепочка доверия ЦС, чем та, которая используется для проверки сертификата SSL-сервера. В таких обстоятельствах любая конфигурация, созданная для подключающегося сервера, не обязательно устранит проблему с проверкой идентификационных данных клиента, и только эмитент идентификационных данных клиента или администратор сервера могут устранить эту проблему.

Вы можете предварительно настроить конфигурацию SSL-сервера, нажав кнопку symbologyAdd. Также можно добавить конфигурацию, когда во время соединения возникает ошибка SSL и появляется диалог SSL Error (в котором ошибка может быть временно проигнорирована или сохранена в базе данных и проигнорирована):

../../../_images/auth-server-exception.png

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

../../../_images/auth-server-error-add-exception.png

Рис. 21.37 Добавление конфигурации при ошибке SSL

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

../../../_images/auth-editor-servers.png

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

../../../_images/auth-server-edit.png

Рис. 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, в котором можно выбрать сохранение конфигурации в базе данных.