パスワード保護QGISプロジェクト


8

共有コンピューター上に、自分のデータを含むPostGISデータベースにリンクするQGISプロジェクトがあります。ユーザーがデータベースからレイヤーにアクセスする場合は、データベースの資格情報を入力する必要があるため、問題ありません。

ただし、以前にログオンしてレイヤーをデータベースからQGISにインポートし、QGISで操作しました(メタデータに基づくスタイルオプションなど)... QGISプロジェクトを開いた人は誰でもこれらのレイヤーをQGISで表示できます。したがって、自分のデータベースで保護したいデータを見ることができます。

QGISプロジェクトをパスワードで保護する方法はありますか?


これは残念ながら機能しません。複数の人が使用する共有コンピュータです。
RJK57 2015

回答:


11

あなたの最善の策は、プロジェクトにdb資格情報を保存しないことです(QGISは、最初にdbを追加するときに資格情報を保存することの潜在的な危険性についての警告さえ提供します)。

プロジェクトを開くと、データベースのレイヤーがレンダリングされる前に、資格情報の入力を求められます。

または、次のこともできます。

  • OSメソッドを使用して、QGISプロジェクトが保存されているディレクトリを非表示/保護します。つまり、ユーザーアカウントだけがその特定のディレクトリにアクセスできます。
  • 資格情報を要求する可能性のあるプロジェクトオープンでPythonスクリプトを実行して、手を試すこともできますが、5分で試してみると、これを機能させることができませんでした。プロジェクトのプロパティ(CTRL + Shift + P)をチェックし、次にマクロをチェックして、私の意味を確認してください。

QGISにDB資格情報を保存する危​​険性についてフォローアップするには、この質問を参照してください。資格情報をプレーンテキストで表示することは、好奇心が少しでもある人にとっては取るに足らないことです。


お返事をありがとうございます。私はすでにdb資格情報を保存していません。また、上記のような動作は見られません。ユーザーがdb資格情報を提供しなかった場合でも、プロンプトボックスをキャンセルした後、データソースがdbであるQGISの一連のレイヤーにアクセスできます。
RJK57 2015

テキストエディターでプロジェクトファイルを開き、<datasource>タグを見つけます。資格情報を保存する必要があります。何も入力せずにプロンプ​​トを閉じた後の予想される動作は「接続失敗」という結果になるためです。
wchatx

テーブルの適切な管理を確認しましたか?たぶん、「パブリック」ロールにはSELECT権限があります。そのため、プロンプトボックスをキャンセルした後も、ユーザーは引き続きアクセスできます。
aurel_nc 2015

@wchatxありがとう、それはトリックをしました!Notepad ++でプロジェクトを開き、への参照をすべて削除しましたusername=foo password=bar。私が見る限りの問題は、私のテストデータベースが管理者ログイン/パスワード、つまりpostgres / postgresを使用したことです。PostGIS / QGISスタックの使用を決定した後、パスワードを変更しました。QGISに正しいユーザー名/パスワードを入力しないと、更新されたパスワードでインポートしたレイヤーへのアクセスがブロックされましたが、資格情報がデータベースに保存されているため、何らかの理由で(postgres / postgres構成でインポートされた)古いレイヤーは問題ありませんでした。
RJK57 2015

@ RJK57すばらしい!
wchatx

3

がここで答えた同様の質問がありました。ロジックの多くはありますが、ログインフォームを作成する方法についてのアイデアを設定することはあまりしませんでした。

ユーザーがpythonコードにアクセスしようとしない(または.exeにコンパイルしてさらに困難にする)ことができないと信頼できる場合は、レイヤーが読み込まれた状態でプロジェクトを開くスクリプト、または正しい資格情報を提供できない場合は空のプロジェクト。

Postgres / PostGISインスタンスに実装できるより安全な方法について、サーバーに対して情報をチェックするという話がありました。確認のためにAPIにフィードするpythonコードに、ユーザー名とハッシュ化されたパスワードをコード化するためのより簡単な手段として見つけることができます。したがって、デスクトップコードの代わりにサーバーで比較を行います。ハッシュされたパスワードをローカルに保存することは、最も安全な方法ではありませんが、ハッシュアルゴリズムによっては、解読するのかなり困難になる可能性があります。

最終的に、他のユーザーが提供する自動化された方法を理解するのに十分なコンピューターに精通していないことがわかっている場合を除いて、毎回資格情報を提供する方がおそらく安全です。


お返事をありがとうございます。私はそれをクラックした場合、ある種のフォームを実装して質問に返答しようとします...
RJK57
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.