他の人に私のデータへの読み取り専用アクセスを許可するための標準的な方法はありますか?
一部のユーザーに一部のデータへの読み取り専用アクセスを許可したい状況がいくつかありますが、それらのユーザーには、完全な承認が私として機能することを可能にする秘密のパスワードを与えたくないでしょう。
他の人に私のデータへの読み取り専用アクセスを許可するための標準的な方法はありますか?これが 暗号化の解決済み問題 の1つであることを期待しています。
アリスがボブ博士に私のシステムの情報を閲覧する許可を与え(そして後で取り消す)が、ボブ博士が誤ってまたは故意に彼女のデータを変更することを防ぐことができるように、システムをセットアップする標準的な方法はありますか? ?
(数十年前、この質問に対する優れた回答には、「従来のUnix権限」と「Unixグループ」が含まれていました。おそらく「setuid」または「setgid」も含まれます)。
承知しました。この問題には、いくつかの標準的なアプローチがあります。
Export。アリスは自分のデータをファイルまたはドキュメントにエクスポートしてから、ボブ博士にデータのコピーを送信します。これでボブは自分のローカルコピーを変更できますが、アリスのリソースには影響しません。
もちろん、このアプローチの欠点は、ボブ博士にアリスのデータのスナップショットしか提供しないことです。アリスのデータが時間とともに変化している場合、ボブ博士が最新のデータを見たいと思うたびに、アリスは新しいコピーを作成する必要があります。ただし、1つの利点は、これがアリスにとって非常に簡単なことです。基盤となるシステムからのサポートや特別な専門知識は必要ありません。
Proxying。アリスは、ボブ博士に自分のリソースの一部への読み取り専用アクセスを許可したいので、プロキシをセットアップします。プロキシのコードはAliceのリソースへの完全なアクセス権を持っていますが、Aliceはプロキシコードを記述して、読み取り演算子のみを実行します。プロキシは読み取り専用アクセスを許可するAPIをエクスポートし、アリスはボブ博士にプロキシへのアクセスを許可します。
もちろん、これに関する問題は、アリスがこのアプローチに従うためにはプログラマーまたは同等である必要があるということです。利点は、基盤となるシステムからのサポートを必要としないことです。
読み取り専用共有のサポート。アリスが他の人に自分のデータへのアクセスを許可できるようにシステムを作成できます。さらにシステムを作成して、データを読み取り専用として共有するオプションを提供できます。たとえば、Googleドキュメントでは、ドキュメントを他のユーザーと共有できます。また、必要に応じて、ドキュメントを読み取り専用として共有することもできます(そのユーザーはドキュメントを読み取ることはできますが、変更することはできません)。
もちろん、このアプローチには基礎となるシステムからのサポートが必要です。このユースケースをサポートするには、システムを構築する必要があります。ただし、このアプローチはユーザーが理解しやすいものです。
減衰機能。多くの機能システムは、このユースケースの組み込みサポートを提供します。アリスには、データへのアクセスを許可する機能があります。システムは、アリスが自分の機能の減衰バージョンを生成する方法を提供します。これは、同じリソースのみを参照し、読み取りアクセスのみを許可し、書き込みアクセスは許可しない読み取り専用機能です。これで、アリスはこの機能を他のユーザーと共有できます。
たとえば、ウェブアプリケーションは、アリスに自分のデータへのリンク(URL)を生成する方法を提供し、リンクを共有する誰もが自分のデータにアクセスできるようにします。 (Googleドキュメントもこの操作モードをサポートしています。)Webアプリケーションがそれをサポートするように作成されている場合、Webアプリケーションは、Aliceが読み取り専用アクセスを許可するが書き込みアクセスを許可しないURLを生成することもできます。
不利な点は、これも基礎となるシステムからのサポートを必要とすることです。システムは、読み取り専用の共有を念頭に置いて構築する必要があります。
データをファイルにコピーして貼り付け、パスワードで保護されたZipファイルで暗号化し、直接、またはgngpgpまたは他の当事者の公開鍵で情報を暗号化した後、パスフレーズを渡します;)しかし、私はあなたが何を意味していたのかわかりません。パスフレーズを安全に渡す限り、それは読み取り専用で安全です。
OAuthはかなり一般的で標準です。 openidを検索すると、彼らはそれを使用してユーザーをサードパーティのサイトにリダイレクトし、サードパーティがユーザーを認識しているかどうかを報告します。サードパーティのAPIを使用して、読み取り専用のデータを取得することもできます。
以前に、アプリがユーザーに1回限りのピンを提供するサイトのウィンドウを起動することで、それが実行されたことを確認しました。 PINはアカウント名と共に使用され、アプリがAPIと通信するために必要な詳細を取得するために、通常OAuthの詳細を取得します。IIRCは単にトークンとシークレットトークンです。
Linuxを使用してSSHをインストールし、chmodを使用してファイルとディレクトリに必要な権限を割り当てます。あなたがWindowsの人なら、私にはわかりません。おそらく、同様のソリューションが可能です。