認証と承認に違いはありますか?


97

私はこれら2つの用語がかなり特定されていることを確認し(特にWebベースのシナリオではこれに限定されないと思います)、違いがあるかどうか疑問に思っていました。

どちらもあなたがあなたがしていることをすることを許されていることを意味しているように私には思えます。これは単なる命名法なのでしょうか、それとも意味に基本的な違いがあるのでしょうか。


3
はい。大きな違いがあります。ウィキは何と言いますか?148Kで、本当に今;-)私がすることができます認証なし(隙間なしまたはプライベート)あなたは敵のスパイであることを承認するトップシークレットデータにアクセスすることができます。

「本物」と「許可」の違いです。役に立たないことに、どちらも「auth」に省略されます。Apacheはそれらを「authn」と「authz」で区別します。
tc。

これは非常に簡単にここで説明されています:serverfault.com/a/57082/227016
Kuldeep Jain

これはあなたの質問に答えますか?認証と承認
ロイテン

回答:


141

確かに根本的な違いがあります。認証は、システムがユーザーを安全に識別できるメカニズムです。認証システムは、質問に対する回答を提供しようとします。

  • ユーザーは誰ですか?
  • ユーザーは本当に彼らが主張/代表している人ですか?

対照的に、認証は、システムが制御するリソースに対して、特定の(認証された)ユーザーが持つ必要があるアクセスのレベルを決定するメカニズムです。Webベースのシナリオに関連するかどうかに関係なく、データベース管理システムは、特定の特定の個人にデータベースから情報を取得する機能を提供するが、データベースに格納されたデータを変更する機能を提供しないように設計されている場合があります。他の個人にデータを変更する能力を与えながら、データベース。承認システムは、質問に対する回答を提供します。

  • ユーザーXはリソースRへのアクセスを許可されていますか?
  • ユーザーXには操作Pを実行する権限がありますか?
  • ユーザーXは、リソースRで操作Pを実行することを許可されていますか?

スティーブ・ライリーは、彼らが区別されなければならない理由について、非常に良いエッセイを書いています。


3
認証は他のものにも適用されます(MACなど)。
tc。

あなたが提供するエッセイは素晴らしいです、それを共有してくれてありがとう。
Abdel-Raouf

43

認証とは、エンティティのIDを確認することです。承認では、認証されたエンティティが実行できること(ファイルのアクセス許可など)を扱います。


12

重要な点は次のとおりです。

  • 認証は、ユーザーアカウントの検証を扱います。これは有効なユーザーですか?このユーザーはアプリケーションに登録されていますか?例:ログイン
  • 承認では、特定の機能に対するユーザーアクセスの検証を扱います。このユーザーには、この機能にアクセスするための承認/権利がありますか?例:クレーム、役割

5

認証:

認証は、なんらかの資格情報を取得し、それらの資格情報を使用してユーザーの身元を確認することにより、ユーザーの身元を確認するプロセスです。資格情報が有効な場合、承認プロセスが開始されます。認証プロセスは常に承認プロセスに進みます。

承認:

承認は、認証されたユーザーがシステムへのアクセス権を持っているかどうかをチェックすることにより、リソースへのアクセスを許可するプロセスです。承認は、認証されたユーザーに特定のアクセス許可を付与または拒否することにより、アクセス権を制御するのに役立ちます。


2

私の経験では、認証は通常、より技術的なプロセス、つまりユーザーの認証(ログイン/パスワードの資格情報、証明書などを確認すること)を指しますが、認証はアプリケーションのビジネスロジックでより多く使用されます。

たとえば、アプリケーションでは、ユーザーはログインして認証されることがありますが、特定の機能の実行は許可されていません。


1

Webサイトでユーザーを認証するとは、このユーザーが有効なユーザーであること、つまりユーザーがユーザー名/パスワードや証明書などを使用していることを確認することを意味します。一般的に、建物に入ることが許可されているのですか?

承認とは、ユーザーがWebサイトの特定のリソースまたはセクションにアクセスする権利/許可を持っているかどうかを確認するプロセスです。たとえば、CMSがユーザーにWebサイトのコンテンツの変更を許可されているかどうかを確認します。オフィスビルディングのシナリオでは、ユーザーはオフィスのネットワークルームに入ることができますか。


1

ログインできる場合、資格情報が検証され、認証されます。特定のタスクを実行できる場合は、その実行を許可されています。


1

認証はあなたが誰であるかを確認し、承認はあなたが何をすることが許可されているかを確認します。たとえば、sshクライアントを介してUnixサーバーにログインすることは許可されていますが、ブラウザ/ data2またはその他のファイルシステムへのアクセスは許可されていません。認証が成功した後に認可が発生します........


