openstack的keystone模块有用户管理和服务管理这两大块内容。这篇文章,先分析下用户管理。

一、概念理解

在讲用户管理,一定要先理解这三个概念:

  • 用户(user):现实生活中的你、我,他。在通俗点,就是一个人的账号名和密码。

openstack/keystone user-creat --name=xiaoming  --pass=password --email=xiaoming@qq,com

  • 租户(tenant):一个项目,也叫一个组织。一个租户里面,可以有一个或者多个用户。一个用户也可以属于不同租户。

openstack/keystone tenant-creat --name=ABC  --description="test"

  • 角色(role):在给定租户中用户可以操作的权限范围。

openstack/keystone role-creat --name=admin/_member_(openstack里面member前后各有一个下划线,很搞笑)

一般情况下,需要将用户、租户和角色关联起来,这样才能定义好。下面这个命令就是用户xiaoming在项目ABC里面具有_member_的权限。

keystone user-role-add --user=xiaoming --role=ABC --role=_member_

之前一直困恼我有个问题,就是角色到底有几种?原谅我是个实际派。是用户可以自己设置,还是openstack资源池统一预先设置。结合部署好的环境,我自己理解是openstack资源池里会统一定义好几种role,这块属于规划设计阶段的内容,并不对用户开放。

二、配置理解:

先来看一版部署环境中的user、tenant和role的设置。因为是已有环境且在neutron节点上查看的,需要先关联一个用户的环境变量。

#!/bin/sh

export LC_ALL=C

export OS_NO_CACHE='true'

export OS_TENANT_NAME='租户名'

export OS_PROJECT_NAME='租户名'

export OS_USERNAME='用户名'

export OS_PASSWORD='用户密码'

export OS_AUTH_URL='http://keystone的IP:5000/v2.0/'

export OS_AUTH_STRATEGY='keystone'

export OS_REGION_NAME='RegionOne'

export CINDER_ENDPOINT_TYPE='internalURL'

export GLANCE_ENDPOINT_TYPE='internalURL'

export KEYSTONE_ENDPOINT_TYPE='internalURL'

export NOVA_ENDPOINT_TYPE='internalURL'

export NEUTRON_ENDPOINT_TYPE='internalURL'

export OS_ENDPOINT_TYPE='internalURL'

export OS_VOLUME_API_VERSION=2

分别输入role是admin的用户和普通用户,来查看下通过keytone查看到的内容。

1、用admin用户

(1)查看user信息。可以查看到openstack资源池中的全部user信息。

[root@testn-controller ~]# keystone user-list

+----------------------------------+------------------------------------------------+---------+--------------------------------------+

|                id                |                      name                      | enabled |                email                 |

+----------------------------------+------------------------------------------------+---------+--------------------------------------+

| 8a0d7901a32a45448cea64f60d0ec38b |               0000500022502500               |   True  |             fsf@163.com             |

| 62cdd9cd7f054327b684e5560d518f7c |               00010022002761-112               |   True  |          zonghu@163.com          |

(2)查看tenant信息。可以查看到openstack资源池中的全部tenant信息。

[root@testn-controller ~]# keystone tenant-list

(3)查看role信息,可以发现有几个关键信息。

[root@testn-controller ~]# keystone role-list

+----------------------------------+------------------+

|                id                |       name       |

+----------------------------------+------------------+

| 9fe2ff9ee4384b1894awww78d3e92bab |     _member_     |

| 5d881fe3c6044357a9f09fa575fd6f5f |      admin       |

| ade7d991d9d740b0a8f540wwwb0296f | heat_stack_owner |

| 3f397a3d8c4940fd9fc9fff17d475fe8 | heat_stack_user  |

| 54a47b232bed4fceb52ff11c101206 |   tenant_admin   |

| ae48825c33f146ef9ffb30c4e5ef851a |       user       |

+----------------------------------+------------------+

(4)查看当前用户user所对应的tenant和role。

[root@testn-controller ~]# keystone user-role-list

+----------------------------------+-------+----------------------------------+----------------------------------+

