私たちは、異なるユーザが異なるアクセス、操作やデータへのアクセスを持っている、あるアクセス制御の顔の問題にバインドされているシステムを開発しました。理論形成権限制御モデルは以下のとおりです。任意アクセス制御(DAC:任意アクセス制御)など:認証機関属性(属性ベースのアクセス制御ABAC)に基づいて、強制アクセス制御(強制アクセス制御MAC)。最も一般的に開発者の使用は比較的使いやすいです、共通RBACアクセス許可モデル(ロールベースのアクセス制御)で、この論文は、アクセス許可モデルをご紹介します。
、RBACアクセス許可モデルの紹介
すなわち、RBACアクセス許可モデル(ロールベースのアクセス制御):役割ベースのアクセス制御。重要な用語のいくつかのモデルがあります:
- ユーザー:システムオペレータインターフェースとアクセス
- 機関:インタフェースにアクセスしたり、操作の資格を行うことを許可する機能
- 役割:ユーザーが操作する権限のクラスの同じ一般的な用語を持っています
次のようにコアRBACアクセス許可モデルの認可ロジックは次のとおりです。
- ユーザーの役割は何ですか?
- どのような役割は、権限を持っていますか?
- 役割の権限によって導出ユーザーの権限
二、RBAC進化の過程
2.1。直接関連付けられたユーザー権限を
ユーザーが特定の権限を持っています、アクセス制御の人々を考えて最初に考えたのは、それが、簡単に言えば、直接に関連したモデルのユーザー権限でなければなりません。図:
- ジョー・スミスは、そう、彼は人事制度を維持することができることを、作成してユーザーを削除する権限を持っています
- ジョン・ドウは、レコード管理製品と販売記録の管理権限を持っているので、彼はビジネスの販売もあり
このモデルは明らかにユーザーと権限の関係、シンプル十分に発現することができます。しかし、問題もあります。
- 今、ユーザーが後で人員の増加に伴って、各ユーザが再承認する必要がありますジョン・ドウ、あります
- あるいは、ジョン・ドウは休暇のために、我々は、各ユーザーの権限の様々なを回復する必要があります
2.2 Aのユーザーが役割を持っています
実際のビジネス社会では、ユーザーが分類することができます。例えば、給与管理システムのため、通常のレベルに応じて分類:マネージャー、シニアエンジニア、中堅技術者、ジュニアエンジニア。ユーザーが特定の役割に応じて分類され、通常は同じ役割が同じ権限を持っています。この変更後は、ロールのユーザーエンパワーメントエンパワーメントのために変換することができます。
- ユーザーが役割を持っています
- 役割以上の操作(メニュー)の権限があります
- 操作権限は、複数のロールに属することができます
私たちは、このようなAの関係を記述したデータベース設計モデルの下の図を使用することができます。
2.3ユーザーの1つ以上のロール
しかし、実際のアプリケーションシステムでは、これまで需要を満たすの役割を持つユーザー。我々は、ユーザーが必要な場合は、両方の販売の役割として、だけでなく、一時的に副社長の役割を務めていました。どのようにそれを行うには?システム設計の適用性を高めるためには、我々は通常、設計します。
- ユーザは、1つの以上の役割を持っています
- 複数のユーザーが含まれている役割
- 役割の権限の様々なものがあります
- 複数の役割に属する権限
私たちは、このようなAの関係を記述したデータベース設計モデルの下の図を使用することができます。
第二に、操作権限を持つページへのアクセス
- ページアクセス:すべてのシステムは、ページアクセスと呼ばれているページを入力するかどうか、ユーザーがメニューのこのページを見ることができるかどうか、1ページ、ページの再構成モジュールで構成されています。
- 権限オペレーティング:任意のユーザーアクションを、オペレーティングシステムの相互作用は次のようにCRUDとして動作する権限を持っている必要があります。たとえば:ボタン、ハイパーリンクをユーザーがパーミッションが見るべきかどうか、をクリックすることができますか。
上記のように、この需要を満たすために、我々は、リソースページ(メニュー)と運用リソース(ボタン)サブテーブル記憶を置くことができます。両方のフィールドを区別するためのフラグで、内部記憶されたテーブルに置くことができます。
第三に、データのアクセス許可
データ権限は、ユーザがアクセスし、データ操作ができるもので、よりよく理解されます。
- 一般的に言えば、データは、ユーザーが所属する権利団体によって決定されます。例:生産データの生産は唯一の彼自身の部門を見ることができる、2つの生産データの生産は唯一の彼自身の部門を見ることができ、販売部門のみの販売データを見ることができ、データは、金融セクターで見ることができません。同社のゼネラルマネージャーは、すべてのデータを見ることができます。
- 実際の業務システムでは、データの権利はより複雑になる傾向があります。非常に可能性の高い営業部門は、販売戦略を決定する配置の計画などにするために、データの生産部門を見ることができます。
だから、顔の複雑なニーズにためには、権限の制御データは、典型的には、むしろコントロールへのアクセス許可モデルやSpring Securityまたは史郎よりも、データの範囲を制限するために、プログラマパーソナライズされたSQLで書かれています。もちろん、あなたが権利または特権モデルの枠組みが、限られた適用性の観点からこの問題を解決するために行くことができます。
あなたの注意を楽しみにして
- :ブロガーは、一連の文書をお勧めします「手タッチの手があなたSpringBootシリーズの章97節を教え-16」
- この記事は、再現される(エンはテキストのみをオンにしてはならない)ソースを示す:文字がオフジボ。