web-dev-qa-db-ja.com

特権と許可の違い

コンピューターのセキュリティの観点から、許可と特権のコンテキストの違いについて少し混乱しています。両方の用語の定義を読みましたが、誰かが私にいくつかの実用的な例を教えてくれればいいでしょう。

User A can read write file X 

この場合の特権と許可とは何ですか?

28
Ali Ahmad

コンピューターのセキュリティでは、これらは同じ意味で使用されます。

権利のコンテキストでは、許可とは、アクションを実行するために個人またはグループに与えられる同意を意味します。特権は、個人またはグループに与えられる許可です。権限は、付与されたさまざまな権限(権限なしを含む)を区別するために使用されます。

特権は、アクションを実行するための許可です。

上記のenglish.seリンクからも

権限は、ファイルなどのオブジェクトのプロパティです。オブジェクトの使用が許可されているエージェントと、エージェントが許可されていること(読み取り、変更など)を示しています。

特権は、ユーザーなどのエージェントのプロパティです。これにより、エージェントは通常許可されていないことを実行できます。たとえば、エージェントがアクセス権限のないオブジェクトにアクセスできるようにする権限と、エージェントがコンピュータの再起動などのメンテナンス機能を実行できるようにする権限があります。

したがって、あなたの例では、特権はファイル「x」を書き込む権限を持っています

32
NULLZ

それらは通常かなり交換可能ですが、許可がアクションが要求するものであり、特権がユーザーが持っているものであるいくつかのシステムを聞いたことがあります。したがって、ユーザーには、要求されているアクセス許可に対応する特権が付与される可能性がありますが、実際には一部のシステムのセマンティクスであり、常にそうであるとは限りません。

どちらの方法でも、問題を引き起こしているより具体的な状況がない限り、通常は意味上の違いです。

10
AJ Henderson

はい、微妙に異なります(ただし、Role Based Access Control(RBAC)を完全にモデリングしている場合のみ)。

役割ベースの承認のためのERモデルを検討します。

  • アプリケーションには機能があります
  • 機能は役割によって実行されます
  • アイデンティティには役割が与えられます
  • 個人にはアイデンティティがプロビジョニングされています

それを少しまとめると、次のように言えます。+個人(オンラインIDを持つ)、役割を実行すると、アプリケーションで機能を実行する権限が与えられます

そう:

  • permissionは、役割、機能、およびアプリケーション間のERリンクです。つまり、許可は役割に付与されます
  • privilegeは、個人とアプリケーション間のERリンクです。つまり、特権は人々に与えられます。

ただし、多くの設計者は、個人と役割を分離したり、機能とアプリケーションを分離したりしないため、特権と許可の違いが見落とされます。私の経験では、誰かが「ADグループを使用してRBACを保存する」と言ったときにこれをよく目にします-これは深刻なアンチパターンです。

毒性のある組み合わせについて報告する要件があり、きめ細かい許可が一般的である世界では、RBACを格納するためのデータモデルが非常に重要です。

7
Callum Wilson

会話では、多くの回答が述べているように、2つは通常交換可能です。

さまざまなコンピュータ環境で使用されている2つのコンテキストの可能なコンテキストの違いのいくつかは、2つの単語の意味合いに内在しています。

  • 許可が要求されると、特権が付与されます。 2つの単語の会話的な使用、許可の「プロアクティブな」使用について考えるとき(通常、文の任意のサブジェクトによって行われる最初のアクション)コンテキスト内で)それを要求することです。 「リアクティブな」使用(最初のアクションに応じて実行される2番目のアクション)は、それを付与することです。対照的に、特権のプロアクティブな使用はそれを付与することですが、リアクティブな使用はそれを行使することです。

  • 権限は状況ベースで、権限は時間ベースです。繰り返しになりますが、2つの用語の意味は、権限は、アクションを実行するたびに要求および付与される必要があるものであり、それが付与された場合、状況の状況に基づくことができます。ただし、特権は、対象者が許可されていることを知っている特定のアクションに関するものです。これは、対象者がこのことを実行する可能性があることを通知された後、対象者が特定のアクションを実行するまで、特に尋ねることなく続行するためです。彼らはもはやこのことはできないと言った。

そのため、通常、ITセキュリティで使用されるように、権限によって権限が決定されます。ユーザーは自分のアカウントを使用して、システムの管理者から特定の種類のレコード(または特定のレコード)を読み取る特権を付与されます。これは通常、1回または必要に応じて行われます。アプリケーションは、アカウントを使用して自分自身を認証したユーザーに代わって動作し、permissionに対して、実行する必要があるたびにアクションを実行するように要求します。そのため、システムはユーザーの特権を調べた後、各状況でこのアクセス許可を付与します。

5
KeithS

気になるのですが、この2つのコンテキストの違いは何だと思いますか。

私は両方の用語を同じ意味で見ました(そして使用しました)。これまでに2つの用語を区別している人を見たことがありません。どちらも、誰かが特定のアクションを実行する権利を持っているかどうかを示します。

2
user10211

特権は、ほとんどの場合、非オブジェクト固有のタスクに関するシステムアクションとユーザーの能力のコンテキストで使用され、システムまたはアプリケーション自体との対話を頻繁に参照します。 *ユーザーアカウントを追加/削除します。 *ハードウェアデバイスを追加/削除します。 *アプリケーションをインストールします。

権限は、(一般に)ファイルシステム(または* nixの/ devディレクトリなどのファイルシステムの一部として参照されるオブジェクト)のコンテキストで使用されます。特定の人がそのオブジェクトに対して何ができるかを決定するオブジェクト(ファイル)に対する許可のリストをセットアップします。

一般に、システムへの誰かの全体的なアクセスを決定するのは、特権と許可の組み合わせです。たとえば、Windowsシステム上の特定のファイルにアクセスする権限はあるが、このシステムにローカルまたはネットワーク経由でログオンする権限がない場合、ファイルのACLがあっても実際にはアクセスできません(アクセス制御リスト)はできると言っています。

2
James Brandon