Keystone简介
Keystone(OpenStack Identity Service)是OpenStack框架中,负责身份验证、服务规则和服务令牌的功能, 它实现了OpenStack的Identity API。Keystone类似一个服务总线, 或者说是整个Openstack框架的注册表, 其他服务通过keystone来注册其服务的Endpoint(服务访问的URL),任何服务之间相互的调用, 需要经过Keystone的身份验证, 来获得目标服务的Endpoint来找到目标服务。
Keystone 中主要涉及到如下几个概念:User、Tenant、Role、Token。下面对这几个概念进行简要说明。
- User:顾名思义就是使用服务的用户,可以是人、服务或者是系统,只要是使用了 Openstack 服务的对象都可以称为用户。
- Tenant:租户,可以理解为一个人、项目或者组织拥有的资源的合集。在一个租户中可以拥有很多个用户,这些用户可以根据权限的划分使用租户中的资源。
- Role:角色,用于分配操作的权限。角色可以被指定给用户,使得该用户获得角色对应的操作权限。
- Token:指的是一串比特值或者字符串,用来作为访问资源的记号。Token 中含有可访问资源的范围和有效时间。
很多时候,我们都是在黑白窗口上敲命令去实现相应的功能。
keystone的命令在以前的版本中是使用keystone开头的 比如:keystone user list
但是现在的话,如果你安装的是较新的keystone,你就会发现,这命令会报错:
这是因为现在的keystone命令已经全部改成了openstack,所以上面的命令 应该是 openstack user list。
下面的是keystone常用的命令行:
列出所有的用户
$ openstack user list
列出认证服务目录
$ openstack catalog list
下面的是group user role project token的命令,在下一篇会对于这些命令的参数做一下说明 解释
group add user Add user to group
group contains user Check user membership in group
group create Create new group
group delete Delete group(s)
group list List groups
group remove user Remove user from group
group set Set group properties
group show Display group details
project create Create new project
project delete Delete project(s)
project list List projects
project set Set project properties
project show Display project details
role add Adds a role assignment to a user or group on a domain or project
role assignment list List role assignments
role create Create new role
role delete Delete role(s)
role list List roles
role remove Removes a role assignment from domain/project : user/group
role set Set role properties
role show Display role details
token issue Issue new token
token revoke Revoke existing token
user create Create new user
user delete Delete user(s)
user list List users
user password set Change current user password
user set Set user properties
user show Display user details