21.2. ユーザー認証ワークフロー
21.2.1. HTTP(S)認証
最も一般的なリソース接続の1つは、HTTP(S)を介して例えばWebマッピングサーバーで、認証方式のプラグインは多くの場合に接続のこれらのタイプのために機能します。方法プラグインは、HTTPリクエスト・オブジェクトにアクセスし、要求、ならびにそのヘッダの両方を操作できます。これにより、インターネットベースの認証の多くの形態が可能になります。標準のユーザー名/パスワードを使用してHTTP(S)経由で接続するときは、認証方法は接続時にHTTP BASIC認証を試みます。
21.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
.
21.2.3. PKI認証
認証システム内の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 ( ) by clicking the Manage Certificates button.
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.
21.2.3.2. アイデンティティ
証明書マネージャ 認証 QGIS オプション ダイアログのタブ アイデンティティ タブでから入手できるクライアントIDのバンドルを管理できます。アイデンティティは、別々のファイルとして、または単一「バンドル」のファイルに結合のいずれか、PKI対応サービスに対して、あなたを認証し、通常のクライアント証明書と秘密鍵で構成するものです。バンドルまたは秘密鍵は、多くの場合、パスフレーズで保護されています。
一度何らかの証明機関(CA)をインポートされると、必要に応じて認証データベースに任意のアイデンティティバンドルをインポートできます。アイデンティティを保存したくない場合は、個別の認証設定の中でそのコンポーネントファイルシステムパスを参照できます。
アイデンティティ・バンドルをインポートする場合、パスフレーズで保護または非保護することができ、かつ信頼チェーンを形成するCA証明書を含めることができます。トラストチェーンの認定は、ここではインポートされません。 機関 タブ下でそれらは別途追加できます。
インポート時には、バンドルの証明書と秘密鍵は、鍵の保管は、QGISのマスターパスワードを使用して暗号化し、データベースに保存されます。データベースから記憶された束のその後の使用は、マスターパスワードの入力を必要とします。
個人のアイデンティティは、PEM / DER(.PEM / .DER)とPKCS#12からなるバンドル(.P12 / .PFX)コンポーネントがサポートされています。キーまたはバンドルがパスフレーズで保護されている場合は、パスワードをインポートする前にコンポーネントを検証する必要があります。バンドル内のクライアント証明書が無効である場合同様に、バンドルをインポートすることはできません(例えば、その効果的な日付はまだ開始されていないか、経過しています)。
21.2.4. 悪いレイヤーの取り扱い
時折、プロジェクトファイルと一緒に保存された認証設定IDが、おそらく現在の認証データベースがプロジェクトが最後に保存されたときと異なったり資格情報の不一致のせいで、もはや有効ではありません。このような場合には 悪いレイヤーを処理 ダイアログがQGISの起動時に表示されます。
データソースは、それに関連付けられた認証設定のIDを持つことが判明した場合、それを編集できます。そうすることで、自動的にテキストエディタでプロジェクトファイルを開くと、文字列の編集と同じように多くのデータソース文字列を編集します。
21.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.
警告
認証設定IDを変更することは高度な操作と考えられ、なぜそれが必要であるかの完全な知識を持ってのみ行われるべきです。IDを編集するのに先立ってIDのテキストフィールドのロックを解除するためにクリックされる必要のあるロックボタンがあるのはこのためです。
21.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.
21.2.7. SSLサーバーの例外
QGISの オプション ダイアログの 認証 セクション中の サーバー タブから、SSLサーバーの設定および例外を管理できます。
SSLサーバーへの接続時に時々、SSL「握手」や、サーバーの証明書でエラーがあります。これらのエラーを無視するか、例外としてSSLサーバー構成を作成できます。これは、Webブラウザを使用してSSLエラーをどのように上書きできるかに似ていますが、より細かく制御しています。
警告
サーバーとクライアントの間で全体のSSLの設定の完全な知識を持っていない限り、SSLのサーバー構成を作成しないでください。代わりに、サーバー管理者に問題を報告してください。
注釈
一部のPKIのセットアップは、SSLサーバー証明書を検証するために使用するチェーンよりも、クライアントのアイデンティティを検証するために完全に異なるCAの信頼チェーンを使用します。このような状況では、接続するサーバー用に作成された任意の構成は、必ずしもあなたのクライアントのアイデンティティの検証の問題を解決しないだろう、自分のクライアントIDの発行者またはサーバー管理者だけが問題を解決できます。
ボタンをクリックすることにより、SSLサーバーの設定を事前に設定できます。SSLエラーが接続時に発生しますが SSLエラー ダイアログが表示されたときに代わりに、設定を追加できます(ここではエラーは一時的に無視されるか、またはデータベースに保存されて無視できます):
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エラーダイアログが開き、設定をデータベースに保存することを選択できます。