0

認証はあなたが誰であるかを確認し、承認はあなたが何をすることが許可されているかを確認します。たとえば、sshクライアントを介してUnixサーバーにログインすることは許可されていますが、ブラウザ/ data2またはその他のファイルシステムへのアクセスは許可されていません。承認は、認証が成功した後に行われます。


0

認証:ユーザーが誰であるかを確認します。

認証するために、ユーザーはユーザー名やパスワードなどの資格情報を提供し、資格情報が有効な場合、ユーザーは認証の検証として将来の要求で送信できるトークンを受け取ります。

許可:ユーザーに許可されていることを決定します。

ユーザーの観点から見ると、システムにアクセスするためのリクエストを送信し、何か(システムにファイルをアップロードするなど)を実行でき、それが機能すると、認証が成功します。

認証は身元を確認するだけです。つまり、ユーザーが本人であることを確認します。承認は、検証済みユーザーがアクセスできるリソースを決定します。


0

認証

認証はあなたが誰であるかを確認します。たとえば、sshクライアントを使用してサーバーにログインしたり、POP3およびSMTPクライアントを使用してメールサーバーにアクセスしたりできます。

認可

承認では、ユーザーが実行する権限を確認します。たとえば、sshクライアント経由でサーバーにログインすることは許可されていますが、ブラウザ/ data2またはその他のファイルシステムへのアクセスは許可されていません。承認は、認証が成功した後に行われます。


0

承認とは、クライアントがリソースを使用する権限またはファイルにアクセスする権限を持っているかどうかをサーバーが判断するプロセスです。

サーバーは、誰が情報やサイトにアクセスしているかを正確に知る必要があるときに、サーバーによって使用されます。


0

簡単なリアルタイムの例、生徒が学校に来る場合、校長は認証と承認をチェックしています。 認証: 学生証を確認してください。彼または彼女が私たちの学校に所属しているかどうかを示します。 承認: 学生がコンピュータープログラミングラボに座るかどうかを確認します。


0

これを最も簡単な言葉で説明する画像を作成しようとしました

1)認証とは、「あなたが言っているのはあなたですか?」という意味です。

2)承認とは、「自分がしようとしていることを実行できるようにする必要があるか」という意味です。

これは、下の図でも説明されています。

ここに画像の説明を入力してください


2
投稿とまったく同じテキストのみの画像を追加するのはなぜですか?:)
Millenjo 2018

0

認証

アイデンティティが真か偽かを検証するプロセスです。言い換えると、ユーザーが自分が本当に自分であると主張しているユーザーであることを確認します。

認証タイプ:

  1. 認証のユーザー名+パスワードのタイプ
  2. ソーシャルアカウントを使用した認証
  3. パスワードなしの認証
  4. 多要素認証
  5. 指紋または網膜ベースの認証など

OpenIDは認証のオープンスタンダードです。

認可

特定のIDまたはロールを持つユーザーがアクセスできるリソースを決定する手法。

OAuthは認証のオープンスタンダードです。


0

認証:アプリケーションは、誰がアプリケーションにアクセスしているかを知る必要があります。したがって、認証は、whoという単語に関連しています。アプリケーションはログインフォームで確認します。ユーザーはユーザー名とパスワードを入力し、これらの入力はアプリケーションによって検証されます。検証が成功すると、ユーザーは認証済みとして宣言されます。

認可は、ユーザーがアプリケーションにアクセスできるかどうか、またはどのユーザーがアクセスできるか、どのユーザーがアクセスできないかを確認することです。出典: Authentcation Vs Authorization


0

定義またはテクノロジーを明示的に指定しようとする残りの応答と比較します。もっと貴重な例を提出します。

パスポートとロックアンドキーをよく似た記事があります。

認証(AuthNとも呼ばれます)について話すときは、アイデンティティについて考えます。認証は「この人は彼らがそうであると言う人ですか?」と答えようとします。これは、パスポートまたは国民IDチェックに相当するソフトウェアです。あるいは、より現実的に言えば、認証は、他の人の顔を見て、これが大学の友達であり、迷惑な2階の隣人ではないことを認識するときと同じようなプロセスです。

一方、承認(AuthZとも呼ばれます)はすべて権限に関するものです。承認は「この人はこのスペースで何ができるのか」という質問に答えます。家の鍵やオフィスのバッジと考えることができます。玄関を開けてもらえますか?あなたの迷惑な隣人はあなたのアパートに自由に入ることができますか?さらに、あなたのアパートにいったい誰がトイレを使えるのですか?あなたの台所の食器棚に隠されたクッキーの隠し物から誰が食べられますか

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.