认证与授权
本文旨在为开发您自己的身份验证和授权工作流提供一个连贯的最佳实践指南。
有关以下涉及的各个操作的详细说明,请参阅另请参阅中的链接。
真实企业场景
大型企业通常具有复杂的组织结构和大量使用各种平台和工具的员工。从 IT 治理的角度来看,拥有统一的身份、身份验证和授权系统带来了显著的优势:
- 简化的用户管理:管理员不再需要在多个系统中手动创建或删除用户并分配权限。用户生命周期管理(例如,入职/离职)变得无缝且易于审计。
- 提高的安全性:单点登录(Single Sign-on, SSO)机制消除了用户管理多个凭据的需求,减少了攻击面。
- 角色对齐的访问控制:访问权限通常与用户的角色或部门相关联。结构良好的身份系统可以更轻松、更准确地进行授权决策。
示例
假设有三名新员工加入一家 SaaS 公司的不同部门:一名市场专员和两名解决方案架构师。
- 组织上,他们属于不同的团队。
- 从身份角度,他们的电子邮件帐户作为其在内部平台上的登录凭据。
- 按访问权限,三人分别被授予不同平台的访问权限:
- 市场专员可以登录 Hubspot 后台查看新线索。
- 解决方案架构师可以访问服务控制台,并为指定客户管理服务。
尽管三人使用相同的身份提供者,但其访问权限受到严格执行:
- 市场专员仅能访问 Hubspot。
- 解决方案架构师可以访问服务控制台,但不能访问未分配给他们的用户的服务,也不能访问 Hubspot。
三层访问控制
此示例突出了企业身份和访问流程中的三个关键组件:
- 身份验证 – “我是彼得,一名经过验证的 SaaS 公司员工。”
- 访问验证 – “作为解决方案架构师,我被授权登录服务控制台。”(并非所有经过验证的员工都应访问所有服务。)
- 操作授权 – “作为 SaaS 公司的客户,我可以查看我们自己的服务信息,但不能查看其他客户的。”