24.1. 認証システムの概要

../../../_images/auth-system-overview.png

図 24.1 認証システムの構造

24.1.1. 認証データベース

新しい認証システムは、デフォルトでは <profile directory>/qgis-auth.db にあるSQLiteデータベースファイルに認証設定を保存します。

この認証データベースは、それは通常のQGIS設定から完全に分離されているので、他の現在のQGISユーザーの好みに影響を与えることなく、QGISのインストール間で移動できます。最初にデータベースに設定を格納する際に、構成ID(ランダム7文字の英数字文字列)が生成されます。これは設定を表し、これによりIDがその関連する資格情報の開示することなく、プレーンテキストアプリケーションコンポーネント(例えば、プロジェクト、プラグイン、または設定ファイルなど)に格納することを可能にします。

注釈

qgis-auth.db の親ディレクトリは、以下の環境変数、 QGIS_AUTH_DB_DIR_PATH を使用して設定、または --authdbdirectory オプションでの起動時にコマンドラインで設定できます。

24.1.2. マスターパスワード

データベース内に機密情報を保存したりアクセスしたりするには、ユーザは マスターパスワード を定義しなければなりません。暗号化されたデータをデータベースに初めて保存する際には、新しいマスターパスワードが要求され、確認されます。機密情報がアクセスされるとき、ユーザーはマスターパスワードの入力を求められます。その後、ユーザがキャッシュされた値をクリアするアクションを手動で選択しない限り、パスワードはセッションの終わりまで(アプリケーションが終了するまで)キャッシュされます。既存の認証設定を選択するときや、サーバー構成に設定を適用するとき(WMS レイヤを追加するときなど)など、認証システムを使用するインスタンスによっては、マスターパスワードの入力を必要としません。

パスワードをあなたのコンピュータの Wallet/Keyring に保存することもできます。

../../../_images/auth-password-new_enter.png

図 24.2 新しいマスターパスワードの入力

注釈

マスターパスワードを含むファイルへのパスは、以下の環境変数、 QGIS_AUTH_PASSWORD_FILE を使用して設定できます。

24.1.2.1. マスターパスワードの管理

一度設定すると、マスターパスワードはリセットできます。現在のマスターパスワードはリセットする前に必要になるでしょう。このプロセスの間には、現在のデータベースの完全なバックアップを作成するオプションがあります。

../../../_images/auth-password-reset.png

図 24.3 マスターパスワードのリセット

ユーザーがマスターパスワードを忘れた場合は、それを取得したり、上書きする方法はありません。マスターパスワードを知らずに暗号化された情報を検索する手立てもありません。

ユーザーが既存のパスワードを誤って3回入力すると、ダイアログがデータベースを消去しようとします。

../../../_images/auth-password-invalid-3times.png

図 24.4 3つの無効な試みの後にパスワードのプロンプト

24.1.3. 認証設定

認証設定はQGISオプションダイアログ ( 設定 ► オプション )の 認証 タブ中の 設定 から管理できます。

../../../_images/auth-editor-configs2.png

図 24.5 設定エディタ

新しい設定を追加する symbologyAdd ボタン、設定を削除する symbologyRemove ボタン、および既存のものを変更する symbologyEdit ボタンを使用できます。

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

図 24.6 設定エディタから設定を追加

認証設定管理のための同じタイプの操作(追加、編集、削除)は、OWSサービス接続を設定するように、所与のサービス接続を設定するときに行うことができます。そのため、認証データベース内で見つかった設定を完全に管理するためのアクションボタンが構成セレクタ内にあります。この場合、より包括的な構成管理を行う必要がない限り、QGISオプションの 認証 タブ中の 設定 に行く必要はありません。

../../../_images/auth-selector-wms-connection.png

図 24.7 新規追加編集削除 認証設定ボタンを示す WMS 接続ダイアログ

認証設定を作成または編集するときに、必要な情報には、名前、認証方法および認証方法が必要であること、他の情報(利用可能な認証の種類についての詳細は 認証方式 を参照)。

24.1.4. 認証方式

利用可能な認証は、データプロバイダプラグインが QGIS でサポートされているのと同じように、C++ プラグインによって提供されます。選択できる認証方法は、リソース/プロバイダに必要なアクセス(HTTP(S)やデータベースなど)、およびQGISコードとプラグインの両方にサポートがあるかどうかに関係します。そのため、認証方法プラグインによっては、認証設定セレクタが表示されていても適用できない場合があります。利用可能な認証方法プラグインとその対応リソース/プロバイダの一覧は 設定 ► オプション にアクセスし、 認証 タブの options インストール済みプラグイン ボタンをクリックすると表示されます。

../../../_images/auth-method-listing.png

図 24.8 利用可能なメソッドプラグイン一覧

