# HG changeset patch # User tatsuki # Date 1424310622 -32400 # Node ID 712fed2f1e9d7a3dbbb1ee4eb4becbe618102fe6 # Parent ad8c43e3d937d8c5b9a456cff3e4deead74acd8d commit diff -r ad8c43e3d937 -r 712fed2f1e9d slide/slide.html --- a/slide/slide.html Thu Feb 19 09:10:25 2015 +0900 +++ b/slide/slide.html Thu Feb 19 10:50:22 2015 +0900 @@ -93,8 +93,12 @@
@@ -181,6 +185,17 @@
+

maTrixの組織構造表現例

+

maTrixの組織構造は純粋な木構造ではない

+

Idを用いて木同士が相互参照を行うことで組織構造を表現している。

+ +

この図だと、人物Treeと組織Treeがお互い参照を行い組織運用モデルを表現している。

+
+
+ + +
+

Jungle上でのmaTrixのデータ構造の表現

この図は、maTrixの人物Treeの一部をJungleに格納したものである。

@@ -190,20 +205,9 @@
-

maTrixの組織構造表現例

-

maTrixの組織構造は純粋な木構造ではない

-

Idを用いて木同士が相互参照を行うことで組織構造を表現している。

- -

この図だと、人物Treeと組織Treeがお互い参照を行い組織運用モデルを表現している。

-
-
- -
-

maTrixでの許認可管理

maTrixを用いた許認可は、組織構造だけでは判断されない。

アクセス可能な時間等のルールは組織構造では表現できないからである。

-

リソース管理を allow deny

そこでアクセスルールを記述したポリシーファイルを用いて許認可管理を行う。

ポリシーファイルには、subject(誰が)、Resource(何に対して)、Action(何が出来るか)を記述する。

@@ -224,7 +228,7 @@
InterfaceTraverser traverser = tree.getTraverser(boolean useIndex);
-

TraverserはTreeのNodeを走破するクラスです。

+

TraverserはTreeのNodeを走破する機能を持ったクラスです。

TreeからgetTraverserで取得可能。

第一引数で 検索を行う際にIndexを使用するかどうかを選択できる。

@@ -253,6 +257,7 @@

JungleのIndex

+

indexを実装することで探索計算量がO(logN)となる。

Jungleは過去のTreeを全て保持しているため、Treeのversion毎にIndexを持っている必要がある。

version毎にIndexを作るとメモリを多量消費してしまう。

FunctionalJavaのTreeMapを使用してIndexの実装を行った。

@@ -303,6 +308,16 @@
+

Interpreterのデモ

+
  • 首都圏第一営業部責任者
  • +
  • urn:srl-oasis:systems:aso:normal-menu
  • +
  • read/write
  • +

    ルールが記述されたpolicyを用いる。

    +
    +
    + +
    +

    今後の課題

  • 分散版の実装

  • maTrix専用のデータ構造の定義