跳转至

用户、配额与安全

OpenNebula 的多租户能力来自身份认证、User/Group、ACL、资源所有权和 Quota 的组合。只创建多个账号但不给资源边界,并不是真正的多租户。

权限模型

身份认证
User 属于 Group
资源所有者权限 + ACL
Quota 限制最大资源量
可使用的 Template、Image、VNet、Datastore
  • 认证回答“你是谁”。
  • ACL/所有权回答“你能对哪些对象做什么”。
  • Quota回答“你最多能使用多少”。
  • 模板治理回答“允许你创建什么规格的资源”。

四者缺一,都可能造成越权或资源失控。

推荐的租户组织

  • 按部门、项目或环境创建 Group,不让所有人长期使用 oneadmin
  • 普通用户只实例化已审核模板,不允许任意 RAW 配置或挂载未知设备。
  • 网络和镜像按 Group 授权;公共基础镜像只读共享。
  • 分别设置 VM 数量、CPU、内存、存储和网络地址配额。
  • 运维管理员、镜像管理员、租户管理员和审计角色分离。

凭据和入口安全

  • 为 Web 和 API 配置 TLS,并限制管理网访问来源。
  • 外部 LDAP/OIDC 等身份源应保留受控的本地应急管理员。
  • 定期轮换服务密码、数据库密码、SSH 密钥和 API 凭据。
  • 不在 Template、Context 或命令历史中保存永久明文密码。
  • 限制 oneadmin 私钥读取范围;泄露后视为所有计算节点管理权限泄露。
  • 对高风险操作保留审计日志,并同步到外部日志平台。

网络隔离

安全组是对 VM 流量的策略控制,但不能替代所有边界防护。仍要结合:

  • 租户 VLAN/VXLAN 或物理网络隔离。
  • 管理网、存储网与业务网分离。
  • 上游防火墙、出口控制和东西向访问策略。
  • 防 MAC/IP 欺骗能力与地址池治理。
  • 对管理 API、数据库、SSH 和存储端口的最小暴露。

镜像供应链

  1. 只从可信来源获取基础镜像并记录校验值。
  2. 在隔离环境构建、扫描和测试镜像。
  3. 使用版本号而不是覆盖同名镜像后无法追踪。
  4. 定期更新安全补丁,声明停止维护日期。
  5. 发布前清理机器标识、密钥、缓存和业务数据。
  6. 对可持久化 Image 的修改权限进行严格限制。

权限验收

使用普通租户账号实际验证:

  • 能否看到其他 Group 的 VM、Image 和 VNet。
  • 能否创建超过配额的 VM 或超规格实例。
  • 能否修改模板绕开安全组、网络或设备限制。
  • 删除 VM 时能否影响共享/持久镜像。
  • API Token 失效、账号禁用和人员离职后访问是否真正撤销。

官方参考:Users and GroupsQuotasACL Rules