web-dev-qa-db-ja.com

BALANAのようなXACMLライブラリでstormpathユーザー管理サービスを使用できますか?

構築しているソフトウェアにセキュリティアクセス制御を実装しようとしています。ユーザー管理のために Stormpath に遭遇しましたが、彼らはRBACに対していくらかアプローチを持っていますが、私が検討していたことは、ABACのXACMLに依存すること、より具体的には [〜#〜] balana [〜# 〜] XACMLにポリシーを依存している間、ユーザーの属性を設定し、プロファイルをstormpathに保存するという意味でWSO2から。

私はこれについて少し新しいので、これが賢明か、または最初から物を構築するのではなくセキュリティのために物を再利用するために私の場合に役立つことができる別のアプローチがあるかどうか疑問に思っていました。

5
user53158

人々がStormpathで頻繁に行うことの1つは、承認ポリシー(XACMLやプレーン文字列の「アクセス権」、またはプロプライエタリデータなど)を customData に格納することにより、アカウントまたはグループに割り当てることです。

Stormpathの主要なリソース(AccountGroupDirectoryApplicationTenant)は、アドホックスキーマレスデータを格納できるようにしますリソースのcustomDataで、カスタムフィールドや、もちろん承認ポリシー情報など、必要なものすべてに使用できます。

たとえば、Accountsを使用すると、最初にAccountを認証し、認証が成功したら、そのアカウントのcustomDataを取得し、その承認ポリシー(XACMLなど)を取得します。その後、必要に応じて確認してください。

Groupリソースでも同じことを行うと、これはより強力になります。

たとえば、アカウントの効果的な(集約)ポリシーを見つけるための一般的なスキームは、Groupsのすべてのポリシーを集約し、Accountはメンバーです。このスキームでは、アカウントは、直接customDataまたはそのグループのcustomDataで表されるすべてのことを実行することを許可されます。

使用しているプログラミング言語はわかりませんが、これを実現する方法の例として、 Apache Shiro を使用するStormpathユーザーは、Shiro permissions でこの正確な手法を実行します、Shiroの組み込みの文字列ベースの承認ポリシーの概念。

プログラミング言語や承認ポリシーの形式(許可文字列ではなくXACMLなど)に関係なく、Stormpathリソースとそれらのカスタムデータを類似またはカスタムの承認スキームに活用できます。お役に立てば幸いです。

1
Les Hazlewood

それはあなたのアーキテクチャに依存します。原則として、XACMLは任意のユーザー管理ツールまたは認証管理で使用できます。主な質問は次のとおりです。

  • pEPはどこに挿入しますか?
  • どのようにしてユーザーIDを取得しますか?
  • それをどのようにPDPに渡しますか?
  • PDPは基礎となるPIPを呼び出す必要がありますか?ユーザー属性を取得するためにStormpathを呼び出す必要がありますか?

XACMLアーキテクチャと言語の詳細については、Axiomatics開発者のブログをチェックしてください。

1
David Brossard