keystone 域-项目-用户-角色
https://docs.openstack.org/keystone/latest/ 官方文档
domain是认证边界,项目、用户属于域,然后通过角色把用户和项目关联起来。
openstack role add --project demo(项目名) --user demo(用户名) user(角色名)
domain
An Identity API v3 entity. Represents a collection of projects, groups and users that defines administrative boundaries for managing OpenStack Identity entities.
身份验证服务使用域,项目,用户和角色的组合(domain, projects, users, and roles)。
keystone令牌三种生成方式 Fernet认证原理
source /opt/stack/devstack/openrc 使用demo租户(即项目)、demo用户: # source /home/devstack/openrc demo demo
if [[ -n "$1" ]]; then
OS_USERNAME=$1
fi
if [[ -n "$2" ]]; then
OS_PROJECT_NAME=$2
fi
从这可以看出openrc后跟的第一个参数是用户名,第二个参数是项目名 source /opt/stack/devstack/openrc admin admin
/bin/systemctl restart apache2
openstack service create --name SERVICE_NAME --description SERVICE_DESCRIPTION SERVICE_TYPE //创建catalog openstack catalog list
region 更像是一个地理上的概念,每个region有自己独立的endpoint,regions之间完全隔离,但是多个regions之间共享同一个keystone和dashboard。
2.创建服务实体和API端点
openstack service create --name keystone --description "OpenStack Identity" identity
openstack endpoint create --region RegionOne identity public http://controller:5000/v3
openstack endpoint create --region RegionOne identity internal http://controller:5000/v3
openstack endpoint create --region RegionOne identity admin http://controller:35357/v3
三、创建域、项目、用户和角色 ,创建项目和用户的时候需要指定域,但是创建角色不需要指定域
1.创建域default
openstack domain create --description "Default Domain" default
2.创建admin项目
openstack project create --domain default --description "Admin Project" admin
3.创建admin用户
openstack user create --domain default --password-prompt admin #提示输入admin密码
4.创建admin角色
openstack role create admin
5.添加admin角色到admin项目和用户上
openstack role add --project admin --user admin admin
6.创建service项目
openstack project create --domain default --description "Service Project" service
7.创建demo项目
openstack project create --domain default --description "Demo Project" demo
8.创建demo用户
openstack user create --domain default --password-prompt demo #提示输入demo用户密码
9.创建user角色
openstack role create user
10.添加user角色到demo项目和用户
openstack role add --project demo --user demo user
用户(User)
查看用户列表
openstack user list
创建用户
openstack user create [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--max-width <integer>]
[--print-empty] [--noindent] [--prefix PREFIX]
[--domain <domain>] [--project <project>]
[--project-domain <project-domain>]
[--password <password>] [--password-prompt]
[--email <email-address>]
[--description <description>]
[--enable | --disable] [--or-show]
<name>
!!!!!一般使用中只要写出自己需要的参数就好
删除用户
openstack user delete <用户名或者用户id都可以,以下也是一样,为了简单下面只使用user-id>
显示用户详细信息
openstack user show <user-id>
更新用户的信息
openstack user set [-h] [--name <name>] [--domain <domain>]
[--project <project>]
[--project-domain <project-domain>]
[--password <password>] [--password-prompt]
[--email <email-address>]
[--description <description>] [--enable | --disable]
<user>
赋予用户一个角色
openstack role add --project demo(项目名) --user demo(用户名) user(角色名)
查看用户与角色的对应关系---显示的表格是id
openstack role assignment list
删除用户的一个角色
openstack user-role-remove --user-id <user-id> --role-id <role-id>
[--tenant-id <tenant-id>]
更新用户信息
openstack role remove [-h] [--domain <domain> | --project <project>]
[--user <user> | --group <group>]
[--group-domain <group-domain>]
[--project-domain <project-domain>]
[--user-domain <user-domain>] [--inherited]
[--role-domain <role-domain>]
<role>
项目(project)
显示工程列表
openstack project list
创建工程
openstack project create name
删除工程
openstack project delete <project-id>
更新工程信息
openstack project-update [--name <project_name>][--domain <domain>]
[--description <project-description>]
[--enabled <true|false>]
<project-id>
显示工程详细信息
openstack project show<project-id>
角色(Role)
显示角色列表
openstack role list
创建角色
openstack role create name
删除角色
openstack role delete <role-id>
显示角色详细信息
openstack role show <role-id>
服务(Service)
显示服务列表
openstack service list
创建服务
openstack service create [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--max-width <integer>]
[--print-empty] [--noindent] [--prefix PREFIX]
[--name <name>] [--description <description>]
[--enable | --disable]
<type>
删除服务
openstack service delete <service-id>
显示服务详细信息
openstack service show <service-id>
URL(Endpoint)
显示Endpoint列表
openstack endpoint list
创建Endpoint
openstack endpoint create [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--max-width <integer>]
[--print-empty] [--noindent]
[--prefix PREFIX] [--region <region-id>]
[--enable | --disable]
<service> <interface> <url>
删除Endpoint
openstack endpoint delete <endpoint-id>
显示Endpoint详细信息
openstack endpoint show <service-id>
Catalog
列出catalog
openstack catalog list
root@devstack2019:/usr/local/lib/python2.7/dist-packages/openstack# openstack region list
+-----------+---------------+-------------+
| Region | Parent Region | Description |
+-----------+---------------+-------------+
| RegionOne | None | |
+-----------+---------------+-------------+
root@devstack2019:/usr/local/lib/python2.7/dist-packages/openstack# openstack region create --name RegionTwo
usage: openstack region create [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--max-width <integer>]
[--fit-width] [--print-empty] [--noindent]
[--prefix PREFIX] [--parent-region <region-id>]
[--description <description>]
<region-id>
openstack region create: error: unrecognized arguments: --name
root@devstack2019:/usr/local/lib/python2.7/dist-packages/openstack# openstack region create RegionTwo
+---------------+-----------+
| Field | Value |
+---------------+-----------+
| description | |
| enabled | True |
| parent_region | None |
| region | RegionTwo |
+---------------+-----------+
root@devstack2019:/usr/local/lib/python2.7/dist-packages/openstack#
keystone 域-项目-用户-角色的更多相关文章
- 三、OpenStack创建域,项目,用户和角色,验证,创建客户端脚本
一.Identity服务为每个OpenStack服务提供身份验证服务. 身份验证服务使用域,项目,用户和 角色的组合. 1.创建service 项目 # openstack project creat ...
- [.Net MVC] 用户角色权限管理_使用CLK.AspNet.Identity
项目:后台管理平台 意义:一个完整的管理平台需要提供用户注册.登录等功能,以及认证和授权功能. 一.为何使用CLK.AspNet.Identity 首先简要说明所采取的权限控制方式.这里采用了基于角色 ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理
这是本人第一次写,写的不好的地方还忘包含.写这个的主要原因是想通过这个来学习下EF的CodeFirst模式,本来也想用AngularJs来玩玩的,但是自己只会普通的绑定,对指令这些不是很熟悉,所以就基 ...
- 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理
系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)— ...
- 扩展RBAC用户角色权限设计方案
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...
- RabbitMQ用户角色及权限控制
RabbitMQ的用户角色分类:none.management.policymaker.monitoring.administrator RabbitMQ各类角色描述:none不能访问 managem ...
- RBAC用户角色权限设计方案
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用 户-角色 ...
- 扩展RBAC用户角色权限设计方案(转载)
扩展RBAC用户角色权限设计方案 来源:https://www.cnblogs.com/zwq194/archive/2011/03/07/1974821.html https://blog.csd ...
- RabbitMQ用户角色及权限控制(转)
转载至:https://blog.csdn.net/awhip9/article/details/72123257 2017年05月15日 10:39:26 awhip9 阅读数:3538 ### ...
随机推荐
- PHP中把对象转数组的几个方法
PHP中把对象转数组的几个方法: 1. //PHP stdClass Object转array function object_array($array) { if(is_object($array) ...
- golang高并发
golang 为什么能做到高并发 goroutine是go并行的关键,goroutine说到底就是携程,但是他比线程更小,几十个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这 ...
- Autoprefixer:一个以最好的方式处理浏览器前缀的后处理程序
Autoprefixer解析CSS文件并且添加浏览器前缀到CSS规则里,使用Can I Use的数据来决定哪些前缀是需要的. 所有你需要做的就是把它添加到你的资源构建工具(例如 Grunt)并且可 ...
- css3小动画:鼠标hover后text-decoration的动画
实现效果 具体实现 利用css3 ::after或者::before伪元素实现.html代码 <a class="abstract-title" href="/ar ...
- 小程序wx.showToast()方法实现文字换行
小程序wx.showToast()方法实现文字换行 在文字中间加上 '\r\n' 真机中生效 wx.showToast({ title: `换行前内容\r\n换行后内容`, icon: 'none' ...
- 一分钟学会在IDEA中使用sqlite数据库
第一步:打开IDEA: 第二步: 第三步: 第四步: 第五步: 我们也使用idea来操作sqlite语法
- union共同体
定义: union 共用体名{ 成员列表}: 与结构体不同的是,共用体的所有成员占用同一段内存,修改一个成员会影响其余成员.但是结构体的各个成员会占不同的内存. 结构体占用的内存大于等于所有成员占用的 ...
- Http中的三种请求处理模式(MPM)的区别
MPM---包括基于事件/异步,线程化和预分叉 MPM(multi-processing module)多种请求处理模式,分为三种工作模式: prefork worker event prefork- ...
- Python之signal模块的使用
常用的信号值如下: 信号值 事件 处理方式 SIGHUP 终止进程 终端线路挂断 SIGINT 终止进程 中断进程 SIGQUIT "建立CORE文件终止进程,并且生成core文件" ...
- 35. ClustrixDB 减少device1大小
ClustrixDB中的device1文件用于所有数据库数据.撤消日志.临时表.binlog和ClustrixDB系统对象.ClustrixDB确保device1文件在集群的所有节点上大小相同.一旦得 ...