项目四 OpenStack身份管理
任务一 理解身份服务
1.1 •Keystone的基本概念
1.2 •Keystone的主要功能
1.3 •Keystone的管理层次结构

1.4 •Keystone的认证流程

1.5•查看当前的Identity API版本

1.6 •通过API请求认证令牌
1.7 •通过API请求认证令牌
[root@node-a ~]# curl -i -H "Content-Type: application/json" -d '
{ "auth": {
"identity": { #指定身份
"methods": ["password"],
"password": { #密码认证
"user": {
"name": "admin",
"domain": { "id": "default" },
"password": "ABC123456"
}
}
},
"scope": { #指定作用域
"project": { #作用域的项目
"name": "admin",
"domain": { "id": "default" }
}
}
}
}' "http://localhost:5000/v3/auth/tokens" ;
(1)导出环境变量OS_TOKEN,将其值设置为上述操作获取的令牌ID。
[root@node-a ~]# export OS_TOKEN="gAAAAABfUY7KPLJNvQqZp……64_R_a0IqxYw"
(2)以令牌认证方式请求一个认证令牌。
[root@node-a ~]# curl -i \
-H "Content-Type: application/json" \
-d '
{ "auth": {
"identity": {
"methods": ["token"], #令牌认证
"token": {
"id": "'$OS_TOKEN'"
}
}
}
}' \
"http://localhost:5000/v3/auth/tokens"
1.8 •使用认证令牌通过API进行身份管理操作
curl -s \
-H "X-Auth-Token: $OS_TOKEN" \
"http://localhost:5000/v3/domains" | python -mjson.tool
curl -s \
-H "X-Auth-Token: $OS_TOKEN" \
"http://localhost:5000/v3/projects" | python -mjson.tool
curl -s \
-H "X-Auth-Token: $OS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"user": {"name": "newuser", "password": "changeme"}}' \
"http://localhost:5000/v3/users" | python -mjson.tool
任务二 管理项目、用户和角色
2.1 •进一步了解项目、用户和角色

2.2 •进一步了解项目、用户和角色
2.3 •命令行的身份管理用法
(1)项目管理
openstack project list
openstack project show 项目名称或ID
openstack project create --description 项目描述信息 项目名称 --domain 域名
openstack project set 项目名称或ID --name 新的项目名称
openstack project set 项目名称或ID --disable
openstack project set 项目名称或ID --enable
openstack project delete 项目名称或ID
(2)用户管理
openstack user list
openstack user create --project 项目 --password 密码 用户名
openstack user set 用户名或ID --name 新的用户名 --email 邮件地址
openstack user set 用户名或ID --disable
openstack user set 用户名或ID --enable
openstack user delete 用户名或ID
(3)角色管理
openstack role list
openstack role create 角色名
openstack role show 角色名或ID
openstack role add --user 用户名或ID --project 项目名或ID 角色名或ID
openstack role assignment list --user 用户名 --project 项目名 --names
openstack role remove --user 用户名或ID --project 用户名或ID 角色名或ID
2.3 •专用的服务用户
2.4 •使用命令行进行身份管理操作
(1)加载demo用户的客户端环境脚本。
[root@node-a ~]# source keystonerc_demo
(2)查看当前的项目列表,该用户可以访问两个项目。
[root@node-a ~(keystone_demo)]# openstack project list
(3)查看用户列表,可以发现demo用户没有被授权此项操作。
[root@node-a ~(keystone_demo)]# openstack user list
(4)加载admin用户的客户端环境脚本。
[root@node-a ~(keystone_demo)]# source keystonerc_admin
(5)查看当前的项目列表,云管理员可以查看所有的项目。
[root@node-a ~(keystone_admin)]# openstack project list
(6)查看云平台上所有的角色分配。
[root@node-a ~(keystone_admin)]# openstack role assignment list --name
(7)进一步筛选出系统管理员的角色分配。
[root@node-a ~(keystone_admin)]# openstack role assignment list --names --system all
任务三 通过oslo.policy库实现权限管理
3.1 •OpenStack的oslo.policy库
3.2 •policy.json文件的语法
"目标" : "规则"
"值1: 值2"
"别名名称" : "<别名定义>"
{
"别名1" : "定义1",
"别名2" : "定义2",
...
"目标1" : "规则1",
"目标2" : "规则2",
....
}
3.3 •编写简单的policy.json策略
"compute:get_all" : ""
"compute:shelve": "!"
"identity:create_user" : "role:admin"
"stacks:create": "not role:heat_stack_user"
"os_compute_api:servers:start" : "project_id:%(project_id)s"
3.4 •解读policy.json策略

