私は、ソフトウェアシステム内のリソースにアクセスするための高度なアクセスコントロールをユーザーに提供することに興味があります。私は医療ITで働き、若い私は頻繁にrole-based access control in healthcareの複雑さを過小評価しています。しかし、この質問は、複雑なACL要件を持つ人すべてに適用する必要があります。アドバンスドアクセスコントロールライブラリ
かなりの間、Health ITシステム内の非常に複雑なACL制御の問題を処理する目的で、php gaclが私のgo-toライブラリでした。しかし、私は現在、一般的なjavascriptやノードを使って具体的に取り組んでいます。私はアクセスコントロールを一般化可能な方法で行うためにライブラリをnpmで検索しました。
ユーザとリソース(2ではなく3層)ではなく、アクションを定義するサポートがありたいと思います。ユーザ、アクション、リソースグループを持ちたいと思い、ACLの継承。そのライブラリへthe Star Wars themed manualから
古典的な例のようなルールです:している乗組員の
- すべてのメンバー(の訪問は、設定、および使用) 銃、エンジン、コックピット、ラウンジへのアクセスのために期待チューイ。
- すべてのドロイドはコックピットにアクセスできますが、R2D2には エンジンへのアクセスが設定されています。
- 漢はすべて 種類のリソースにすべてのタイプのアクセス権を持っています。
ここでの基本的な概念には、ユーザーのグループ(クルー、乗客またはドロイド)または個人(Han、Chewie)に適用されるルールを作成し、さまざまな種類のアクセス(戦闘所=コックピット+銃)にグループ化できる別のリソース(エンジンとコックピット)へのアクセス(訪問、設定、使用)またはアクセスグループ(メインテナンスアクセス= configure +修復+使用)
これにより、比較的単純なグループベースの管理で、非常に複雑なアクセス制御ルールを設定できます。
これまでのところ、私はphp-gaclの外では何も見たことがありません。私はすばらしいjavascriptベースのACLプロジェクトを見てきましたが、そのすべてが包括性ではなくシンプルさと使いやすさを宣伝しています。これは、他の典型的なPHP ACLライブラリ(つまりZend ACL)でも当てはまります
ノードの「高度なACL」プロジェクトで作業している人はいますか?どこかで探しているはずのはるかに良いアプローチはありますか?
のphp-のGaCl 3つの部分、1は、PHPベースの管理GUI(それは確かに過剰に複雑である)、およびルールのCRUDのためのAPIである(それは簡単だと思うRESTインターフェースに変換することができる)が付属していますACLチェック機能を提供する非常に小さなファイルです。
技術的には、そのソフトウェアモデルが機能するには、最後のタイプだけをノードに完全に移植する必要がありますか?
さらに深いところでは、どのようなアプローチがこの問題を処理するために正常に使用されたのかを理解したいと思います。この問題はどのようにして解決されますか?ノード/ javascript、おそらく特定のデータベースアプローチ(リレーショナルと非リレーショナル)の面でこの問題を効果的に議論する人のためのボーナスポイント。この正誤を行うための理論的基礎がたくさんあることを理解しています(つまり、RBACとACLの比較ではかなりの意見があります)。私が欲しいのは、理論的には堅実なものであり、まだライブラリーの立場からは「ちょうどよい」ものです。私はJavascriptに焦点を当てていますが、他の言語が実際にこの問題をどのように解決しているかを理解することはうれしいでしょう。
これはスタックオーバーフローに関するトピックです。 –