プラグインは、QGIS の再コンパイルを必要とせずに新しい認証方法用に作成できます。現在、プラグインのサポートはC++のみであるため、ドロップインした新しいプラグインをユーザーが使用できるようにするには、QGISを再起動する必要があります。プラグインを既存のターゲットインストールに追加する場合は、プラグインがQGISの同じターゲットバージョンに対してコンパイルされていることを確認してください。

../../../_images/auth-config-create_basic-auth.png

図 24.9 基本HTTP認証構成

../../../_images/auth-config-create_esritoken.png

図 24.10 ESRIトークン認証構成

../../../_images/auth-config-create_oauth2.png

図 24.11 OAuth2認証構成

../../../_images/auth-config-create_pem-der-paths.png

図 24.12 PKIパス認証構成

../../../_images/auth-config-create_pkcs12-paths.png

図 24.13 PKI PKCS#12ファイルのパス認証構成

../../../_images/auth-config-create_stored-identity2.png

図 24.14 保存されたアイデンティティ認証構成

注釈

リソースのURLは現在 未実装 の機能で、最終的には指定されたURLにあるリソースへの接続時に特定の構成が自動選択できるようになります。

24.1.5. マスターパスワードと認証構成ユーティリティ

設定 ► オプション )オプションメニューの下にある 認証 タブ、認証データベースと構成を管理するには、いくつかのユーティリティアクションがあります。

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

図 24.15 ユーティリティメニュー

  • マスターパスワードを入力する: 認証データベースコマンドの実行とは無関係に、マスターパスワードの入力ダイアログを開きます

  • キャッシュされたマスターパスワードを消去する: マスターパスワードがセットされているときにそれを外します

  • マスターパスワードをリセットする: マスターパスワードを変更するダイアログを開き(現在のパスワードが判っている必要があります)、オプションで現在のデータベースをバックアップします

  • ネットワーク認証アクセスキャッシュをクリアする: すべての接続の認証キャッシュをクリアします

  • SSLエラーでネットワーク認証アクセスキャッシュを自動的にクリアする:接続キャッシュは、接続に失敗した場合にも、接続のすべての認証データを保存します。認証設定や認証局を変更した場合は、認証キャッシュをクリアするか、QGISを再起動する必要があります。このオプションをオンにすると、SSLエラーが発生し、接続を中止することを選択するたびに、認証キャッシュが自動的にクリアされます。

  • あなたのWallet/Keyringとマスターパスワードを統合する: マスターパスワードを個人のWallet/Keyringに追加します

  • Wallet/Keyringのマスターパスワードを保存更新: 変更したマスターパスワードをWallet/Keyringに保存します

  • あなたのWallet/Keyringからマスターパスワードをクリアする:Wallet/Keyringからマスターパスワードを削除します

  • パスワードヘルパーデバッグログを有効にする: 認証方法のすべてのログ情報を格納するデバッグツールを有効にします

  • キャッシュされた認証構成をクリアする: ネットワーク接続を高速化するために使用される設定の内部キャッシュをクリアします。これはQGISのコアネットワークアクセスマネージャのキャッシュをクリアしません。それにはQGISの再起動が必要です。

  • すべての認証設定を削除する: すべての設定レコードのデータベースをクリアします。その他のレコードは削除されません。

  • 認証データベースを消去する: 現在のデータベースのバックアップと、データベーステーブル構造の完全な再構築をスケジュールします。このアクションは、プロジェクトの読み込みのような、他の操作が一時的にデータベースが見つからないために中断やエラーが起きないよう、後の時間にスケジュールされます。

    ../../../_images/auth-db-erase.png

    図 24.16 DB消去検証メニュー

24.1.6. 認証設定を使用する

典型的には、認証構成は、(例えば、WMSのような)ネットワークサービスのための設定ダイアログで選択されています。しかし、セレクタウィジェットは、サードパーティのPyQGISまたはC ++プラグインのように、認証が必要などこにでも、または非コア機能中に、埋め込むことができます。

セレクタを使用しているとき、何も選択されていない場合、選択する構成がない場合、または以前に割り当てられた構成がもはやデータベースに見つからない場合は 認証なし がポップアップメニューコントロールに表示されます。 typeId フィールドは読み取り専用とそれぞれの認証方法の説明と構成のIDを提供しています。

../../../_images/auth-selector-no-authentication.png

図 24.17 認証なしの認証設定セレクタ

../../../_images/auth-selector-pkcs12-authentication.png

図 24.18 構成が選択された認証設定セレクタ

24.1.7. Pythonバインディング

すべてのクラスとパブリック関数はSIPバインディングを持っています、 QgsAuthCrypto は除く。マスターパスワードのハッシュと認証データベース暗号化の管理はメインのアプリによって、そしてPythonを経由してではなく、処理されなければならないので。Pythonのアクセスに関しては セキュリティの考慮事項 参照。