問題タブ [abac]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
114 参照

authorization - XACML: リソース内のプロパティへのアクセスを制御する方法

XACML は、サブジェクト、リソース、環境、アクションなどのさまざまなカテゴリに基づいて、リソースにアクセスするためのきめ細かい制御を提供できることを理解しています。

しかし、評価が行われ、リソースを取得することが決定されたら、ユーザー/サブジェクトがアクセスできるリソースのフィールド/プロパティを制御できますか?

たとえば、次のフィールドを持つ Customer というリソースがあります。

顧客: { name, isVip, phoneNumber}

ここで、この情報にアクセスする販売代理店がいる場合、VIP 顧客の phoneNumber を選択した少数の販売代理店にのみ表示したいと考えています。

これは、GET 顧客情報 API への応答である必要があります。

通常の販売代理店による呼び出し: {name, isVip}

選択した販売代理店から電話がありました: {name, isVip, phoneNumber}

XACMLでこれを達成できますか? はいの場合、どのように?

0 投票する
1 に答える
1503 参照

authorization - XACML を使用した複雑な承認

私の会社は、集中型のセキュリティ サービスの実装を検討しています。そのための一般的な標準は XACML のようです。複雑な承認シナリオがあり、XACML ポリシーの属性を使用してそれを定義する方法を理解するのに苦労しています。

私が取り組んでいるシステムには、この認証シナリオに関連するいくつかの要素があります。

  • ユーザーはプロジェクトを作成して作業を整理します。各プロジェクトには、チーム メンバーと閲覧者 (プロジェクトを表示できるが変更はできないユーザーまたはグループ) のリストがあります。
  • これらのプロジェクト内で、ユーザーはレシピを作成して、何かを製造する方法を説明します。
  • ユーザーは、これらのレシピを別のグループで製造するように要求します。

ユーザーが特定のアイテムのレシピを表示したい場合は、次のいずれかに該当する必要があります。

  • ユーザーはレシピの所有者 (レシピを書いた人) でなければなりません。
  • ユーザーは、レシピが作成されたプロジェクトのチーム メンバーである必要があります。(直接またはグループ メンバーシップを介して)
  • ユーザーは、レシピを製造するグループのメンバーである必要があります。(彼らはそれを製造するためのレシピを見る必要があります。)
  • ユーザーは、過去 2 週間以内にレシピを作成したグループのメンバーである必要があります。(つまり、レシピの製造依頼を完了した後、問題を修正するために 2 週間レシピを表示し続けることができます。)
  • ユーザーは管理者である必要があります。

これらのルールでは、ユーザーがレシピを表示できるかどうかを判断するために必要な属性には次のものが含まれているようです。

  • ユーザー
  • ユーザーのグループ メンバーシップ (プロジェクト アクセス、製造グループ、または管理者アクセス用)
  • プロジェクトチームのメンバーと閲覧者
  • レシピの製造依頼

質問:

  • PIP はこの情報をどのように収集しますか? データベースから直接?この情報を保存するシステムへのサービス呼び出しを介して?
  • この情報は XACML (一般的に) ではどのように表されますか? 私が見た例のほとんどは、データのコレクション (製造要求のリストなど) を使用しない単純なモデルを使用しています。アクセスされているオブジェクトに直接属性を付けるだけです。「isBeingManufacturedByUserGroup」のように、データは何らかの方法で平坦化されますか? (もしそうなら、その属性の値はどのように決定されますか?)
  • これらのルールを評価するために、ポリシーはどのように構成されますか?
  • この種の承認を処理するための代替手段はありますか (XACML 以外に)? OAuth 2.0 は、この種の問題をより簡単に処理できるでしょうか?