一、Identity服务为每个OpenStack服务提供身份验证服务。

身份验证服务使用域,项目,用户和 角色的组合。

1、创建service 项目

# openstack project create --domain default \
--description "Service Project" service

查看创建好的项目:

# openstack project list
2、创建demo项目和用户
创建demo项目:

# openstack project create --domain default --description "Demo Project" demo

创建demo用户:

# openstack user create --domain default --password=demo demo

查看创建好的用户:
# openstack user list

创建user角色:
# openstack role create user
查看创建好的角色:
# openstack role list
将user角色添加到项目的demo用户demo:
# openstack role add --project demo --user demo user

二、上述操作完成后可以进行验证操作

1、取消设置临时 变量OS_AUTH_URL和OS_PASSWORD环境变量
# unset OS_AUTH_URL OS_PASSWORD
2、作为admin用户,请求身份验证令牌:

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

会返回一条password:(输入admin用户的密码)

3、作为demo用户,请求身份验证令牌:

# openstack --os-auth-url http://node1:5000/v3 \
--os-project-domain-name default --os-user-domain-name default \
--os-project-name demo --os-username demo token issue

会返回一条password:(输入demo用户的密码)

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

创建脚本:
1、创建客户端环境的脚本admin和demo 项目和用户
# vim admin_openrc

export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://node1:35357/v3
export OS_IDENTITY_API_VERSION=
export OS_IMAGE_API_VERSION=
# 替换ADMIN_PASS为您admin在Identity服务中为用户选择的密码

2、创建和编辑demo-openrc文件并添加以下内容
# vim demo_openrc

export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=DEMO_PASS
export OS_AUTH_URL=http://node1:5000/v3
export OS_IDENTITY_API_VERSION=
export OS_IMAGE_API_VERSION=
# 替换DEMO_PASS为您demo在Identity服务中为用户选择的密码

使用脚本:
1、加载admin-openrc文件以使用Identity服务的位置以及admin项目和用户凭据填充环境变量:
# source admin_openrc
2、请求身份验证令牌:
# openstack token issue

三、OpenStack创建域,项目,用户和角色,验证,创建客户端脚本的更多相关文章

  1. keystone 域-项目-用户-角色

    https://docs.openstack.org/keystone/latest/  官方文档 domain是认证边界,项目.用户属于域,然后通过角色把用户和项目关联起来.  openstack  ...

  2. Spring-Security (学习记录三)--读取数据库中的用户和角色

    目录 1.先将hibernate的环境整合进来 2.创建一个数据库security,执行security.sql 3.修改spring-security.xml,采用数据库的方式读取用户跟角色 4.u ...

  3. Nodejs express中创建ejs项目,解决express下默认创建jade,无法创建ejs问题

    最近在看<Node.js开发指南>,看到使用nodejs进行web开发的时候,准备创建ejs项目遇到问题了, 书上命令为: express -t ejs microblog 可是执行后,仍 ...

  4. keystone 域中项目、用户、角色的创建

    keystone命令现在全是改成了openstack!!!!!!!!!!!!! Create the service project: $ openstack project create --dom ...

  5. npm 创建vue项目(指定目录进行创建)

    1.先安装node,js和npm 检验mpm 和node的方式是 npm -v  / node -v 2.安装最新版本 npm install @vue/cli -g 意外安装老版本的是代码  npm ...

  6. QC ALM 11创建域、项目和用户

    一旦HP-ALM安装,我们仅仅能继续创建域.项目和用户使用后的ALM工作.以下是步骤来创建项目.域和用户.       一.创建域 1.对于创建域,第一步是进入站点管理员页面.开展QC使用URL - ...

  7. 邮件服务配置(虚拟域&虚拟用户)

    邮件服务配置(虚拟域&虚拟用户) 现在我做的是: Linux + httpd + php + mariadb + postfix + dovecot + phpMyAdmin + postfi ...

  8. 终端指令操作创建Django项目

    需求:通过Django创建一个用户表和权限表. 用户表包括:用户名,邮箱,密码,管理权限. 权限表包括:普通用户,管理用户,超级用户. 权限表和用户表有一对多的关系,即用户表中的每条数据对应权限表中的 ...

  9. 创建Qt项目

    创建Qt项目 1     创建Qt项目 2.1 使用向导创建 打开Qt Creator 界面选择 New Project或者选择菜单栏 [文件]-[新建文件或项目]菜单项 弹出New Project对 ...

随机推荐

  1. luasocket编译安装遇到的坑

    由于需要获得本机的IP地址,所以需要 : local socket = require('socket') local server_hostname = socket.dns.gethostname ...

  2. Arduino—运算符

    赋值运算符: =    +=   -+     *=      /= %=       取余等于 &=    与等于 &=(与等于)对某个变量的值按位进行与运算,例如:G&=x ...

  3. java 数组中的方法

    //要import java.util.Arrays: fill(int[] a,int value);//对a数组进行全部用value填充 fill(int[] a,int fromIndex,in ...

  4. vscode-Live Server的使用心得

    一,安装Live Server插件(不详细说明了) 二,开启Server(服务) 有四种方式: 在窗口的最底部有Go Live可以点击,一旦点击,就会自动在浏览器中打开HTML文件 在HTML文件中右 ...

  5. 2018-2019-2 20175306实验二面向对象程序设计《Java开发环境的熟悉》实验报告

    2018-2019-2 20175306实验二面向对象程序设计<Java开发环境的熟悉>实验报告 面向对象程序设计-1 实验要求: 参考:> http://www.cnblogs.c ...

  6. C# - 学习总目录

    C# - 基础 C# - 操作符 C# - 值类型和引用类型 C# - 表达式与语句 C# - 数组 C# - 引用类型 C# - 常用类 C# - 常用接口 C# - LINQ 语言集成查询 C# ...

  7. rsyncd启动脚本

    #!/bin/bash ############################################################## # File Name: -.sh # Versi ...

  8. Django_路由详

    动态路由和动态参数捕获 动态路由:url支持正则表达式, 访问的url能够匹配成功就去执行对应的视图函数 捕获参数: # 捕获参数,位置传参 url(r'^data/([0-9]{4})/([0-2] ...

  9. nginx Access-Control-Allow-Origin 多域名跨域设置

    2019-1-16 12:24:15 星期三 网站的静态文件(js, css, 图片, 字体等)是在一个单独的域名下的, 为了防止非法访问, 给nginx添加了跨域的控制, 也可以在PHP代码中添加 ...

  10. find your present (2) hdoj 2095

    /* author:谦智 find your present (2) hdoj 2095 法一:用暴力 法二:用map 法三: 符号是^. 异或是个位运算符号,具体是怎么操作的请百度,这里有个特性使得 ...