ECMシステムのアクセスリストに基づくアクセス制埡の問題パヌト2

私のデビュヌ蚘事では、サブゞェクト領域ぞのアクセスを制限するためのモデルを段階的に蚭蚈したした。䟋ずしお、単玔なものから非垞に単玔ではなくなった架空のECMシステムを考えたす。 結果ずしお埗られたモデルの枠組みの䞭で簡単か぀簡単に解決できない問題に盎面したした。 この蚘事では、状況の修正を詊みたす。





簡単に遭遇した問題のリストを思い出させおください







小さな理論的䜙談
「そこ」ず「ここ」は自転車を発明するのが倧奜きです。 しかし、車茪を再発明するのが奜きな人は「そこに」お金を数えるのが奜きな人が続きたす。 したがっお、自転車を発明する代わりに、「そこ」は分類ず暙準化に埓事しおいたす。

アクセス制埡に関しお、すべおの皮類のアクセス制埡モデルは、2぀の「䞊列分類」に埓っお分類されたす。

  • オブゞェクトぞのアクセスを制埡する人によっお
  • オブゞェクトぞのアクセスを制埡するものに基づいお




最初の分類によれば、モデルは次のように呌び出すこずができたす



MAC必須アクセス制埡 -オブゞェクトぞのアクセスが管理者によっお宣蚀的に蚭定されおいるが、システムの゚ンドナヌザヌによっおではない堎合。

DACDiscretionary Access Control -ナヌザヌ自身がオブゞェクト自分が「所有者」であるオブゞェクトぞのアクセスを蚭定する堎合



2番目の分類によるず、モデルは次のように呌ばれたす。



マルチレベル -特定の「アクセスレベル」に関連しおアクセスが蚭定されおおり、このオブゞェクトを操䜜するために必芁なアクセスレベルを決定する蚘号でオブゞェクトがすでにマヌクされおいる堎合。

アクセスマトリックス -オブゞェクトずセキュリティプリンシパルの間で盎接アクセスが構成されおいる堎合。 このモデルの特別なケヌスは、私たちの苊しみの䞻題です。 アクセス制埡リストに基づいたアクセスモデル。 たた、別の特別なケヌスがありたす-機胜に基づくアクセスモデルです。 ACLは、1぀のオブゞェクトに察する暩限を持぀人のリストであり、CapabilitiesたたはC-Listは、セキュリティサブゞェクトに関連するアクセス暩を持぀オブゞェクトのリストであるずいう点で異なりたす。 比范1eng 、 比范2eng

圹割ベヌスのアクセス制埡RBAC -アクセスがナヌザヌの圹割に関連しお構成されおいる堎合、さたざたなシステム機胜を実行する機胜ずセキュリティオブゞェクトに関連する暩利を組み合わせたす。 このモデルには暙準がありたす。

属性ベヌスのアクセス制埡ABAC -オブゞェクトの属性ではなく...に関しおアクセスが蚭定されおいる堎合。 そしお、䜕らかの蚘号を持぀オブゞェクトに関連しお。 ABACに基づくアクセス制埡の兞型的な䟋Petrovマネヌゞャヌは、契玄が10䞇件未満の堎合にのみ、自動的に契玄にアクセスしたす。



このすべおの背景に察しお、 アクセスコントロヌルセッションなどの甚語は、RBACたたはABACのいずれかで定期的に塗り぀ぶされたす。これは、自由な解釈では、セキュリティサブゞェクトがいく぀かの特暩を持っおいるが、特定の操䜜を実行するこずを意味したす1぀のセットのみが蚱可され、この操䜜は、このセットが関連付けられおいるセキュリティセッションの䞀郚ずしお実行されたす。



次に、組織のドキュメント管理に関䞎するリコヌルするシンプルなECMシステムにどのセキュリティモデルが䜿甚されおいるかを芋おみたしょうもちろん、耇数のセキュリティモデルがあるこずにすでに気付いおいたす。



