[解決済み] サブジェクト、ユーザー、プリンシパルの意味と違いについて教えてください。
質問
セキュリティフレームワークの文脈では、いくつかの用語がよく登場します。 主題 , ユーザー と プリンシパル の、明確な定義とその違いを見つけることができませんでした。
では、これらの用語は一体何を意味するのか、また、なぜこれらの区別の 主題 と 主 は必要ですか?
解決方法は?
これらは、属、種、個体が階層化されているように、階層化されているのです。
- 主題 - セキュリティコンテキストでは 件名 へのアクセスを要求するあらゆるエンティティです。 オブジェクト . これらは、アクセスを要求するものと、要求がなされたものを示す一般的な用語である。 あなたがアプリケーションにログオンするとき、あなたは主体であり、アプリケーションは客体である。 誰かがあなたの家のドアをノックしたとき、訪問者はアクセスを要求する主体であり、あなたの家はアクセスを要求される客体である。
- プリンシパル - のサブセットです。 サブジェクト アカウント、ロール、その他の一意な識別子で表される。 実装の詳細なレベルになると、プリンシパルはアクセス制御リストで使用する一意のキーとなります。 これらは人間のユーザー、オートメーション、アプリケーション、接続などを表すことができます。
- ユーザー - のサブセットです。 プリンシパル 通常、人間のオペレーターを指す。 ユーザー」や「ユーザーID」という言葉が「アカウント」と混同されているため、この区別は時間の経過とともに曖昧になってきています。 しかし、以下のような広範な分類のものを区別する必要がある場合、その区別は困難です。 プリンシパル と、非決定的な方法でトランザクションを駆動するインタラクティブなオペレータであるこれらのサブセット、"user"が正しい言葉です。
主語/目的語は、文法で使われる用語と同じものを継承しています。 文中では主語は行為者、目的語は行為されたものである。 この意味で、コンピュータが発明される以前から使われている。 セキュリティの文脈では、主語は要求を出すことができるものすべてである。 前述したように、これはITセキュリティに限定する必要はないので、非常に広い分類となる。 興味深いのは、主語が目的語を意味することである。 目的語がなければ、主語は存在しない。
プリンシパルとは、サブジェクトが解決するものです。 クレジットカードを提示するとき、あなたは主体であり、口座番号が主体である。 他の文脈では、あなたのユーザーIDや国が発行したIDが主語となります。 しかし、プリンシパルは人ではない多くの種類の主語と関連付けることができる。 アプリケーションがシステムレベルの機能を要求するとき、主体は署名された実行 コードモジュールの署名者かもしれないが、その場合でも、要求を実行するユー ザーが主体であることに変わりはない。
ユーザーとは、通常、対話的な操作者を指すという点で、主語や主体よりも具体的です。 そのため、グラフィカル・プリンシパル・インターフェイスではなく、グラフィカル・ユーザー・インターフェイスがあるのです。 ユーザは 対象 に解決するものである。 プリンシパル . 1人のユーザーがいくつのプリンシパルに解決してもかまいませんが、どのプリンシパルも1人のユーザーに解決することが期待されます(IDを共有しないという要件を人々が守ると仮定しています)。 上の例では、実行可能なコードモジュールの署名者は、間違いなく ない ユーザーでありながら は は有効なプリンシパルです。 モジュールをロードさせようとしている対話型オペレーターは、ユーザーです。
コメントにもあるように、権威ある情報源でさえも、これらの用語に同意していません。 私は、この回答を準備する間、NIST、SANS、IEEE、MITRE、およびセキュリティ試験ガイドなどのいくつかの「準」権威のある情報源を検索しました。少なくとも準公式な情報源で、この3つの用語をすべて網羅しているものはなく、その使い方も大きく異なっていました。 以下は、この3つの用語がどのように使われているかについての私の考えです。 なければならない しかし、実務的には、夜中にマニュアルを読み返すと、ベンダーやライターが言うとおりに定義されていることが多いものです。 しかし、ここでの回答が、これらの用語を使用するセキュリティ文書を解析するための十分なヒントになることを願っています。
関連
-
eclipse アクセス制限です。タイプ 'xxx' は API ではありません(必須ライブラリ '' の制限)。
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] リフレクションとは何か、なぜ有用なのか?
-
[解決済み] JSONPとは何か、なぜ作られたのか?
-
[解決済み] MVPとMVC、その違いは何ですか?
-
[解決済み] メソッドと関数の違いは何ですか?
-
[解決済み] StringBuilderとStringBufferの違いについて
-
[解決済み] シミュレータかエミュレータか?その違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
アクセス制限について アプリケーションの種類がAPIでない(必要なライブラリの制限)。
-
アクセス制限です。タイプ 'Application' は API ではありません。
-
Dateが型に解決できない問題を解決する
-
node js npm gruntインストール、elasticsearch-head 5.Xインストール
-
javaでクラスを作成すると、enclosing classでないように見える
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
SocketTimeoutExceptionです。読み込みがタイムアウトしました
-
HttpClientがGZIP形式でない場合の対処法
-
java 例外。Javaツールの初期化
-
このラインで複数のマーカーを解決する方法