構築しているソフトウェアにセキュリティアクセス制御を実装しようとしています。ユーザー管理のために Stormpath に遭遇しましたが、彼らはRBACに対していくらかアプローチを持っていますが、私が検討していたことは、ABACのXACMLに依存すること、より具体的には [〜#〜] balana [〜# 〜] XACMLにポリシーを依存している間、ユーザーの属性を設定し、プロファイルをstormpathに保存するという意味でWSO2から。
私はこれについて少し新しいので、これが賢明か、または最初から物を構築するのではなくセキュリティのために物を再利用するために私の場合に役立つことができる別のアプローチがあるかどうか疑問に思っていました。
人々がStormpathで頻繁に行うことの1つは、承認ポリシー(XACMLやプレーン文字列の「アクセス権」、またはプロプライエタリデータなど)を customData に格納することにより、アカウントまたはグループに割り当てることです。
Stormpathの主要なリソース(Account
、Group
、Directory
、Application
、Tenant
)は、アドホックスキーマレスデータを格納できるようにしますリソースのcustomData
で、カスタムフィールドや、もちろん承認ポリシー情報など、必要なものすべてに使用できます。
たとえば、Account
sを使用すると、最初にAccount
を認証し、認証が成功したら、そのアカウントのcustomData
を取得し、その承認ポリシー(XACMLなど)を取得します。その後、必要に応じて確認してください。
Group
リソースでも同じことを行うと、これはより強力になります。
たとえば、アカウントの効果的な(集約)ポリシーを見つけるための一般的なスキームは、Group
sのすべてのポリシーを集約し、Account
はメンバーです。このスキームでは、アカウントは、直接customData
またはそのグループのcustomData
で表されるすべてのことを実行することを許可されます。
使用しているプログラミング言語はわかりませんが、これを実現する方法の例として、 Apache Shiro を使用するStormpathユーザーは、Shiro permissions でこの正確な手法を実行します、Shiroの組み込みの文字列ベースの承認ポリシーの概念。
プログラミング言語や承認ポリシーの形式(許可文字列ではなくXACMLなど)に関係なく、Stormpathリソースとそれらのカスタムデータを類似またはカスタムの承認スキームに活用できます。お役に立てば幸いです。
それはあなたのアーキテクチャに依存します。原則として、XACMLは任意のユーザー管理ツールまたは認証管理で使用できます。主な質問は次のとおりです。
XACMLアーキテクチャと言語の詳細については、Axiomatics開発者のブログをチェックしてください。