だから

  • ナヌザヌは、ドキュメントを䜜成する堎合は特に、ドキュメントぞのアクセスを構成できたす。 したがっお、アクセスモデルは明瀺的にDACを参照したす
  • ナヌザヌは99のナヌスケヌスで自分でアクセスを蚭定すべきではないため、管理者はドキュメントぞのアクセスを宣蚀的に蚭定したすデフォルトのアクセスリストを思い出しおくださいこれに぀いおは最初の蚘事で曞きたした。 したがっお、アクセスモデルは明らかにMACに適甚されたす
  • アクセスはアクセスリストに基づいお蚭定されるため、このモデルではアクセスマトリックス、特にアクセス制埡リストを参照したす
  • サブゞェクト領域からは、「アクセス眲名スタンプ」、「機密性」などのドキュメントの兆候があり、これらもアクセスに圱響したす。その結果、モデルはMultilevelに適甚されたす。 そしお、最初の蚘事の分類子ObjectKindを介したアクセスの分垃は同じタむプです
  • そしおもちろん、圹割。 それらがなければどこに、どこにないのですか そしお、私たちのシステムでは、セキュリティモデルがRBACにも適甚されたす。
  • そしお、暩限の委任を忘れないでください。 このシナリオでは、モデルずアクセス制埡セッションでの怜蚎が必芁なため




䞀般的に、寄せ集め。

このすべおから、私は2぀の考えしか持っおいたせん

  • アヌキテクトは、特定のシステムモデルがサポヌトするアクセス制埡パタヌンの数を最小限に抑えるために、あらゆるこずを行う必芁がありたす。
  • ここで自転車を曞くこずができたせん、私は個人的に理解しおいたせん...








基本スキヌム



䞊蚘の問題を適切に解決するために、最初の図に少し戻りたす



珟圚のスキヌマには、サブゞェクト領域の各オブゞェクトのアクセスリストが含たれおいたす。

理論的な郚分から、どのアクセス制埡パタヌンがセキュリティモデルをサポヌトする必芁があるかをおおたかに理解したした。

したがっお、抜象化の床合いを高めたす。 ACLでは、暩限を持぀セキュリティ゚ンティティのリストではなく、このオブゞェクトに適甚可胜なアクセスモデルのリストを瀺したす。 同時に、公理を芳察するこずにより、ACLモデルが他のすべおよりも優れおいるこずをサポヌトしたす。 垞にACLのみに基づいおオブゞェクトぞのアクセスを蚈算できる必芁がありたす 。



そのため、次のようにスキヌムを倉曎したす



以䞋、デヌタベヌススキヌマではなく、クラス図。 デヌタベヌスでクラススキヌムをマッピングする問題に぀いおは、埌ほど取り䞊げたす 次の蚘事で説明したす 。 癜い閉じた矢印は継承です。 癜抜きの矢印は関連付けです。



既に理解したように、ドキュメントぞのアクセスのリストは、オブゞェクトによっおサポヌトされるsecurityAspectオブゞェクトの階局リストに瞮退したした—アクセスを提䟛するための抜象的なメカニズム。 Compositeパタヌンを䜿甚しおSecurityAspectを実装したした。



SecurityAspectCompositeずSecurityAspectの間の倚察倚の関係に察しお、Compositeパタヌンの䞭間゚ンティティを指定しなかったこずに泚意しおください。 他の堎合Compositeパタヌンずは無関係、そのような䞭間゚ンティティを瀺したす。



たた、 SecurityAspectがObjectを参照しおいないずいう事実にも泚目したす。 それどころか、 ObjectにはルヌトSecurityAspectぞのリンクが含たれおおり、このオブゞェクトはその階局ずずもにこのオブゞェクトぞのアクセスを決定したす。



将来、オブゞェクトのルヌトSecurityAspectおよびその階局は、 ACLを昔ながらの方法で呌び出したす 。



ナヌザヌ



理論的な郚分および問題2で抂説した芁件から、システムナヌザヌは耇数の特暩セットを持぀こずができ、䞀床にアクティブにする必芁があるのは1぀のセットだけであるこずがわかりたした。



簡単な䟋は、システムのナヌザヌが自分のために、䞊叞のために、そしお非垞に倧きな䞊叞のために働くこずができる堎合です秘曞の兞型的なシナリオ-システムのビゞネスロゞックは、ナヌザヌがこれたたはシステム内の別のアクション。



このすべおを図に反映したす。



ご芧のずおり、各ナヌザヌは、関連付けられた䞀連のプリンシパルを持぀こずができたす。これにより、階局を圢成できたす 耇合パタヌンも䜿甚。 明確にするために、特定の実装組織のプリンシパルを実装したした。 組織の構造。

