核心概念
认证与授权 (Authentication vs Authorization)
深入理解身份和访问管理 (IAM) 中最重要的两个概念:认证与授权的区别。
认证与授权 (Authentication vs Authorization)
在数字身份管理(IAM)领域,认证 (Authentication) 和授权 (Authorization) 是两个最基础、但也最容易被混淆的概念。虽然它们经常被同时提及,但在信息安全体系中,它们承担着截然不同的职责。
认证 (Authentication)
认证解决的问题是:“你是谁?”
这是一个验证身份真实性的过程。系统需要确认请求方是否真的是他们所声称的那个实体。
常见的认证方式
- 您所知道的 (Knowledge Factor):密码、PIN 码、安保问题。
- 您所拥有的 (Possession Factor):手机短信验证码、动态口令 (TOTP)、物理安全密钥 (U2F/FIDO)。
- 您所具备的特征 (Inherence Factor):指纹、面部识别、声纹识别。
在 YeeAuth 中,认证过程通常发生在一个用户登录您的应用程序时。一旦认证成功,YeeAuth 会颁发一个代表用户身份的 ID Token。
授权 (Authorization)
授权解决的问题是:“你能做什么?”
在成功证明了“你是谁”之后,系统需要决定你是否有权限访问某个特定的资源或执行某项特定的操作。
常见的授权模型
- RBAC (基于角色的访问控制):用户被赋予某些“角色”(如管理员、普通用户),每个角色拥有一组固定的权限。YeeAuth 提供内置的强大 RBAC 支持。
- ABAC (基于属性的访问控制):根据用户的属性(如部门、职位、访问时间)动态计算是否允许访问。
- OAuth 2.0 授权机制:客户端应用程序向 YeeAuth 申请某些权限范围(Scope),在用户同意后,YeeAuth 颁发一个包含授权信息的 Access Token,应用程序使用它去访问对应的 API 服务。
核心区别总结
| 对比维度 | 认证 (Authentication) | 授权 (Authorization) |
|---|---|---|
| 核心问题 | 你是谁?(Who are you?) | 你能做什么?(What can you do?) |
| 先决条件 | 无需前置条件,是安全的第一步 | 必须在认证成功之后发生 |
| 核心协议 | OIDC (OpenID Connect), SAML | OAuth 2.0 |
| 数据载体 | ID Token (包含用户个人信息) | Access Token (包含资源访问权限) |
| 现实比喻 | 过机场安检时出示身份证/护照 | 凭借机票登机牌进入特定的登机口和头等舱休息室 |
[!IMPORTANT]
永远不要使用 ID Token 来调用后端 API(因为它是用来向前端证明用户身份的)。 调用受保护的后端 API 资源时,应当始终使用 Access Token 进行授权验证。