
1) 【一句话结论】:设计员工信息数据库需遵循等保2.0与《个人信息保护法》,通过数据分类(一般/敏感/核心)、字段加密脱敏、动态访问控制(RBAC+ABAC)及全生命周期管理,确保数据安全合规。
2) 【原理/概念讲解】:数据分类是核心基础,按敏感程度分三类:
3) 【对比与适用场景】:
| 模型 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| RBAC | 基于角色的访问控制,用户通过角色获权限 | 角色固定,权限集中管理,简单直观 | 角色明确的传统系统(如HR、部门经理) | 可能权限冗余,角色与业务变化不匹配 |
| ABAC | 基于属性的访问控制,权限由用户/资源/环境属性动态计算 | 权限灵活,支持细粒度、动态授权 | 需临时授权、跨部门协作的场景 | 实现复杂,属性管理成本高 |
4) 【示例】:
def check_access(user_role, data_type, action, is_temporary):
# RBAC基础检查
if user_role == "HR管理员":
return True
elif user_role == "部门经理" and data_type == "本部门":
return True
elif user_role == "普通员工" and action == "查看自身":
return True
# ABAC临时授权
if is_temporary and user_role == "外部访客" and action == "查看特定数据":
return True # 需HR审批,有效期7天,到期自动失效
return False
5) 【面试口播版答案】:面试官您好,设计员工信息数据库时,核心是结合等保2.0和《个人信息保护法》,通过数据分类、字段加密脱敏和动态访问控制保障安全合规。首先,字段设计上,区分一般信息(如部门、入职日期)和敏感信息(如联系方式、身份证号),敏感信息采用AES-256加密,身份证号仅存储脱敏后的前6位+后4位,薪资信息脱敏为“税前X万”。其次,数据分类为三级:一般、敏感、核心敏感,对应等保2.0三级要求,采取加密、访问控制、日志审计(保留6个月)等措施。访问控制采用RBAC模型定义角色(HR管理员、部门经理、普通员工),赋予不同权限,如HR管理员可全字段操作,部门经理仅能查看本部门信息,普通员工仅查看自身。同时,针对临时授权,补充ABAC模型,通过审批流程发放临时权限,设置有效期(如7天),到期自动失效。最后,数据生命周期管理:离职员工数据在离职后30天内脱敏或删除,确保合规。
6) 【追问清单】:
7) 【常见坑/雷区】: