22.2. ユーザー認証ワークフロー

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

図 22.19 一般的なユーザーのワークフロー

22.2.1. HTTP(S)認証

最も一般的なリソース接続の1つは、HTTP(S)を介して例えばWebマッピングサーバーで、認証方式のプラグインは多くの場合に接続のこれらのタイプのために機能します。方法プラグインは、HTTPリクエスト・オブジェクトにアクセスし、要求、ならびにそのヘッダの両方を操作できます。これにより、インターネットベースの認証の多くの形態が可能になります。標準のユーザー名/パスワードを使用してHTTP(S)経由で接続するときは、認証方法は接続時にHTTP BASIC認証を試みます。

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

図 22.20 HTTP BASICのためのWMS接続の設定

22.2.2. データベース認証

Connections to database resources are generally stored as key=value pairs, which will expose usernames and (optionally) passwords, if not using an authentication configuration. When configuring with the auth system, the key=value will be an abstracted representation of the credentials, e.g. authfg=81t21b9.

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

図 22.21 PostgresのPKI付SSLの接続を設定します

22.2.3. PKI認証

認証システム内のPKIコンポーネントを設定するときは、データベースにコンポーネントをインポートしたり、ファイルシステムに保存されているコンポーネントファイルを参照するオプションがあります。このような成分が頻繁に変更、又はここでコンポーネントは、システム管理者によって置換される場合、後者は有用であり得ます。いずれの場合では、データベース内の秘密鍵にアクセスするために必要なすべてのパスフレーズを保存する必要があります。

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

図 22.22 PKI設定ワークフロー

All PKI components can be managed in separate editors within the Certificate Manager, which can be accessed in the Authentication tab in QGIS Options dialog (Settings ► Options) by clicking the Manage Certificates button.

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

図 22.23 証明書マネージャを開く

In the Certificate Manager, there are editors for Identities, Servers and Authorities. Each of these are contained in their own tabs, and are described below in the order they are encountered in the workflow chart above. The tab order is relative to frequently accessed editors once you are accustomed to the workflow.

注釈

Because all authentication system edits write immediately to the authentication database, there is no need to click the Options dialog OK button for any changes to be saved. This is unlike other settings in the Options dialog.

22.2.3.1. 当局

QGISの オプション ダイアログの 認証 タブから、 証明書マネージャ 中の 当局 タブから入手できる証明機関(CA)を管理できます。

上記ワークフローチャートで参照されるように、最初のステップは、インポートまたはCASのファイルを参照することです。このステップはオプションで、ルート認証局からごPKIの信頼チェーンの発信はすでに商用証明書ベンダーからの証明書として使用しているオペレーティングシステム(OS)にインストールした場合は不要です。あなたの認証ルートCAは、OSの信頼されたルートCAでない場合は、インポートする必要があるか、そのファイルシステムパスが参照されます。(わからない場合は、システム管理者にお問い合わせください。)

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

図 22.24 当局エディタ

By default, the root CAs from your OS are available; however, their trust settings are not inherited. You should review the certificate trust policy settings, especially if your OS root CAs have had their policies adjusted. Any certificate that is expired will be set to untrusted and will not be used in secure server connections, unless you specifically override its trust policy. To see the QGIS-discoverable trust chain for any certificate, select it and click the metadata Show information for certificate.

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

図 22.25 証明書情報ダイアログ

You can edit the Trust policy selectString for any selected certificate within the chain. Any change in trust policy to a selected certificate will not be saved to the database unless the fileSave Save certificate trust policy change to database button is clicked per selected certification. Closing the dialog will not apply the policy changes.

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

図 22.26 信頼ポリシーの変更を保存する

セキュアな接続のために信頼されるフィルタのCA、両方の中間証明書とルート証明書を、確認またはクリックすることで、デフォルトの信頼ポリシーを変更できます transformSettingsオプション ボタンを押します。

警告

