简述及概念
keystone是OpenStack的组件之一,用于OpenStack家族中的其他组件成员提供统一的认证服务
所有的服务之间的授权和认证都需要经过keystone
因此是云平台中第一个需要安装的服务
概念
作为OpenStack的基础支持服务,keystone坐下面这几件事
1、管理用户及其权限
2、维护OpenStack services的endpoint
3、authentication(认证)和authorization(鉴定)
学习keystone 得理解下面的个概念
user | 用户 |
---|---|
credentials | 身份信息 |
authenticatio | 身份验证 |
token | 令牌 |
project | 项目 |
service | 服务 |
endpoint | 服务端点 |
role | 角色 |
user
指代任何使用OpenStack的实体,可以是真正的用户,其他系统或者服务。
当user请求访问OpenStack时,keystone会对其进行验证
admin
openstack平台的超级管理员,负责openstack服务的管理和访问权限
demo
常规(非管理)任务应该使用无特权的项目和用户,所有要创建 demo 项目和 demo 用户
除了 admin 和 demo,OpenStack 也为 nova、cinder、glance、neutron 服务创建了相应的 User。 admin
(计算、存储、镜像、网络)
也可以管理这些 User。
credentials
是user用来证明自己身份的信息
可以是用户名/密码、token、API key、其他高级方式
authentication
是kenstone验证user身份的过程
token
是由数据和字母组达成的自符串
token用作访问service的credential
service会通过kenstone验证token的有效性
默认有效期24小时
project
用于OpenStack的资源进行分组和隔离
根据OpenStack服务对象不同project可以是一个客户、部门、或者项目组
注意事项:
资源是属于project的
在OpenStack中 、tenant/project/account是通用的
每个user必须挂在project里才能访问该project的资源,可以访问多个project
service
每个service都可以提供若干个endpoint 。user通过endpoint访问资源和执行操作
endpoint
是一个网络上可访问的地址,通常是一个URL
service通过endpoint暴露自己的API
keystone负责管理和维护每个service的endpoint
role
安全包含两部分:authentication(认证)和authorization(鉴定)
authentication解决’你是谁‘的问题
authorization解决’你能干什么‘的问题
keystone借助role实现authentication
keystone定义role
可以给user分配多个role
OpenStack默认配置区分admin和非admin role
OpenStack系统基本角色有两个
一个是管理员admin
一个是租户_member_
基本架构与访问流程
token:用来声场和管理token
catalong:用阿里存储和管理server/endpoint
ldentity:用来管理tenant/user/rele和验证
policy:用来管理访问权限
上述就是keystone,如有什么错误,欢迎大家指正!!!