当前位置:   article > 正文

OpenStack云计算平台-认证服务_openstack user create

openstack user create

目录

一、认证服务概览

二、安装和配置

1、先决条件

2、安全并配置组件

3、 配置 Apache HTTP 服务器

4、完成安装

三、创建服务实体和API端点

1、先决条件

2、创建服务实体和API端点

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

五、验证操作

六、创建 OpenStack 客户端环境脚本


一、认证服务概览

       OpenStack:term:`Identity service`为认证管理,授权管理和服务目录服务管理提供单点整合。其它OpenStack服务将身份认证服务当做通用统一API来使用。此外,提供用户信息但是不在OpenStack项目中的服务(如LDAP服务)可被整合进先前存在的基础设施中。

       为了从identity服务中获益,其他的OpenStack服务需要与它合作。当某个OpenStack服务收到来自用户的请求时,该服务询问Identity服务,验证该用户是否有权限进行此次请求

身份服务包含这些组件:

服务器:

        一个中心化的服务器使用RESTful 接口来提供认证和授权服务。

驱动:

       驱动或服务后端被整合进集中式服务器中。它们被用来访问OpenStack外部仓库的身份信息, 并且它们可能已经存在于OpenStack被部署在的基础设施(例如,SQL数据库或LDAP服务器)中。

模块:

       中间件模块运行于使用身份认证服务的OpenStack组件的地址空间中。这些模块拦截服务请求,取出用户凭据,并将它们送入中央是服务器寻求授权。中间件模块和OpenStack组件间的整合使用Python Web服务器网关接口

       当安装OpenStack身份服务,用户必须将之注册到其OpenStack安装环境的每个服务。身份服务才可以追踪那些OpenStack服务已经安装,以及在网络中定位它们。

二、安装和配置

1、先决条件

创建数据库

  1. mysql -u root -p
  2. CREATE DATABASE keystone;
  3. GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
  4. IDENTIFIED BY 'keystone';
  5. GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
  6. IDENTIFIED BY 'keystone';

生成一个随机值在初始的配置中作为管理员的令牌。

openssl rand -hex 10

 

2、安全并配置组件

安装包:

yum install openstack-keystone httpd mod_wsgi

编辑文件:

vim /etc/keystone/keystone.conf

使用前面步骤生成的随机数替换``ADMIN_TOKEN`` 值

初始化身份认证服务的数据库:

su -s /bin/sh -c "keystone-manage db_sync" keystone

初始化Fernet keys:

keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

3、 配置 Apache HTTP 服务器

编辑

  1. vim /etc/httpd/conf/httpd.conf
  2. ServerName controller

 

创建文件

  1. vim /etc/httpd/conf.d/wsgi-keystone.conf
  2. Listen 5000
  3. Listen 35357
  4. <VirtualHost *:5000>
  5. WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
  6. WSGIProcessGroup keystone-public
  7. WSGIScriptAlias / /usr/bin/keystone-wsgi-public
  8. WSGIApplicationGroup %{GLOBAL}
  9. WSGIPassAuthorization On
  10. ErrorLogFormat "%{cu}t %M"
  11. ErrorLog /var/log/httpd/keystone-error.log
  12. CustomLog /var/log/httpd/keystone-access.log combined
  13. <Directory /usr/bin>
  14. Require all granted
  15. </Directory>
  16. </VirtualHost>
  17. <VirtualHost *:35357>
  18. WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
  19. WSGIProcessGroup keystone-admin
  20. WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
  21. WSGIApplicationGroup %{GLOBAL}
  22. WSGIPassAuthorization On
  23. ErrorLogFormat "%{cu}t %M"
  24. ErrorLog /var/log/httpd/keystone-error.log
  25. CustomLog /var/log/httpd/keystone-access.log combined
  26. <Directory /usr/bin>
  27. Require all granted
  28. </Directory>
  29. </VirtualHost>

4、完成安装

启动 Apache HTTP 服务并配置其随系统启动:

systemctl enable --now httpd.service

三、创建服务实体和API端点

1、先决条件

  1. export OS_TOKEN=643dd9423324699e8143
  2. export OS_URL=http://controller:3535
  3. export OS_IDENTITY_API_VERSION=37/v3

2、创建服务实体和API端点

创建服务实体和身份认证服务:

  1. openstack service create \
  2. --name keystone --description "OpenStack Identity" identity

 创建认证服务的 API 端点:

  1. openstack endpoint create --region RegionOne \
  2. identity public http://controller:5000/v3
  3. openstack endpoint create --region RegionOne \
  4. identity internal http://controller:5000/v3
  5. openstack endpoint create --region RegionOne \
  6. identity admin http://controller:35357/v3

 

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

创建域``default``:

openstack domain create --description "Default Domain" default

 创建 admin 项目

  1. openstack project create --domain default \
  2. --description "Admin Project" admin

 创建 admin 用户:

  1. openstack user create --domain default \
  2. --password admin admin

创建 admin 角色:

openstack role create admin

 

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

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

创建``service``项目:

  1. openstack project create --domain default \
  2. --description "Service Project" service

 创建``demo`` 项目:

  1. openstack project create --domain default \
  2. --description "Demo Project" demo

创建``demo`` 用户:

  1. openstack user create --domain default \
  2. --password demo demo

 创建 user 角色:

openstack role create user

 

 添加 user``角色到 ``demo 项目和用户:

openstack role add --project demo --user demo user

五、验证操作

重置``OS_TOKEN``和``OS_URL`` 环境变量:

unset OS_TOKEN OS_URL

作为 admin demo 用户,请求认证令牌:

  1. openstack --os-auth-url http://controller:35357/v3 \
  2. --os-project-domain-name default --os-user-domain-name default \
  3. --os-project-name admin --os-username admin token issue
  4. openstack --os-auth-url http://controller:5000/v3 \
  5. --os-project-domain-name default --os-user-domain-name default \
  6. --os-project-name demo --os-username demo token issue

 

六、创建 OpenStack 客户端环境脚本

1、创建脚本

admin-openrc 

  1. vim admin-openrc
  2. export OS_PROJECT_DOMAIN_NAME=default
  3. export OS_USER_DOMAIN_NAME=default
  4. export OS_PROJECT_NAME=admin
  5. export OS_USERNAME=admin
  6. export OS_PASSWORD=ADMIN_PASS
  7. export OS_AUTH_URL=http://controller:35357/v3
  8. export OS_IDENTITY_API_VERSION=3
  9. export OS_IMAGE_API_VERSION=2
  10. vim demo-openrc
  11. export OS_PROJECT_DOMAIN_NAME=default
  12. export OS_USER_DOMAIN_NAME=default
  13. export OS_PROJECT_NAME=demo
  14. export OS_USERNAME=demo
  15. export OS_PASSWORD=DEMO_PASS
  16. export OS_AUTH_URL=http://controller:5000/v3
  17. export OS_IDENTITY_API_VERSION=3
  18. export OS_IMAGE_API_VERSION=2

 

2、使用脚本

  1. . admin-openrc
  2. . demo-openrc
  3. openstack token issue

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/455742
推荐阅读
相关标签
  

闽ICP备14008679号