|                id                |  name |             user_id              |            tenant_id             |

+----------------------------------+-------+----------------------------------+----------------------------------+

| 5d881fe3c604435fffffa575fd6f5f | admin | 64a80237dc464848566699263c481b37 | 3bd89ba6f56d4049ab05rrrre4656 |

+----------------------------------+-------+----------------------------------+----------------------------------+

在上面的命令下,只能查看当前用户的role。若是admin用户下,可以查看普通用户的role,需要使用这个命令:

[root@testn-controller ~]#keystone user-role-list --user 000220157100100111 --tenant 00022015710010111

+----------------------------------+--------------+----------------------------------+----------------------------------+

|                id                |     name     |             user_id              |            tenant_id             |

+----------------------------------+--------------+----------------------------------+----------------------------------+

| 9fe2ff9ee4384b192bab |   _member_   | fd5d743c873b8c06134 | 1fbffabf30ed4ea998cfe65e |

| 44ee8a6ad387486825e533a6 | tenant_admin | fd5d743cba038c06134 | 1fbffabf30ed4ea7708fe65e |

+-------------------------------------+

查看用户所对应的tenant。

[root@testn-controller ~]# keystone user-get userID

+----------+----------------------------------+

| Property |              Value               |

+----------+----------------------------------+

|  email   |                                  |

| enabled  |               True               |

|    id    | 64a80237dc4648488a6299263c481b37 |

|   name   |            lbaas-user            |

| tenantId | 3bd89ba6f56d4049ab05b56fd8de4656 |

| username |            lbaas-user            |

+----------+----------------------------------+

(5)查看用户获取到的token

[root@nfjd-testn-controller ~]# keystone token-get

/usr/lib/python2.7/site-packages/keystoneclient/shell.py:65: DeprecationWarning: The keystone CLI is deprecated in favor of python-openstackclient. For a Python library, continue using python-keystoneclient.

'python-keystoneclient.', DeprecationWarning)

+--

|  Property |                   Value   |

|  expires  |  2016-09-22T03:08:37Z                            |

