1

ABAC/XACML を実装する場合、仕様では、要求を PDP にルーティングする PEP を使用して機密データの要求をインターセプトする必要があることが示されています (PEP には、PDP を呼び出す際のサブジェクト、環境、リソース、およびアクションに関する属性が含まれます)。

次に、PDP は、アクセスの決定のためにどのルールを評価する必要があるかを判断します。

ウィキペディアから: https://en.wikipedia.org/wiki/XACML

XACML はターゲット [5] を提供します。これは基本的に、ポリシー セット、ポリシー、またはルールが特定のリクエストに適用されるために満たす必要があるサブジェクト、リソース、およびアクションの単純化された条件のセットです。ポリシーまたはポリシー セットが特定の要求に適用されることが判明すると、そのルールが評価され、アクセスの決定と応答が決定されます。

ポリシー セット、ポリシー、およびルールのすべてにターゲット要素を含めることができます。

PDP が PIP のどのルールを適用できるかを決定する方法は実装固有であることは理解していますが、これはプロセスの非常に重要な部分のように思えます。たとえば、ルールを見逃すと、リクエストを適切に評価できなくなります。人々はこれをどのように実装しましたか? 何が機能し、何が機能していないか? (私はしぶしぶ EAV っぽいテーブルに対するルックアップに傾いています。)

4

1 に答える 1

1

一連のポリシーを使用して PDP を常に構成します。PDP に任意の数のポリシーおよびポリシー セット (ポリシーのグループ)を指定できますが、エントリ ポイントを指定する必要があります。つまり、ルート ポリシーが必要ですそのルート ポリシーには、他のポリシー (またはポリシー セット) を含めたり、リンクしたりすることができます。

PDP だけが、PEP からの着信要求に基づいて、どのポリシーを呼び出して評価するかを決定します。PEP は、ポリシーの数を認識していません。質問で述べたようなルールを見逃すことはありません。そうしないのはPDPの責任です。通常、独自の PDP を実装することはありません。既製のものを使用します。SunXACML などのいくつかのオープンソース エンジンと、Axiomatics などの商用の代替エンジンがあります。

PIP は、ポリシーの取得ではなく、属性値の取得に使用されます。

XACML ポリシーの表現例

于 2016-04-27T10:03:00.407 に答える