認証(Authentication)と認可(Authorization)の違いをまとめた

認証と認可の違い IT知識

「認証と認可の違いってわかる?」
こう聞かれて正直わからなかったので調べてまとめました。



認証とは

認証(Authentication)とは「あなたが誰か」を確認することです。

認証ではあなたにどんな権限があるかは関係ありません。単純にあなたが誰なのかを確認します。

 

現実世界の具体例

  • オフィスのゲートに会員証をかざして入館する
  • 警察に職務質問されたので身分証を見せる

 

webの具体例

  • メールアドレスとパスワードを入力してアプリにログインする
  • 指紋認証や顔認証でスマートフォンのロックを解除する

 

認可とは

認可(Authorization)とは「あなたに権限があるか」を確認することです。

認可ではあなたが誰であるかは関係ありません。あなたが行うことに対してその権限があるかを確認します。

 

現実世界の具体例

  • 機密情報を保管する部屋に入れる許可があるかをチェックする
  • お酒やタバコを買うときに20歳以上であることを証明する

 

webの具体例

  • スプレッドシートの編集権限があるので編集できる
  • 管理者権限のユーザーでログインしているので他のユーザーを新規作成や編集できる

 

ステータスコードでの認証と認可

HTTPステータスコードの401と403も、認証の失敗か認可の失敗かに分けられます。

 

401 (Unauthorized)

英語名が認可と似ていてで紛らわしいですが、認証の失敗を表すステータスコードです。

ログイン画面でメールアドレスかパスワードが間違っていてログインできなかったときのエラーに当たります。

 

403 (Forbidden)

認可の失敗を表すステータスコードで、閲覧禁止の意味もあります。

ログインをした後に、直接URLを入力したり、バグで意図しないページにアクセスしたときのエラーに当たります。

 

まとめ

認証と認可についてまとめました。

認証は「あなたが誰か」を確認して、認可は「あなたに権限があるか」を確認します。

エラーコードで表すと認証エラーが401、認可エラーが403になります。

 



コメント

タイトルとURLをコピーしました