Identity Service(Keystone)认证服务

       Keystone是OpenStack Identity Service的项目名称,是一个负责身份管理与授权的组件

主要功能

       实现用户的身份认证,基于角色的权限管理,及OpenStack其他组件的访问地址和安全策略管理,主要目的是给整个OpenStack的各个组件提供一个统一的验证方式

用户管理

Account:账户

Authentication:身份认证

Authorization:授权

服务目录管理

展示各个组件的组件的URL路径,告诉用户到哪里访问对应的服务


组件


user(用户)             #  一个人、系统或服务在OpenStack中的数字表示。已经登录的用户分配令牌以访问资源。用户可以直接分配给特定的租户,就像隶属于每个组。Credentials(凭证)      #  用于确认用户身份的数据。例如:用户名和密码,用户名和API key,或由认证服务提供的身份验证令牌Authentication(验证)   #  确认用户身份的过程。Token(令牌)    #  一个用于访问OpenStack API和资源的字母数字字符串。一个令牌可以随时撤销,并且持续一段时间有效Tenant(租户)   #  一个组织或孤立资源的容器。租户和可以组织或隔离认证对象。根据服务运营的要求,一个租户可以映射到客户、账户、组织或项目Service(服务)  #  OpenStack服务,例如计算机服务(nova),对象存储服务(swift),或镜像服务(glance),它提供了一个或多个端点,供用户访问资源和执行操作。Endpoint(端点) #  一个用于访问某个服务的可以通过网络进行访问的地址,通常是一个URL地址,一个端点确定一个服务,一个服务可以有多个端点Role(角色)     #  定制化的包含特定用户权限和特权的权限集合Keystone Client(keystone命令行工具)  #  Keystone的命令行工具。通过该工具可以创建用户,角色,服务和端点等


用户认证过程


       用户去向keystone发起认证凭证,keystone向用户返回token,user带着token值去向keystone查看当前能为user提供服务的集合有哪些,keystone返回租户列表,user访问nova服务,user通过认证,keystone返回usertoken值以及端点(endpoint),然后user带着token去访问端点(endpoint),然后端点带着token值去keystone去验证token,keystone验证成功后告诉nova验证成功,nova开始处理,处理完返回结果给user

openstack swift部署win openstack swift组件_用户名


组件之间交互过程


       user创建一台虚拟机,首先user向keystone发起认证凭证,keystone返回user一个token值,然后user带着token值以及请求虚拟机的数据去访问nova组件,nova服务收到token以及请求虚机的数据后向keystone验证token值的准确性,验证正完毕后带着token值以及请求镜像的数据访问glance组件,glance组件收到数据后向keystone发起验证请求,验证通过后glance返回镜像到nova,然后nova带着token及请求向Neutron服务,Neutron继续带着token去keystone组件验证token值,验证通过则返回对应的网络,返回成功,nova向user返回成功,此时user成功创建一台虚拟机。

openstack swift部署win openstack swift组件_用户名_02


用户-角色-服务交互


1、一个用户可以有多个租户

2、一个用户可以绑定到多个角色

3、一个角色可以关联不同的服务

openstack swift部署win openstack swift组件_swift 组件化_03

备注:此文章为本人学习笔记,各位大佬不喜勿喷,谢谢!