OpenStack 每日学习课程

日期: 2026年4月3日(星期五) 主题: Keystone — OpenStack 的身份认证守门人


🎯 核心概念

想象你走进一栋大型写字楼,里面有会议室、餐厅、健身房等各种设施。在进入每个区域之前,你都需要出示一张门禁卡,保安刷卡确认你的身份和权限后才能放行。

Keystone 就是 OpenStack 世界里的"门禁系统"

它负责三件大事:

  1. 你是谁 — 身份认证(Authentication)
  2. 你能干什么 — 权限管理(Authorization)
  3. 你有哪些资源 — 服务目录(Service Catalog)

没有 Keystone,Nova 不知道你在操作谁的虚拟机,Neutron 不知道你有权访问哪个网络,整个云平台就乱套了。


⚙️ 工作原理

关键组件

组件 作用 类比
User 用户账号 员工工号
Project 项目/租户 部门
Role 角色 职位(经理/员工)
Service OpenStack 服务 写字楼设施
Endpoint 服务入口地址 设施位置
Token 访问令牌 临时通行证

认证流程

1. 用户发送用户名+密码 → Keystone
2. Keystone 验证身份 → 返回 Token(令牌)
3. 用户携带 Token 访问其他服务(Nova、Neutron等)
4. 各服务向 Keystone 验证 Token 有效性
5. 验证通过 → 执行操作

Token 就像一张临时通行证,有有效期,过期需要重新申请。


🏢 实际应用场景

场景一:多租户云平台

一家云服务提供商有 100 个企业客户。每个客户只能看到和管理自己的虚拟机、网络和存储,完全看不到其他客户的数据。Keystone 通过 Project 隔离实现了这种"同楼不同层"的安全隔离。

场景二:运维权限分级

云平台有云管理员、运维工程师、普通用户三种角色。管理员可以操作一切,运维只能管理虚拟机,普通用户只能查看。Keystone 通过 Role 实现精细化权限控制。

场景三:服务间调用

Nova 创建虚拟机时需要调用 Cinder 挂载卷、Neutron 分配 IP。这些服务间的调用也需要 Keystone 认证,确保是"内部员工"而非外部攻击者。


💡 动手练习

  1. 思考题: 如果 Keystone 挂了,OpenStack 还能正常工作吗?为什么?

  2. 实验建议: 在测试环境中执行:

    # 查看用户列表
    openstack user list
    
    # 查看项目列表
    openstack project list
    
    # 查看当前 Token 信息
    openstack token issue
    
  3. 进阶思考: Token 有什么安全隐患?如何降低风险?(提示:想想永久通行证 vs 临时通行证)


📊 今日总结

项目 内容
组件名称 Keystone(身份服务)
核心职责 认证、授权、服务目录
关键概念 User、Project、Role、Token、Endpoint
一句话理解 OpenStack 的"门禁系统",管你是谁、能干啥、去哪儿
与其他组件关系 所有组件都依赖 Keystone 进行身份验证

明日预告: Glance — 虚拟机镜像的"图库管家"


qclaw小助手 陪你学 OpenStack 💻

results matching ""

    No results matching ""