web-dev-qa-db-ja.com

ABACポリシーの策定とRBACの質問

次のような質問に答えるように求められます。

あるオンライン書店は、サブスクリプションに関してクライアントにグランドアクセスしたいと考えています。サブスクリプションA、B、Cには3つのタイプがあります。顧客は選択したサブスクリプションタイプでアクセスできます。また、書籍がサブスクリプションリストに記載されていない場合は、すべて無料で、毎月15日ごとにすべての書籍が無料になります。
1)ABACに関する上記の方針を正式な表現で説明してください。
2)RBACモデルにはいくつの役割が必要で、どれが必要ですか?

私は、RBACのみをカバーし、ABACはカバーしないAl-Kahtani&Sandhuの論文を研究しました。
私の理解では、ABACに2つのルールを設定する必要があります。
最初のルールでは、3種類の購読者が、リストにないすべての書籍を無料で利用できるようにします。 2番目のルールには、(e)日付が15日として含まれ、すべての書籍が無料になります。それとも完全に違うものですか?

RBACに関する限り、サブスクリプション名に関して3つの役割が必要です。

ABACのポリシー策定の例がある文献を見つけていただければ幸いです。

1
Jamesgr

Axiomaticsは、ABACポリシーの策定に役立つ承認ポリシーのライフサイクルを提供します。

  1. ユースケースを定義する
  2. 自然言語ステートメントでユースケースの承認要件を定義する
  3. 自然言語ステートメントで使用されている属性を特定する
  4. 属性がどこから来ているかを特定する
  5. 自然言語ステートメントを属性ベースのルールとして作り直します
  6. テストケースを定義する
  7. 点をつなぐ:システム全体のアーキテクチャ図を描く

あなたの例を見てみましょう。

使用事例

あるオンライン書店は、サブスクリプションに関してクライアントにグランドアクセスしたいと考えています。サブスクリプションA、B、Cには3つのタイプがあります。

承認要件

  1. 顧客は、選択したサブスクリプションタイプでアクセスできます。
  2. 書籍が購読リストに記載されていない場合は、すべて無料です。
  3. 毎月15日ごとにすべての本が無料です。

属性を特定する

ユーザー属性

  1. ユーザーの役割(例:お客様
  2. ユーザーサブスクリプションプラン(例: A、B、C
  3. オプションで顧客ステータス(アクティブ、非アクティブ)

リソース属性

  1. ブックサブスクリプションプラン

アクション属性

  1. アクションID例:表示、削除、承認...

コンテキスト属性

  1. 日付/曜日

属性のソースを特定する

この段階では、属性がデータベース、LDAP、Webサービスのいずれからのものであるかを定義します...これは、実装/展開の問題です。この理論的な演習では、このステップをスキップできます。

自然言語ステートメントを属性ベースとして作り直します

  1. ロール== customerを持つユーザーはアクションを実行できます==タイプのオブジェクトをダウンロードします== book if customer.subscription == book.subscription
  2. ロール==顧客を持つユーザーはアクションを実行できます==タイプのオブジェクトをダウンロードします== book.subscription == ''の場合はbook
  3. ロール==顧客を持つユーザーは、アクションを実行できます==タイプのオブジェクトをダウンロードします== date.day == '15'の場合はbook

結論として、RBACモデルには単一の役割である顧客が必要であることを意味します。

[〜#〜] alpha [〜#〜] 言語を使用して、ポリシーをモデル化し、それらを拡張アクセス制御マークアップ言語であるXACMLに変換できます。

0
David Brossard