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>

URLEndpoint)

显示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 域-项目-用户-角色的更多相关文章

  1. 三、OpenStack创建域,项目,用户和角色,验证,创建客户端脚本

    一.Identity服务为每个OpenStack服务提供身份验证服务. 身份验证服务使用域,项目,用户和 角色的组合. 1.创建service 项目 # openstack project creat ...

  2. [.Net MVC] 用户角色权限管理_使用CLK.AspNet.Identity

    项目:后台管理平台 意义:一个完整的管理平台需要提供用户注册.登录等功能,以及认证和授权功能. 一.为何使用CLK.AspNet.Identity 首先简要说明所采取的权限控制方式.这里采用了基于角色 ...

  3. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理

    这是本人第一次写,写的不好的地方还忘包含.写这个的主要原因是想通过这个来学习下EF的CodeFirst模式,本来也想用AngularJs来玩玩的,但是自己只会普通的绑定,对指令这些不是很熟悉,所以就基 ...

  4. 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)— ...

  5. 扩展RBAC用户角色权限设计方案

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...

  6. RabbitMQ用户角色及权限控制

    RabbitMQ的用户角色分类:none.management.policymaker.monitoring.administrator RabbitMQ各类角色描述:none不能访问 managem ...

  7. RBAC用户角色权限设计方案

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用 户-角色 ...

  8. 扩展RBAC用户角色权限设计方案(转载)

    扩展RBAC用户角色权限设计方案  来源:https://www.cnblogs.com/zwq194/archive/2011/03/07/1974821.html https://blog.csd ...

  9. RabbitMQ用户角色及权限控制(转)

    转载至:https://blog.csdn.net/awhip9/article/details/72123257 2017年05月15日 10:39:26 awhip9 阅读数:3538   ### ...

随机推荐

  1. Can you answer these queries V SPOJ - GSS5 (分类讨论+线段树维护区间最大子段和)

    recursion有一个整数序列a[n].现在recursion有m次询问,每次她想知道Max { A[i]+A[i+1]+...+A[j] ; x1 <= i <= y1 , x2 &l ...

  2. php将数组中某个元素置顶设为第一个元素

    一个数组$a0有N个元素,要将其中第3个元素,排在数组的首位. 第一种做法是: 取出第3个元素,赋值给变量$a unset 第3个元素 array_unshift 将$a添加到数组头部. 如果是数字下 ...

  3. Django学习系列19:完成最简单可用的网站——确保功能之间相互隔离

    前面遗留的问题,首先时功能测试运行结束后的清理:其次是目前我们的待办清单只允许创建一个大家公用的清单. 如何隔离测试,运行功能测试后待办事项一直存在于数据库中,这会影响下一次测试. 运行单元测试时,D ...

  4. 第二章 Vue快速入门--10-11 跑马灯效果制作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  5. 【线段树哈希】「Balkan OI 2016」Haker

    1A海星 题目大意 给你一个长度为 $n$ ,由小写字母构成的字符串 $S$ 和 $Q$ 个操作,每个操作是以下 3 种之一: 1 x y k :询问当前字符串从位置 $x$ 到 $y$ 的子串与从位 ...

  6. BZOJ4353 Play with tree[树剖]

    复习几乎考不到的树剖.维护min以及min个数,打set和add标记即可,注意set优先级优于add. #include<iostream> #include<cstdio> ...

  7. nginx静态资源服务

    静态文件 动态文件 需要算法,函数封装后,返回给浏览器端的 静态资源的服务场景----CDN 异步I/O-----效果不明显 tcp_nopush  注意,须在sendfile开启的前提下 技术思想: ...

  8. jsp根据某一行颜色来其他行的颜色

    jsp根据某一行颜色(单选框)来其他行的颜色 <c:choose> <c:when test="${v.color=='黑色' }"> <td sty ...

  9. Chrome安卓H5调试,连接手机检测不到页面

    Chrome安卓H5调试,连接手机检测不到页面,重启什么的都不行,未找到设备,或者offline,怎么办? 首先手机开启调试模式是必须的 然后用adb工具箱,cmd进来 运行命令 adb kill-s ...

  10. web大文件上传断点续传源码

    总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...