|     id    | PKIZ_eJylWVl3qswSfe9fcd_P-lYYxMSH7wEFEWO3AZm63wQTZmPiwPDrbzWakznRe7OWa4mBprpq71274J9_4G-oGyb5zwgv-ME_CJumI1h0evvIzOQQEdWKRo_wW5WNRvp1b6Raeq056mwYF3GSx0NmYV2N9SpOzIdhnD-hJE-NQSUMh5URw4_W0DQX2mSbUp9kLCCtmW2uzbV9WErevvteFm0kewUbD5LVyOwjMzMr7NAd1vIdzqYu1sw-1uI-bqM9bqlMHFcy0yplQVItg2kRNWb_7TXoeBE-XbRa8pOXvpXO02kVGuOM-ckhNOwiSs0tRFKE5XjP73zfTHOIMENRWVQroziEKazMTyq9PfWnW8YXWdvNynfhtyI3s8cUO9OSafDJVIlIpkAMKiAq6Q1u9YZkdkJaqpB2ldAWp7PRFBYSC34hlRK482ZDfWW79Hvpw6JKaeDly8B-QEvf5okKzWIsWrJdrnRl7a43G5Z7o5WbrLFG5Jmrp0EgwBZIEa3ZhkqeRgM7CY3BGvGLYT9wB7sKpWK_muB0Xuwg2-M89Iu9500xj2I5sYVIezzMWl3Gaa8maY9Hvkcks_pzLZLno4GEFzxR04JJp5wUp-_5YM_4_0q4geE1kMjty8Lou5U_LXxKJC0hZwZuWEkV6uQSIlrUw5JZEW1YkFavsGbn1CEFPiayWkFFlj7x3LzipX1cTexqnt4csBM1s0yX0CwzW7zoSUR77JE26s1kWptrcQUXv8kLeQiNYr-Uu_zw_wn3wbCrEJSxFiMZgAL7Yw0PVUlC3-V3a9nfstXXHB9sMjwsfUXgaPRlDnd7B2VUvg3vFF2NHbfLB-H5SG9qXLIcPiXWqIxoZgksszPqwMmOKRFDl0mWy0QaZ7j5vSroY1m-qwp2dHGexTJprcMqMw8vsEZvcf0DrDdsxFmY5DQbZkyLW6y5CpS6QtjxEpZFPaLhGmdUxr4OJSUZZ2U08VLIfvZTdOin8M6JDj14wvZdicQBlE557kolcgLZSmR0Zc1CSaxWgV3w6CBvO0gkKFKpHFal_mOtvyq1k7NbeyS6yPaI66Si5giK6-YD2I23mGe5NHcoT17D_NUmlHr84sXxu3IXlm6X2BAUChQJkDf2Fg7PcpkIq4nanzWDuZ1v9Jlnj13Rns9ccucU9sIRamx7Zh8WV0h6JBjqpMqwWuLoNdO8fN5VgSUAKIlmLCWaVwKwRJLFkET1E8HQV_v6aVsfk45-yPqeBbYcytPnt1mHpBdQiYbnhSceXZL5r0iGOpaln1l2LsnQudr3rai-wpheDGOOBXRkmd4jvN8Zeg1aWDHHLlhpKVDCHLemTHwvZ-U4mxvT5CPJ0Hka8H1037a2c0nGgSSFIKyh70El3olqBhdAB57C79PBDDwDiGweGQPOgfbU0RLEDHETFh-5cFODtYAt0D3OcA21h-NO9hUu-7NMvVjSvmUleqHl16z8PRJ0ad2PZccNRy3N3AaBDvITM2bgHhdX7LstMwC6pd4S7XPdP5Ydfai7fKx7DnWH49Hv_ECvBJkOArAub0sVSPUmLHddyfj_VpOiOlLaTlbGGGwOKdA7roOpCmVWmGthe65rQd9DOG_mjvmrsKKLSug8KhgWfvWSJrQ235WZBmLhjxPcWgIkCMTUS7BEW7AxEtaKbO6oFeuM5lCkZb2h4uvN0K93-8WtoLd2ZemLCZPcdyaTSXUSluTbxKJz_SAktgcYaecaPWJkccQIulREP2ooulREP0aCXkI5O5IX564lOdNwDzHofDTDItFWGcwMEtMSWAgrcLcWvqdMoz8aTvS528Rg6XCvazZwDFsAW2txa1uRbAXN1i6JQRJebrBEIKpOBE0zkqkPAn6BQ2XGWKDeoAJ_MOiGKxDQ9XtikWRpjBu6-F5QuZ6iswTVeexhTa06H80FpvTWS3-w77yyezpwJKU4kkQRQMoBifW53Vmt8IeZABteShwqUodKtPQKYrgVDGIpaWNOsQz7Zo_PlSCunSr_OhO8N90vNzwqGDpPwsg2lHmDHTShPxa6_Z8Sjo4nJAUNrB2V2P4SOeNQR59npdNscIbV5_xB5xDo3aIvifZphdu8geYKkNTGANEEOJE3ANUCZyqMO2AunGGCtegiLkgcNFAe-VxYdw4FvAEHD1Qg-jAzexsYb3fgF2F6_xrS6AXT50IaopO6znxiKfqOpu9Y-gH_b-GP_hf8_zWnoGbof5EzUroNuHsFFCtHRLIqYpg9DB8quQonyty3RPCFBX-K8RtX0E_hnRMdutgbrNkhnHi7I5yVBL33hObFw9cXqnzkfDdon7ENdMmg_VX3-sGhxBXW-CSr_zgCoO-9YNRSR4dP3GPONKGZnWIJam8QoLLZYHBzc8PLEPW9swftr6K7yKl-NQKgb0a-Q1×××-hYQlS-F9E3Gvp_j33dkx8Ee_nUri7pVp8lTeN98LjoyQuCCXcblunQqUA3fFfAjiVwrSA-bRAM3tCudIH5pniU8s9e8GuFogKvBiKafvaABaFzfWyW_uvzRnT0gsqBSuRx-YsX-Eo30RfC2RIHPFPD5-le9VuC0aV6SJxTdz4tjk6ZrlnXmYYw-jBAXQRonOZzjRWk7Iw36J-XMUev6YdEozN6gXiyNxCNetETjA0zPNCAQrhfvJton1lQtCuD68R0gDq9g9knSruHzWIkdaJxwjzwwVeelv54z_viMaGDLXDkb59Ep0Z50gCz5pMbc7ACstXASFgR3-pBBxeZ7_Zoa0ngkyrSeuXLYogFLw7kb4gP0Gx3YK6aoDni4jWio0s5de5XIH315Jp3bGAljHd6Ol9v0yWEfWQpDF-ZyvXzEBpe2z2YNrOiZFxYsqJgjgVWHuTLiRVQXQUMOEiX1TInb2g5TnnofFtzbQzXkAw0URWIBsjjepepCit1ke-RaeDjfZoGgTh4cIyRSt0qjo2hGutDPK4qr9VnWM0NpIquDkZm5Hm41jIVD2PiwVl46Hl7qIiArV6lqVTzLGuiqZ4Xrkmx0vQ5ViuDX4tGcTX2fKVlgVUbmuofF8BYk1fyqlGKe2O8i4y6mJXkEFrmUP3wugTx9yXau3cs-nBoqXoc62rQ3gaiuu57wz8CNa_vtnWiPocjX05lUOkweNpeBWiX3vdGT_F1n_k7ocLLwZ_-XRaur-_zP9lyNo-A_cl8sRNzJ79fzhrdeKLXTV9YHp4P9cS4naD7vbg1U9nIb-jd3CbP9dOEhM8PxdXj0_yKWUNp2zbV8KlSHnZro324ax4DxcrDmWA-P61vyynKN8GsjSf-Tb3Uabar909_wu3CmdDBn-sr4WZFx6kx3bbalUhl199Xw6kWZsW1vmz2d1fCdo_aVawsWhzXlZz072a3nhmPZs0VoHBYp4sHW17I1_GkIGJwPYg1EVYIot1TeIvHjj5WFhK6u19IYTMOhq4ynzQ3yv5eThtVW_osiUb5xk9BmcSk3_eb7ULB8R9b_fdf1L3j0on2-r7rvwSZG9c= |