相关文章:
项目四 OpenStack身份管理
任务一 理解身份服务 1.1 •Keystone的基本概念 • 认证 ( Authentication ) —— 确认 用户身份的过程,又称身份验证 。 • 凭证 ( Credentials ) —— 又 称凭据,是用于确认用户身份的数据 。 • 令牌 …...
【后端】websocket学习笔记
文章目录 1. 消息推送常见方式1.1 轮询 VS 长轮询1.2 SSE(server-sent event)服务器发送事件 2. websocket介绍2.1 介绍2.2 原理2.3 websoket API2.3.1 客户端【浏览器】API2.3.2 服务端API 3. 代码实现3.1 流程分析3.2 pom依赖3.3 配置类3.4 消息格式3.5 消息类 4.…...
DataWhale - 吃瓜教程学习笔记(一)
学习视频:第1章-绪论_哔哩哔哩_bilibili 西瓜书对应章节: 第一章 & 第二章 文章目录 机器学习三观What:什么是机器学习?Why: 为什么要学机器学习?1. 机器学习理论研究2. 机器学习系统开发3. 机器学习算法迁移 &…...
Attention Is All You Need论文地址
论文地址 点击即可...
如何优雅的一键下载OpenHarmony活跃分支代码?请关注【itopen: ohos_download】
itopen组织:1、提供OpenHarmony优雅实用的小工具2、手把手适配riscv qemu linux的三方库移植3、未来计划riscv qemu ohos的三方库移植 小程序开发4、一切拥抱开源,拥抱国产化 一、概述 为方便大家每次下载OpenHarmony不同分支/tag代码,…...
torch.topk用法
torch.topk用法 介绍使用示例 介绍 官网介绍:https://pytorch.org/docs/stable/generated/torch.topk.html 在指定维度选取k个最大(最小)的值。 使用示例 values torch.tensor([[2, 1, 3], [1, 2, 3]]) # values # tensor([[2, 1, 3], #…...
终极版本的Typora上传到博客园和csdn
激活插件 下载网址是这个: https://codeload.github.com/obgnail/typora_plugin/zip/refs/tags/1.9.4 解压之后这样的: 解压之后将plugin,复制到自己的安装目录下的resources 点击安装即可: 更改配置文件 "dependencies&q…...
洛谷:P5707【深基2.例12】上学迟到
1. 题目链接 https://www.luogu.com.cn/problem/P5707 【深基2.例12】上学迟到 2. 题目描述 学校和y的家距离s米,s以v的速度去学校,8点之前到,y出门前要打扫10分钟卫生,求s最晚的出门时间 输入:两个正整数路程s&…...
数据治理:数据提取过程中的合规性与安全性
数据治理:数据提取过程中的合规性与安全性 随着数字化时代的到来,数据已经成为企业运营和决策的核心驱动力。然而,在数据提取的过程中,确保数据的合规性和安全性成为了企业面临的重要挑战。数据治理作为一种系统的方法࿰…...
24计算机应届生的活路是什么
不够大胆❗ 很多小伙伴在找工作时觉得自己没有竞争力,很没有自信,以至于很害怕找工作面试,被人否定的感觉很不好受。 其实很多工作并没有想象中的高大上,不要害怕,计算机就业的方向是真的广,不要走窄了&…...
HTML页面布局-使用div示例
<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><!--text-align:center 文字水平居中line-height:200px; 文字垂直居中,行高设置跟高…...
怎么把webp文件转换为jpg?快来试试这四种转换方法!
怎么把webp文件转换为jpg?Webp是一种不常见的图片格式,这种格式在使用过程中有很多缺点,首先它的浏览器兼容性不是很强,这就代表大家无法随意进行网络传输,可能需要准备特定的操作才能进行,然后编辑webp的工…...
计算机网络(7) 错误检测
一.校验和 使用补码计算校验和是一种常见的错误检测方法,应用于网络协议如IP和TCP。补码是二进制数的一种表示方法,可以有效地处理符号位和进位。下面是如何利用补码计算校验和的详细步骤和算数例子。 ### 计算步骤 1. **将数据分块**:将数…...
实体类status属性使用枚举类型的步骤
1. 问题引出 当实体类的状态属性为Integer类型时,容易写错 2. 初步修改 把状态属性强制为某个类型,并且自定义一些可供选择的常量。 public class LessonStatus {public static final LessonStatus NOT_LEARNED new LessonStatus(0,"未学习"…...
pytorch基础【4】梯度计算、链式法则、梯度清零
文章目录 梯度计算计算图(Computational Graph)梯度求导(Gradient Computation)函数与概念 示例代码更多细节梯度求导的过程梯度求导的基本步骤示例代码注意事项总结 链式法则是什么?链式法则的数学定义链式法则在深度…...
mapreduce综合应用案例 — 招聘数据清洗
MapReduce是一个编程模型和处理大数据集的框架,它由Google开发并广泛使用于分布式计算环境中。MapReduce模型包含两个主要的函数:Map和Reduce。Map函数用于处理输入的键值对生成中间键值对,Reduce函数则用于合并Map函数输出的具有相同键的中间…...
发力采销,京东的“用户关系学”
作者 | 曾响铃 文 | 响铃说 40多岁打扮精致的城市女性,在西藏那曲的偏远农村,坐着藏民的摩托车,行驶在悬崖边的烂泥路上,只因为受顾客的“委托”,要寻找最原生态的藏区某款产品。 30多岁的憨厚中年男性,…...
期望23K,go高级社招面试复盘
面经哥只做互联网社招面试经历分享,关注我,每日推送精选面经,面试前,先找面经哥 我最终还是上岸了,花了一周总结了3万字的go社招高级面试知识体系思维导图,分享出来希望能帮助有缘人吧,以下只是…...
电感(线圈)具有哪些基本特性
首先,电感(线圈)具有以下基本特性,称之为“电感的感性电抗” ?①直流基本上直接流过。 ?②对于交流,起到类似电阻的作用。 ?③频率越高越难通过。 下面是表示电感的频率和阻抗特性的示意图。 在理想电感器中&#…...
tkinter实现一个GUI界面-快速入手
目录 一个简单界面输出效果其他功能插入进度条文本框内容输入和删除标签内容显示和删除 一个简单界面 含插入文本、文本框、按钮、按钮调用函数 # -*- coding: UTF-8 -*-import tkinter as tk from tkinter import END from tkinter import filedialog from tkinter impor…...
终极实战指南:用JavaScript实现精准的天文位置计算
终极实战指南:用JavaScript实现精准的天文位置计算 【免费下载链接】suncalc A tiny JavaScript library for calculating sun/moon positions and phases. 项目地址: https://gitcode.com/gh_mirrors/su/suncalc 您是否曾经需要为Web应用添加日出日落时间功…...
[SSD]SSD主控
SSD系统架构SSD系统由一块CPU主控,可以是ARM或者RISC-v;整个主控芯片分为三个部分,分别是主机接口控制器,缓存控制器和闪存控制器,它可以分为前端和后端,前端就是主机接口控制器和主机之间的通信࿰…...
8255与74LS273实现流水灯控制原理
箱图片和题目要求,这是一个经典的微机原理/接口技术实验。你需要构建一个包含输入(开关)、处理(8255读取)、输出(74LS273锁存驱动LED)的系统。由于我无法直接为你绘制CAD图纸,我为你…...
从原理图到PCB:STM32最小系统外围电路布局布线实战避坑指南
从原理图到PCB:STM32最小系统外围电路布局布线实战避坑指南 在嵌入式硬件开发中,设计一个可靠的STM32最小系统PCB远比绘制原理图更具挑战性。许多开发者能够正确连接原理图符号,却在将设计转化为实际电路板时遭遇各种问题——从莫名其妙的复位…...
六自由度并联无人机自适应起降平台设计——从构型选型到运动学仿真全流程
六自由度并联无人机自适应起降平台设计——从构型选型到运动学仿真全流程 摘要 随着无人机物流配送、海上作业、灾害救援等场景的快速发展,无人机在动态环境下的安全起降成为制约其大规模应用的瓶颈问题。传统的固定起降平台无法适应舰船摇摆、车辆运动等动态条件,而串联机…...
Win11Debloat:Windows 11系统优化终极指南,免费提升电脑性能50%
Win11Debloat:Windows 11系统优化终极指南,免费提升电脑性能50% 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes…...
Google I/O 2026 发布会大招不断,免费用户能体验哪些新功能?
Google I/O 2026 发布会大招频出,免费用户能体验哪些新功能?每年五月,硅谷山景城都会热闹一次。Google I/O 是谷歌一年一度的开发者大会,但这些年它早就不只是给开发者看的了,普通用户、科技媒体、竞争对手,…...
从PQ控制到V/f控制:一个储能变流器工程师的微电网模式切换实战笔记
从PQ控制到V/f控制:储能变流器工程师的微电网模式切换实战解析 微电网作为分布式能源系统的核心枢纽,其运行稳定性直接关系到供电质量与设备安全。在光储微电网项目中,变流器的控制策略切换堪称"心脏搭桥手术"——既要保证模式转换…...
蓝莓智慧灌溉新突破!轻量化 YOLO 模型实现生长阶段实时精准检测
点击蓝字关注我们关注并星标从此不迷路计算机视觉研究院公众号ID|计算机视觉研究院学习群|扫码在主页获取加入方式https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber11395448计算机视觉研究院专栏Column of Computer Vision Institute本文针对蓝莓…...
Wand-Enhancer:完全免费解锁WeMod Pro功能的终极解决方案
Wand-Enhancer:完全免费解锁WeMod Pro功能的终极解决方案 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 还在为WeMod专业版的付费限制而烦恼…...
