私はC社の社内ユーザーと外部顧客の両方をサポートするC#.netアプリケーションを用意しています。誰がどのようなリソースにアクセスするかのようにきめ細かい権限を必要とします。だから私は、ロールベースの認可ではなく、リソースベースまたは属性ベースのようなものが必要です。私の心に来る何Webアプリケーションのきめ細かい承認
のいずれかです:
- は私の.NETアプリケーションのための私自身の認証メカニズムとSQLテーブルを実装
- 使用/(XACMLを実施しているソフトウェアなどの標準的なメカニズムを実装
第1の方法の問題点は、集中化も標準化もされておらず、他のシステムがそれを認可に使用できないことです。
2番目のアプローチの問題点は、各リソースに必要な余分な呼び出しのために潜在的に遅い可能性があることです。また、XACMLのような標準的な認可が将来の統合を容易にするための市場のアプリケーションによってどの程度広くサポートされているのかよくわかりません。
したがって、一般的に内部ユーザーと外部顧客の両方にサービスを提供すると思われるWebアプリケーションに対しては、細かい承認のための良いプラクティスは何ですか?
アクセス許可をポリシー(多くの状況をカバーする一般的なルール)として表現することができますか、お互いの間で、そして基本的に任意の共有決定を行うことができますか? – kgilpin
@ kgilpin:アクセス権は、一般的でも特定的でもあります。 「グループAのみが請求書を読むことができる」のように一般的であり、「ユーザーXはアカウントAlphaへの読み取りアクセス権を有する」のように特有である。 – kaptan
最近、私は、役割ベースのアクセス制御(RBAC)が実際にどのようなものであるかについていくつかの混乱があると思います。その正式な構想では、RBACはあなたが望むことを行うことができます。あなたは、「請求書読者」と「アカウントAlphaの読者」という2つの役割について説明しました。下の2つの回答は属性ベースのアクセス制御のベンダーからありますが、上記で説明したルールは属性ベースのものではありません。 「RBACはこれを行うことができません」という認識があります。なぜなら、人々はRBACの形式をRBACのかなり弱い実装と混同しているからです。 – kgilpin