デフォルトの信頼ポリシーを変更すると、安全な接続で問題が発生する可能性があります。

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

図 22.27 当局のオプションメニュー

CAをインポートしたり、複数のCAが含まれているファイルからファイルシステムパスを保存したり、個々のCAをインポートすることができます。複数のCAチェーンの証明が含まれているファイルの標準PEM形式は、ファイルの一番下にルート証明書を持っており、すべてはその後、ファイルの先頭の方に、上記の子証明書に署名しました。

CA証明書のインポート]ダイアログボックスが順序に関係なく、ファイル内のすべてのCA証明書を見つけ、また、(彼らの信頼ポリシーを上書きしたい場合には)無効とみなされた証明書をインポートするオプションを提供していますでしょう。インポート時に信頼ポリシーを上書きするか、後でそれを 当局 エディタ内で行うことができます。

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

図 22.28 証明書のインポート]ダイアログ

注釈

PEMのtext フィールドに証明書情報を貼り付ける場合、暗号化された証明書がサポートされていないことに注意してください。

22.2.3.2. アイデンティティ

証明書マネージャ 認証 QGIS オプション ダイアログのタブ アイデンティティ タブでから入手できるクライアントIDのバンドルを管理できます。アイデンティティは、別々のファイルとして、または単一「バンドル」のファイルに結合のいずれか、PKI対応サービスに対して、あなたを認証し、通常のクライアント証明書と秘密鍵で構成するものです。バンドルまたは秘密鍵は、多くの場合、パスフレーズで保護されています。

一度何らかの証明機関(CA)をインポートされると、必要に応じて認証データベースに任意のアイデンティティバンドルをインポートできます。アイデンティティを保存したくない場合は、個別の認証設定の中でそのコンポーネントファイルシステムパスを参照できます。

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

図 22.29 アイデンティティエディタ

アイデンティティ・バンドルをインポートする場合、パスフレーズで保護または非保護することができ、かつ信頼チェーンを形成するCA証明書を含めることができます。トラストチェーンの認定は、ここではインポートされません。 機関 タブ下でそれらは別途追加できます。

インポート時には、バンドルの証明書と秘密鍵は、鍵の保管は、QGISのマスターパスワードを使用して暗号化し、データベースに保存されます。データベースから記憶された束のその後の使用は、マスターパスワードの入力を必要とします。

個人のアイデンティティは、PEM / DER(.PEM / .DER)とPKCS#12からなるバンドル(.P12 / .PFX)コンポーネントがサポートされています。キーまたはバンドルがパスフレーズで保護されている場合は、パスワードをインポートする前にコンポーネントを検証する必要があります。バンドル内のクライアント証明書が無効である場合同様に、バンドルをインポートすることはできません(例えば、その効果的な日付はまだ開始されていないか、経過しています)。

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

図 22.30 PEM / DERのアイデンティティのインポート

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

図 22.31 PKCS#12 identity import

22.2.4. 悪いレイヤーの取り扱い

時折、プロジェクトファイルと一緒に保存された認証設定IDが、おそらく現在の認証データベースがプロジェクトが最後に保存されたときと異なったり資格情報の不一致のせいで、もはや有効ではありません。このような場合には 悪いレイヤーを処理 ダイアログがQGISの起動時に表示されます。

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

図 22.32 認証で悪いレイヤーを処理します

データソースは、それに関連付けられた認証設定のIDを持つことが判明した場合、それを編集できます。そうすることで、自動的にテキストエディタでプロジェクトファイルを開くと、文字列の編集と同じように多くのデータソース文字列を編集します。

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

図 22.33 悪いレイヤーの認証設定IDを編集します

22.2.5. 認証の設定のIDを変更する

