连接keystone两种方式:

  • 一种使用命令
  • 一种使用环境变量

1、通过环境变量方式连接keystone(适合在初始化场景使用)

  • 配置认证令牌环境变量
export OS_TOKEN=07081849f55281652dac

备注:07081849f55281652dac这个值与/etc/keystone/keystone.conf配置文件中的admin_token一致

  • 配置连接到keystone的地址
export OS_URL=http://192.168.137.11:35357/v3

设置keystone的admin(35357)端口,v3是用第三个版本

  • 配置认证API版本
export OS_IDENTITY_API_VERSION=3

2、通过命令方式连接keystone(需要在创建域、项目、用户后使用)

openstack --os-auth-url http://192.168.137.11:35357/v3 \
--os-project-domain-name default --os-user-domain-name default \
--os-project-name admin --os-username admin token issue

创建域、项目、用户和角色

  • 创建default域
openstack domain create --description "Default Domain" default

提示:--description是域的描述,最后一个是域的名称

  • 创建admin项目
openstack project create --domain default --description "Admin Project" admin

命令格式:openstack project --domain 域 --description "描述" 项目名

作用:管理所有的云主机

  • 创建admin用户
openstack user create --domain default --password-prompt admin

  • 创建admin角色

在一个项目里面有多个角色,我们只能创建在配置文件中设置的角色。

配置文件路径/etc/keystone/policy.json,我们可以在这个文件自定义新的角色。

openstack role create admin

  • 添加admin角色到admin项目和用户上

把admin用户,添加到admin项目,并授权admin的角色

或者可以说:admin项目添加一个admin用户,它的角色是admin

openstack role add --project admin --user admin admin

小结:前三个环境变量是为了连接到keystone上,后面的就是为了创建项目用户角色,给域、项目、用户和角色做了一个关联。

demo环境

  • 创建一个demo项目

demo项目就类似于我们去阿里云上注册了一个账号,基本流程跟创建admin是一样的

openstack project create --domain default --description "Demo Project" demo
  • 创建demo用户
openstack user create --domain default --password-prompt demo
  • 创建user角色
openstack role create user
  • 添加user角色到demo项目和用户
openstack role add --project demo --user demo user

重要服务与keystone

  • 创建一个service项目

各个服务(Glance、Nova、Neutron)之间需要去访问keystone,那么访问keystone就需要做认证,就需要我们创建用户,这些用户需要属于一个项目。所以我们要先创建一个service项目,我们还需要给每个项目单独创建一个用户。

openstack project create --domain default --description "Service Project" service
  • 创建glance用户
openstack user create --domain default --password-prompt glance

授权

openstack role add --project service --user glance admin
  • 创建nova用户
openstack user create --domain default --password-prompt nova

授权

openstack role add --project service --user nova admin
  • 创建neutron用户
openstack user create --domain default --password-prompt neutron

授权

openstack role add --project service --user neutron admin

OpenStack 认证服务 KeyStone连接和用户管理(四)的更多相关文章

  1. OpenStack 认证服务 KeyStone连接和用户管理(五)

    一) 创建环境变量链接keyston vim adminrc export OS_USERNAME=admin export OS_PASSWORD=redhat export OS_PROJECT_ ...

  2. 云计算管理平台之OpenStack认证服务Keystone

    一.keystone简介 keystone是openstack中的核心服务,它主要作用是实现用户认证和授权以及服务目录:所谓服务目录指所有可用服务的信息库,包含所有可用服务及其API endport路 ...

  3. OpenStack 认证服务 KeyStone部署 (四)

    Keystone作用: 用户与认证:用户权限与用户行为跟踪: 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点 SOA相关知识 Keystone主要两大功能用户认证和服务目录(相当于一个注 ...

  4. OpenStack 认证服务 KeyStone部署(三)

    Keystone 介绍 Keystone作用: 用户与认证:用户权限与用户行为跟踪: 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点 SOA相关知识 Keystone主要两大功能用户认证 ...

  5. OpenStack 认证服务 KeyStone 服务注册(五)

    创建服务实体和API端点 创建服务 openstack service create --name keystone --description "OpenStack Identity&qu ...

  6. OpenStack 认证服务 KeyStone 服务注册(六)

    一)检查keystone是否安装配置成功 1.1删除环境变量的配置 unset OS_AUTH_URL redhat 1.2 请求令牌认证 admin用户,请求认证令牌 openstack --os- ...

  7. 【openstack N版】——认证服务keystone

    一. 基础环境 1.1环境介绍 linux-node1(控制节点) #系统版本 [root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux r ...

  8. OpenStack入门篇(七)之认证服务Keystone

    一.Keystone的概述 Keystone是Openstack的组件之一,用于为Openstack家族中的其它组件成员提供统一的认证服务,包括身份验证,令牌的发放和校验,服务列表,用户权限的定义等. ...

  9. OpenStack实践系列②认证服务Keystone

    OpenStack实践系列②认证服务Keystone 三.实战OpenStack之控制节点3.1 CentOS7的时间同步服务器chrony 下载chrony # yum install -y chr ...

随机推荐

  1. BugPhobia开发篇章:Alaph阶段Scurm Meeting

    [github]   https://github.com/bugphobia/XuebaOnline 0x01 :目录与摘要 If you weeped for the missing sunset ...

  2. Java每日学习笔记1

    单选按钮 JRadioButton radioButton1 = new JRadioButton("Java");// 创建单选按钮 contentPane.add(radioB ...

  3. tomcat文件中server.xml 实例说明

    <?xml version='1.0' encoding='utf-8'?>   # 这是server类, 指定一个tomcat的应用实例 <Server port="80 ...

  4. [转]string和stringstream用法总结

    转自:http://blog.csdn.net/xw20084898/article/details/21939811 作者:xw20084898 一.string string 是 C++ 提供的字 ...

  5. vue开发完成后打包后图片路径不对

    用vue做了一个小的移动端项目,从头到尾做下来,感觉自己好多东西都没弄清楚过.也学到了很多,已整理笔记在自己电脑上,但是比较零散,空了再来仔细整理整理. 于是,上周五模拟好数据(接口还未写),准备打包 ...

  6. teamcity和jmeter结合进行接口自动化测试

    (1)从teamcity官网下载jmeter插件:https://teamcity.jetbrains.com/repository/download/TeamCityPluginsByJetBrai ...

  7. 通过session 怎么防止表单的重复提交!

    1.在提交表单的时候使用隐藏域: String tokenValue=new Date().getTime(); <input type="hidden" name=&quo ...

  8. 隐藏基于Dialog的MFC的主窗体

    最近需要做一个主窗体常态隐藏的程序,类似360卫士那样,只有托盘图标常显示.本以为隐藏主窗体很简单,但遇到了意想不到的情况. 无效的做法 最初的想法是设置主对话框资源的 Visiable 属性为 fa ...

  9. UVA11248_Frequency Hopping

    给一个有向网络,求其1,n两点的最大流量是否不小于C,如果小于,是否可以通过修改一条边的容量使得最大流量不小于C? 首先对于给定的网络,我们可以先跑一遍最大流,然后先看流量是否大于C. 然后保存跑完第 ...

  10. Python学习---字符串操作

    ### 截取字符串然后拼接 str = "Hello World!" str2 = str[:6] + "tyche !" print(str2) ===> ...