|NO.Z.00006|——————————|CloudVirtualiZation|——|OpenStack&组件.V01|——|openstack-keystone|组件说明|
一、组件构建:
### --- keystone存在的意义
~~~ 什么是keystone:keystone是OpenStack Identity Service的项目名称,
~~~ 是一个#负责身份管理与授权的组件
~~~ # 主要功能:#实现用户身份认证,基于角色的权限管理,
~~~ 及openstack其他组件的访问地址和安全策略管理
~~~ 为什么需要keystone:Keystone项目的
~~~ 主要目的是给openstack的各个组件(Nova/cinder/glance...)提供一个统一的验证方式
二、keystone的功能
### --- 用户管理:
~~~ Account账户:管理账户
~~~ Authentication身份认证:颁发身份认证
~~~ Authorization授权:进行授权
~~~ 服务目录管理:到哪里去访问服务的。
三、认证服务中的关键字:
### --- 认证服务中的关键字:
~~~ # User(用户)
~~~ 一个人(去访问openstack服务的用户)、系统或服务在OpenStack中的数字表示。
~~~ 已经登录的用户分配令牌环(#一组字符串;每隔一段时间令牌环会失效,有有效期)
~~~ 以访问资源,用户可以直接分配给特定的租户。就像隶属于每个组
~~~ # Credentials(凭证)
~~~ 用于确认用户身份的数据,例如:用户名和密码,用户名和API key,
~~~ 或由认证服务的身份验证令牌
~~~ # Authentication(验证)
~~~ 确认用户身份的过程
~~~ # Token(令牌)
~~~ 一个用于访问OpenStack API和资源的字母数字字符串,
~~~ 一个令牌可以随时撤销,并且持续一段时效。
~~~ # Tenant(租户)
~~~ 一个#组织或孤立资源的容器。
~~~ 租户和可以组织或隔离认证对象、根据服务运营的要求、
~~~ 一个租户可以映射到客户、账户、组织或项目。
~~~ # Service(服务)
~~~ OpenStack服务,例如计算服务(Nova),对象存储(swift),或镜像服务(glance)
~~~ 它提供了一个或多个端点,供用户访问资源和执行操作。
~~~ # Endpoint(端点)
~~~ 一个用于访问某个服务的可以通过网络进行访问的地址;通常是一个URL地址。
~~~ #一个url路径只能对应一个端点,一个端点可以对应多个url路径
~~~ # Role(角色)
~~~ 定制化的包含特定用户权限和特权的权限集合;
~~~ # Keystone Client(keystone命令行工具)
~~~ keystone的命令行工具。通过该工具可以创建用户。角色,服务和端点等。
~~~ 客户端,有java/python/go语言开发的。
四、名词解释:
### --- 名词解释:
~~~ 用户:张三 // user
~~~ 凭证:身份证 // credentials
~~~ 验证:验证身份证 // authentication
~~~ 令牌:房卡 // token
~~~ 租户:酒店 // tenant
~~~ 服务:住宿/餐饮 // service
~~~ 端点:路径 // endpoint
~~~ 角色:VIP等级 // role
五、组件之间沟通方式

### --- 用户认证过程:
~~~ 用户和keystone之间的交互过程
~~~ user+Passwd——>返回一个Token-1/token上会标识你所具有的权限——>不知道租户列表的话
~~~ ——>tenant list——>确认令牌环的正确性(可选)
~~~ 用户知道访问什么端点令牌环认证成功了,——>如Nova——>keystone会返回一个token-2
~~~ ——>用户拿着token-2去访问端点的请求——>endpoint会拿着令牌环去keystone认证
~~~ ——>认证成功会告知Nova:认证成功——>Nova才会给他提供服务


### --- 组件之间的交互过程
### --- 用户-角色-服务 交互图
~~~ 一个用户可以请求多个租户
~~~ 一个用户可以绑定到不同的角色
~~~ 一个角色可以关联到不同的服务
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv012-openstack
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通