| tenant_id |     12fd2ff067b44f4ca231264a76977ac3   |

|  user_id  |      21117e39a227405d8dc5ee8c4678075f

2、用普通用户

就用下面的这个用户来查询。这个用户是一个全局的_member_角色,也是对应这个tenant的admin角色。在云数据中心,一般用户估计都是这样的设置。

[root@testn-controller ~]#keystone user-role-list --user 000220157100100111 --tenant 00022015710010111

+----------------------------------+--------------+----------------------------------+----------------------------------+

|                id                |     name     |             user_id              |            tenant_id             |

+----------------------------------+--------------+----------------------------------+----------------------------------+

| 9fe2ff9ee4384b192bab |   _member_   | fd5d743c873b8c06134 | 1fbffabf30ed4ea998cfe65e |

| 44ee8a6ad387486825e533a6 | tenant_admin | fd5d743cba038c06134 | 1fbffabf30ed4ea7708fe65e |

+-------------------------------------+

若是关联user000220157100100111来进行user、tenant和role的信息,发现返回全部是空,并提示说没有权限可以查询。user可以用keystone token-get查看到自己所对应的token。

三、使用说明:

可以有以下几种方式去访问或者使用keystone。

1、直接使用token环境变量

这个token是配置在/etc/keystone/keystone.conf里面.

admin_token=secrete_token

2、使用用户名、密码和租户名称环境变量

转载于:https://blog.51cto.com/12038998/1855067

