访问控制:基础与实施

访问控制是信息安全的基本支柱之一,它决定了谁可以在何时、在何种条件下访问哪些资源。妥善实施访问控制可以保护机密信息、防止未经授权的访问并确保合规性。

基本原则

访问控制基于三大支柱:

  • 识别:确定用户是谁(用户名、电子邮件、证书)
  • 认证:验证用户确实是其所声称的身份(密码、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:身份治理