设为首页 收藏本站
查看: 1108|回复: 0

[经验分享] openstack keystone 用户管理

[复制链接]

尚未签到

发表于 2018-6-1 06:29:58 | 显示全部楼层 |阅读模式
  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环境变量
DSC0000.jpg

  这个token是配置在/etc/keystone/keystone.conf里面.
  admin_token=secrete_token
  2、使用用户名、密码和租户名称环境变量
DSC0001.jpg

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-496737-1-1.html 上篇帖子: openstack部署(一) 下篇帖子: openstack中keystone
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表