バックエンド面接: 認証と認可の違い¶
元ネタ¶
- X: https://x.com/ayesha_fatiima/status/2040674563844186536
- 投稿者: @ayesha_fatiima
原文¶
Interviewer:
What's the difference between authentication and authorization?
(119K devs still get this wrong in interviews)
要約¶
認証(authentication)と認可(authorization)の違いを問う面接質問。多くの開発者がまだ面接で間違えるという。
まずの答え¶
- 認証(Authentication): 「あなたは誰か」を確認する。ユーザー名とパスワード、OAuth トークン、生体認証など。
- 認可(Authorization): 「あなたは何ができるか」を確認する。ロール、パーミッション、アクセス制御リスト(ACL)など。
認証が先で、認可がその後。ログインは認証、ログイン後にどのリソースにアクセスできるかが認可。
深掘りしたい観点¶
- OAuth 2.0 / OIDC における認証と認可の役割分担
- JWT トークンの中に認可情報を含める設計
- RBAC / ABAC の違い
- API Gateway での認証・認可パターン
tags: #backend #interview #security #authentication #authorization #oauth