openstack keystone 用户管理相关推荐

  1. openstack租户管理_openstack 租户、用户管理

    创建domain [root@cc01 ~]# openstack domain create --description "Default Domain" default +-- ...

  2. openstack运维实战系列(一)之keystone用户建立

    1. 前言 在生产环境中,使用openstack已经有1年多的时间了,苦于一直没有时间,加上工作带来的懒惰,一直迟迟没有对openstack方面的知识做个总结,趁着年底,把过去一年多在生产环境中所遇到 ...

  3. OpenStack新版UI管理skyline

    OpenStack新版UI管理skyline 文章目录 OpenStack新版UI管理skyline 1.社区介绍 2.页面预览 3.部署方式 1.新建数据库 2.创建服务凭证 3.创建配置文件 4. ...

  4. Openstack 之镜像管理服务Glance

    Openstack 一.Glance镜像服务基本概念 1.什么是Glance,它的作用是什么? 2.OpenStack镜像简介 3.OpenStack镜像服务管理和存储镜像 4.OpenStack镜像 ...

  5. linux根-文件系统-目录管理-文件管理-用户及权限详解-用户组-用户管理-权限管理...

    一 .Linux文件结构 文件结构是文件存放在磁盘等存贮设备上的组织方法.主要体现在对文件和目录的组织上. 目录提供了管理文件的一个方便而有效的途径. Linux使用标准的目录结构,在安装的时候,安装 ...

  6. 仿OpenStack开发云计算管理软件”--熟悉开发环境

    他山之石,可以成云 --咆哮金刚猪的云烹饪之路 第一周(7月13日-7月19日):熟悉开发环境 实验内容: 云平台功能模块分析 云平台架构设计 Flask开发环境搭建 Flask可运行的代码框架 实验 ...

  7. openstack用户列表_什么是OpenStack超级用户?

    openstack用户列表 什么是OpenStack超级用户? 或更恰当地说, 谁是OpenStack超级用户? 随着OpenStack不断成熟并逐渐进入生产环境,对用户的关注也在不断增长. 因此,为 ...

  8. Openstack的用户登录流程

    openstack的用户登录,需要获得集中权限. token 只需要提供用户名和密码即可获得,接口 http://public_url/tokens method:POST body:{"a ...

  9. Linux 学习之路 (三):用户管理命令详解

    用户管理命令详解 useradd [options] USERNAME ​ -u UID(>=500,并且与其他用户无重复) ​ -g GID(基本组,组必须事先存在) ​ -G GID,- ( ...

最新文章

  1. kafka常用的命令
  2. JavaScript一次性定时器的设置和取消
  3. PHP-FPM.CONF配置:日志文件、端口设置、动态静态选择设置
  4. CNN-3: VGGNet 卷积神经网络模型
  5. Redis_简单使用
  6. mybatis一级,二级缓存。缓存带来的脏读问题
  7. 边缘设备上的实时AI人员检测:使用预先训练的SSD模型检测人员
  8. python之判断一个值是不是可以被调用
  9. 我们写APP和小程序或者H5用的前端UI--ColorUI
  10. 从迁移学习到图像合成
  11. 华为防火墙IPSec详解与配置实验
  12. 使用树莓派实现微信远程监控
  13. ADS1292R的使用
  14. SQL语句中不完整数据的补足处理技巧
  15. JavaScript之BOM(BOM构成、常用事件)
  16. ASM和AAM的一些代码资源
  17. 小程序开发入门常见小问题-(1)
  18. react中用useEffect模拟组件生命周期
  19. 新手做网站只需要4个步骤
  20. 计算机科学期刊论文格式,计算机科学期刊投稿论文模板

热门文章

  1. 你们要的公众号运营教程来了!
  2. canvas+vue实现图片的缩放、拖拽
  3. 802.1x身份验证
  4. TLS-SRTP协议详解
  5. Oracle 预借差旅费,关于申请出差费用实报的请示-柳州工人医院.DOC
  6. Teamcenter RAC 查找数据集并获取数据集中文件
  7. xgboost算法预测彩票中奖号
  8. JavaScript中的数据转换
  9. 02-微信小程序开发-模板与配置
  10. 分析用户对网络广告点击的看法