openstack-keystone入门

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34123420/article/details/81259439

作用:身份验证,令牌发放和校验、服务列表、用户权限定义

不适合新手看,想到哪儿写到哪儿,写一些关于自己在看书学习的过程中对一些知识的理解。

Service决定每个Role能干什么事情,而每个User可以给他分配多个Role,进而具备了多服务的操作权限

一个用户可以属于多个租户(Project),“目前来看,用户与租户之间是通过角色相联系的?”,在horizon上创建用户会有添加到那个租户的选项。

用户登录时,使用账号密码,之后keystone会给他一个临时的令牌,用户和各服务之间会关联一个正式的token,在用户进行某些操作之后

阅读更多

openstack-keystone服务无法启动

03-23

[root@controller ~]# keystone-all --config-file=/etc/keystone/keystone.confrnNo handlers could be found for logger "oslo_config.cfg"rn2016-03-23 10:28:29.060 3554 CRITICAL keystone [-] ConfigFileNotFound: An unexpected error prevented the server from fulfilling your request.rn2016-03-23 10:28:29.060 3554 ERROR keystone Traceback (most recent call last):rn2016-03-23 10:28:29.060 3554 ERROR keystone File "/usr/bin/keystone-all", line 10, in rn2016-03-23 10:28:29.060 3554 ERROR keystone sys.exit(main())rn2016-03-23 10:28:29.060 3554 ERROR keystone File "/usr/lib/python2.7/site-packages/keystone/cmd/all.py", line 38, in mainrn2016-03-23 10:28:29.060 3554 ERROR keystone eventlet_server.run(possible_topdir)rn2016-03-23 10:28:29.060 3554 ERROR keystone File "/usr/lib/python2.7/site-packages/keystone/server/eventlet.py", line 135, in runrn2016-03-23 10:28:29.060 3554 ERROR keystone paste_config = config.find_paste_config()rn2016-03-23 10:28:29.060 3554 ERROR keystone File "/usr/lib/python2.7/site-packages/keystone/config.py", line 91, in find_paste_configrn2016-03-23 10:28:29.060 3554 ERROR keystone raise exception.ConfigFileNotFound(config_file=paste_config_value)rn2016-03-23 10:28:29.060 3554 ERROR keystone ConfigFileNotFound: An unexpected error prevented the server from fulfilling your request.rn这是我查询配置文件出现的问题。rnrnrnrn2016-03-23 10:24:25.434 3461 ERROR keystone Traceback (most recent call last):rn2016-03-23 10:24:25.434 3461 ERROR keystone File "/usr/bin/keystone-all", line 10, in rn2016-03-23 10:24:25.434 3461 ERROR keystone sys.exit(main())rn2016-03-23 10:24:25.434 3461 ERROR keystone File "/usr/lib/python2.7/site-packages/keystone/cmd/all.py", line 38, in mainrn2016-03-23 10:24:25.434 3461 ERROR keystone eventlet_server.run(possible_topdir)rn2016-03-23 10:24:25.434 3461 ERROR keystone File "/usr/lib/python2.7/site-packages/keystone/server/eventlet.py", line 156, in runrn2016-03-23 10:24:25.434 3461 ERROR keystone serve(*servers)rn2016-03-23 10:24:25.434 3461 ERROR keystone File "/usr/lib/python2.7/site-packages/keystone/server/eventlet.py", line 88, in servern2016-03-23 10:24:25.434 3461 ERROR keystone server.launch_with(launcher)rn2016-03-23 10:24:25.434 3461 ERROR keystone File "/usr/lib/python2.7/site-packages/keystone/server/eventlet.py", line 54, in launch_withrn2016-03-23 10:24:25.434 3461 ERROR keystone self.server.listen()rn2016-03-23 10:24:25.434 3461 ERROR keystone File "/usr/lib/python2.7/site-packages/keystone/common/environment/eventlet_server.py", line 110, in listenrn2016-03-23 10:24:25.434 3461 ERROR keystone backlog=backlog)rn2016-03-23 10:24:25.434 3461 ERROR keystone File "/usr/lib/python2.7/site-packages/eventlet/convenience.py", line 43, in listenrn2016-03-23 10:24:25.434 3461 ERROR keystone sock.bind(addr)rn2016-03-23 10:24:25.434 3461 ERROR keystone File "/usr/lib64/python2.7/socket.py", line 224, in methrn2016-03-23 10:24:25.434 3461 ERROR keystone return getattr(self._sock,name)(*args)rn2016-03-23 10:24:25.434 3461 ERROR keystone error: [Errno 98] Address already in usernrnrnrnrn这是我在/var/log/keystone/keystone.log查到的。rn

换一批

openstack-keystone中的权限管理理解

03-17

from:rn约稿人:华为云计算开发管理部 李云伟rnrn1)endpoint即提供服务的地址,服务(service)是个抽象的概念,endpoint需要绑定在service上;rnrn2)权限即是否被允许访问openstack中某些服务;rnrn3)角色代表一系列的权限;rnrn4)用户需要绑定在相应的角色上,才能拥有这个角色的权限;rnrn5)用户可以属于一个或者多个租户,用户在同一个租户中可以有一个或者多个角色;rnrn以下摘自网络资源:rnKeystone基本概念介绍rn1. UserrnUser即用户,他们代表可以通过keystone进行访问的人或程序。Users通过认证信息(credentials,如密码、APIKeys等)进行验证。rn2. TenantrnTenant即租户,它是各个服务中的一些可以访问的资源集合。例如,在Nova中一个tenant可以是一些机器,在Swift和Glance中一个tenant可以是一些镜像存储,在Quantum中一个tenant可以是一些网络资源。Users默认的总是绑定到某些tenant上。rn3. RolernRole即角色,Roles代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的镜像。Users可以被添加到任意一个全局的或租户内的角色中。在全局的role中,用户的role权限作用于所有的租户,即可以对所有的租户执行role规定的权限;在租户内的role中,用户仅能在当前租户内执行role规定的权限。rn4. ServicernService即服务,如Nova、Glance、Swift。根据前三个概念(User,Tenant和Role)一个服务可以确认当前用户是否具有访问其资源的权限。但是当一个user尝试着访问其租户内的service时,他必须知道这个service是否存在以及如何访问这个service,这里通常使用一些不同的名称表示不同的服务。在上文中谈到的Role,实际上也是可以绑定到某个service的。例如,当swift需要一个管理员权限的访问进行对象创建时,对于相同的role我们并不一定也需要对nova进行管理员权限的访问。为了实现这个目标,我们应该创建两个独立的管理员role,一个绑定到swift,另一个绑定到nova,从而实现对swift进行管理员权限访问不会影响到Nova或其他服务。rn5. EndpointrnEndpoint,翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。因此,在keystone中包含一个endpoint模板(endpointtemplate,在安装keystone的时候我们可以在conf文件夹下看到这个文件),这个模板提供了所有存在的服务endpoints信息。一个endpointtemplate包含一个URLs列表,列表中的每个URL都对应一个服务实例的访问地址,并且具有public、private和admin这三种权限。publicurl可以被全局访问(如http://compute.example.com),privateurl只能被局域网访问(如http://compute.example.local),adminurl被从常规的访问中分离。rnrnrnrn

没有更多推荐了,返回首页