Occasionally, you will need to change the authentication configuration ID that is associated with accessing a resource. There are instances where this is useful:

  • Resource auth config ID is no longer valid: This can occur when you have switched auth databases add need to align a new configuration to the ID already associated with a resource.

  • Shared project files: If you intended to share projects between users, e.g. via a shared file server, you can predefine a 7-character (containing a-z and/or 0-9) that is associated with the resource. Then, individual users change the ID of an authentication configuration that is specific to their credentials of the resource. When the project is opened, the ID is found in the authentication database, but the credentials are different per user.

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

図 22.34 レイヤーの認証設定ID(ロック解除された黄色のテキストフィールド)を変更します

警告

認証設定IDを変更することは高度な操作と考えられ、なぜそれが必要であるかの完全な知識を持ってのみ行われるべきです。IDを編集するのに先立ってIDのテキストフィールドのロックを解除するためにクリックされる必要のあるロックボタンがあるのはこのためです。

22.2.6. QGISサーバーのサポート

認証設定を持っているレイヤーがあるプロジェクトファイルをQGISサーバー中の地図の基礎として使用する場合は、QGISでそれらのリソースをロードするために必要な追加の設定手順がいくつかあります:

  • 認証データベースが利用できるようにする必要があります

  • 認証データベースのマスターパスワードが利用できるようにする必要があります

When instantiating the authentication system, Server will create or use qgis-auth.db file in the active user profile, or the directory defined by the QGIS_AUTH_DB_DIR_PATH environment variable. It may be that the Server's user has no HOME directory, in which case, use the environment variable to define a directory that the Server's user has read/write permissions and is not located within the web-accessible directories.

サーバーにマスターパスワードを渡すには、サーバー・プロセスのユーザーが読み込み可能なファイルシステム上のパスにファイルの最初の行にそれを書くと QGIS_AUTH_PASSWORD_FILE 環境変数を使用して定義されました。サーバーのプロセスのユーザーによってのみ読めるようファイルを制限し、ウェブアクセス可能なディレクトリ内のファイルを保存しないように確認してください。

注釈

QGIS_AUTH_PASSWORD_FILE variable will be removed from the Server environment immediately after accessing.

22.2.7. SSLサーバーの例外

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

図 22.35 SSLサーバーの例外

QGISの オプション ダイアログの 認証 セクション中の サーバー タブから、SSLサーバーの設定および例外を管理できます。

SSLサーバーへの接続時に時々、SSL「握手」や、サーバーの証明書でエラーがあります。これらのエラーを無視するか、例外としてSSLサーバー構成を作成できます。これは、Webブラウザを使用してSSLエラーをどのように上書きできるかに似ていますが、より細かく制御しています。

警告

サーバーとクライアントの間で全体のSSLの設定の完全な知識を持っていない限り、SSLのサーバー構成を作成しないでください。代わりに、サーバー管理者に問題を報告してください。

注釈

一部のPKIのセットアップは、SSLサーバー証明書を検証するために使用するチェーンよりも、クライアントのアイデンティティを検証するために完全に異なるCAの信頼チェーンを使用します。このような状況では、接続するサーバー用に作成された任意の構成は、必ずしもあなたのクライアントのアイデンティティの検証の問題を解決しないだろう、自分のクライアントIDの発行者またはサーバー管理者だけが問題を解決できます。

symbologyAdd ボタンをクリックすることにより、SSLサーバーの設定を事前に設定できます。SSLエラーが接続時に発生しますが SSLエラー ダイアログが表示されたときに代わりに、設定を追加できます(ここではエラーは一時的に無視されるか、またはデータベースに保存されて無視できます):

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

図 22.36 手動で設定を追加

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

図 22.37 SSLエラー時の設定を追加

SSLの設定がデータベースに保存されれば、編集したり削除できます。

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

図 22.38 既存のSSL設定

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

図 22.39 既存のSSL設定を編集します

If you want to pre-configure an SSL configuration and the import dialog is not working for your server's connection, you can manually trigger a connection via the Python Console by running the following code (replace https://bugreports.qt-project.org with the URL of your server):

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エラーダイアログが開き、設定をデータベースに保存することを選択できます。