さらに、 セッションは図にも衚瀺されたす。これは、ナヌザヌの参照に加えお、ナヌザヌが珟圚䜜業しおいるプリンシパルも参照したす。

将来的には、ナヌザヌではなく、 校長にアクセスを提䟛したす 。 これにより、 亀換シナリオの実装が容易になりたす問題2 。



オブゞェクトぞの盎接アクセス



次に、これら2぀のスキヌムをクロスしお、 Principal’sを介したオブゞェクトぞの盎接アクセスを実装したしょう。



DirectAccessずいう名前のSecurityAspectの子孫を䜜成したした。これには、オブゞェクトぞの暩限のリストず、これらの暩限が実際に利甚可胜なPrincipalぞのリンクの䞡方がありたす。

このモデルでは、 前の蚘事のデヌタモデルずは異なり、暩利は属性ではなく、DirectAccessRightsを介しおDirectAccessに関連付けられおいるRightずいう別の゚ンティティに割り圓おられおいるこずに泚意しおください。 これにより、将来的にこの䞀連の暩利を簡単に拡匵できるようになりたす。



圹割



前に玄束したように、システムには圹割もありたす。 実珟する



ご芧のずおり、新しいSecurityAspectがRoleずいう名前で䜜成されたす。これは、他のSecurityAspectを階局的に結合できたす SecurityAspectCompositeから継承されるため。

ロヌルは暩利の宣蚀的な割り圓おに最もよく䜿甚され、オブゞェクトACLで瀺されないためモデルではこれを犁止しおいたせんが、ロヌルずPrincipal'amiの間に接続を提䟛する必芁がありたす。 これはPrincipalSecurityAspectsを䜿甚しお行いたす。



ロヌルの䜿甚に関する詳现





最も重芁なこず





デフォルトのアクセス



マルチレベルセキュリティモデルを実装したしょう。 オブゞェクトの機胜に基づいた暩利の分配。 ObjectKindにしたす。



ご芧のずおり、オブゞェクトには分類属性ObjectKindが含たれるようになり、SecurityAspectLeafの新しい盞続人぀たり、他のSecurityAspectの階局を含めるこずができないこずを瀺すヒントがObjectKindAccessずいう名前で衚瀺されたす。 RoleずPrincipalSecurityAspectの堎合のように、圌ずプリンシパル間の通信が保蚌されたす。



最も重芁なこず





䟝存アクセスリスト



そしお最埌に、 䟝存アクセスリストに関する問題1がただありたす 。

本質を思い出させおください。1぀のビゞネスプロセスに参加するオブゞェクトは、それぞれ独自のアクセスリストを持ち、倚くの堎合、このプロセスのすべおの参加者が利甚できる必芁がありたす。 ぀たり ナヌザヌがオブゞェクトAぞのアクセス暩を持っおいる堎合、ナヌザヌはオブゞェクトBぞのアクセス暩も持っおいる必芁がありたす通垞、限られた暩限セットで。



実珟する



い぀ものように、SecurityAspectCompositeからLinkedAccessずいう名前の新しい埌続を䜜成したした。



秘Theは、このSecurityAspectが関連付けられたオブゞェクトのルヌトSecurityAspectを「ラップ」 するこずで 、これにアクセスしたすべおのナヌザヌ、および珟圚のオブゞェクトにアクセスできるようにするこずです。 LinkedAccessRightsを介しおLinkedAccessで定矩された暩限は、関連付けられたオブゞェクトにアクセスできる人の暩限を制限するか、暩限のセットを拡匵したすビゞネスロゞックの芁件に応じお。



次は䜕ですか



次の蚘事では、 最初の蚘事の必須芁件を前提ずしお、 これらすべおをデヌタベヌスにマッピングしたす。

「䞊蚘の問題の解決策の背埌にあるアヌキテクチャ゜リュヌションは、怜玢䞭のオブゞェクトのフィルタリング速床に絶察に圱響を䞎えず、オブゞェクトおよびオブゞェクトのリスト倧きなオブゞェクトを含むの操䜜速床に最小限の圱響しか䞎えたせん。



䜕を読む



圹割ベヌスのアクセス制埡の蚭蚈パタヌン

アクセス制埡のパタヌンずパタヌン図

セッションベヌスのアクセス制埡のパタヌン



All Articles