访问控制:基础与实施
访问控制是信息安全的基本支柱之一,它决定了谁可以在何时、在何种条件下访问哪些资源。妥善实施访问控制可以保护机密信息、防止未经授权的访问并确保合规性。
基本原则
访问控制基于三大支柱:
- 识别:确定用户是谁(用户名、电子邮件、证书)
- 认证:验证用户确实是其所声称的身份(密码、MFA、生物识别)
- 授权:确定用户可以执行哪些操作(权限、策略)
访问控制模型
RBAC (Role-Based Access Control)
基于角色的模型将权限分配给组织角色,而非直接分配给用户:
- 用户被分配角色(Admin、Editor、Viewer)
- 角色拥有一组已定义的权限
- 便于大规模管理和审计
- 适用于稳定的组织结构
ABAC (Attribute-Based Access Control)
基于属性的控制支持动态决策:
- 评估多个属性(用户、资源、上下文、环境)
- 复杂且细粒度的策略
- 适应动态场景
- 示例:“仅允许在工作时间内从企业 IP 访问”
DAC (Discretionary Access Control)
由资源所有者定义权限的模型:
- 灵活但安全性较低
- 常见于文件系统(Windows、Linux)
- 存在权限过度的风险
MAC (Mandatory Access Control)
具有安全分级的集中式控制系统:
- 用于军事和政府环境
- 基于保密级别(Top Secret、Secret、Confidential)
- 策略由中央集中定义,而非由用户定义
最小权限原则
对有效安全至关重要:
- 仅授予严格必要的权限
- 定期审查和调整权限
- 为敏感操作实施即时(just-in-time)访问
- 职责分离以防止欺诈
身份与访问管理 (IAM)
IAM 系统集中并自动化访问控制:
- 预配(Provisioning):创建和配置账户
- 取消预配(Deprovisioning):安全地移除访问权限
- SSO (Single Sign-On):对多个系统进行单点认证
- MFA (Multi-Factor Authentication):额外的验证层
云环境中的访问控制
云特有的挑战:
- 云 IAM 策略(AWS IAM、Azure AD、GCP IAM)
- 用于应用程序的 Service accounts 和角色
- 跨多云的身份联合
- 密钥和机密管理(AWS Secrets Manager、Azure Key Vault)
审计与监控
对于检测滥用和确保合规至关重要:
- 认证和授权日志
- 异常访问告警
- 定期权限审查
- 合规报告(SOC 2、ISO 27001)
常见挑战
- Privilege Creep:权限随时间累积
- 孤立账户:未停用的离职员工账户
- 权限过度:用户拥有超出所需的访问权限
- 缺乏可见性:不清楚谁拥有对什么的访问权限
最佳实践
- 普遍实施多因素认证(MFA)
- 严格应用最小权限原则
- 自动化预配和取消预配
- 每季度审查权限
- 隔离环境(生产、开发、测试)
- 实施会话控制(超时、重新认证)
- 使用组/角色而非直接权限
- 清晰地记录权限矩阵
工具与解决方案
- Okta、Auth0:云原生 IAM 平台
- Azure AD、AWS IAM:云服务提供商解决方案
- OpenLDAP、Active Directory:企业目录
- HashiCorp Vault:机密和凭证管理
- SailPoint、Saviynt:身份治理
