1. ホーム
  2. security

[解決済み] 認証と認可は違うのですか?

2022-12-29 16:38:37

質問

この 2 つの用語がよく使われているのを見かけますが (特に Web ベースのシナリオで)、違いがあるのかどうか疑問に思っていました。

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

どのように解決するのですか?

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

  • ユーザーは誰ですか?
  • ユーザーは本当に彼らが主張/代表する人物なのか?

対照的に、認可とは、特定の (認証された) ユーザーがシステムによって制御されるリソースにどのレベルのアクセスを持つべきかをシステムが決定するメカニズムです。Web ベースのシナリオに関連するかどうかは分かりませんが、たとえば、データベース管理システムは、特定の個人にデータベースから情報を取得する能力を与え、データベースに保存されているデータを変更する能力を与えないように設計されているかもしれませんが、他の個人にはデータを変更する能力を与えているかもしれません。権限付与システムは、このような質問に対する回答を提供します。

  • ユーザー X はリソース R にアクセスする権限がありますか?
  • ユーザ X は操作 P を実行する権限がありますか?
  • ユーザーXはリソースR上で操作Pを実行する権限がありますか?

Steve Riley が書いた、非常に優れた エッセイ を書きました。