当前位置: 首页 > news >正文

openstack之keystone介绍

功能

keystone在OpenStack中负责:
管理:用户、租户和权限;
认证:组件相互访问的身份认证;
鉴权:提供 RBAC(Role Based Access Control) 权限体系;
服务注册与发现:提供目录服务,维护 OpenStack Services 的 Endpoint;

概念

user:用户,使用平台的实体,可以是人名、业务系统名称、服务名称;

credentials:凭证,证明是哪个user的信息,可以是password、Token、API Key;

authentication:授权,验证user身份的过程。常见情况:user访问某服务时,向Keystone提交用户和密码形式的Credentials,Keystone验证通过后,会返回给user一个token作为后续访问用的 Credentials;

token:令牌,字符串,用作访问 Service的Credential,可以在keystone配置文件中设置有效时长,默认24小时;

project:项目,引申为租户tenant或账户account ,将IaaS层资源计算、存储、网络进行分组隔离;一个project被被多个user按照不同权限绑定,admin拥有最高权限;

role/policy:角色/策略,对资源访问的权限配置,一般有admin、member、view;

group:组,一组user,绑定角色role,划分权限;

domain:域,多项目/租户模式的实现,用来区分default domain、其他domain,规避某个域的超管用户对其他域干扰;

endpoint:服务端点,基于http请求的 API方法的地址;

openstack endpoint list+----------------------------------+-----------+--------------+----------------+---------+-----------+---------------------------------------+
| ID                               | Region    | Service Name | Service Type   | Enabled | Interface | URL                                   |
+----------------------------------+-----------+--------------+----------------+---------+-----------+---------------------------------------+
|                                  | RegionOne | cinderv3     | volumev3       | True    | public    | http://ip/volume/v3/$(project_id)s    |
|                                  | RegionOne | heat-cfn     | cloudformation | True    | public    | http://ip/heat-api-cfn/v1             |
|                                  | RegionOne | keystone     | identity       | True    | admin     | http://ip/identity                    |
|                                  | RegionOne | placement    | placement      | True    | public    | http://ip/placement                   |
|                                  | RegionOne | keystone     | identity       | True    | public    | http://ip/identity                    |
|                                  | RegionOne | glance       | image          | True    | public    | http://ip/image                       |
|                                  | RegionOne | cinderv2     | volumev2       | True    | public    | http://ip/volume/v2/$(project_id)s    |
|                                  | RegionOne | swift        | object-store   | True    | public    | http://ip:8080/v1/AUTH_$(project_id)s |
|                                  | RegionOne | nova         | compute        | True    | public    | http://ip/compute/v2.1                |
|                                  | RegionOne | neutron      | network        | True    | public    | http://ip:9696/                       |
|                                  | RegionOne | heat         | orchestration  | True    | public    | http://ip/heat-api/v1/$(project_id)s  |
|                                  | RegionOne | swift        | object-store   | True    | admin     | http://ip:8080                        |
|                                  | RegionOne | nova_legacy  | compute_legacy | True    | public    | http://ip/compute/v2/$(project_id)s   |
|                                  | RegionOne | cinder       | block-storage  | True    | public    | http://ip/volume/v3/$(project_id)s    |
+----------------------------------+-----------+--------------+----------------+---------+-----------+---------------------------------------+

服务目录:多组件多次调用的服务的集合;

openstack service list+----------------------------------+-------------+----------------+
| ID                               | Name        | Type           |
+----------------------------------+-------------+----------------+
|                                  | keystone    | identity       |
|                                  | cinder      | block-storage  |
|                                  | nova_legacy | compute_legacy |
|                                  | neutron     | network        |
|                                  | glance      | image          |
|                                  | heat        | orchestration  |
|                                  | cinderv3    | volumev3       |
|                                  | swift       | object-store   |
|                                  | placement   | placement      |
|                                  | heat-cfn    | cloudformation |
|                                  | cinderv2    | volumev2       |
|                                  | nova        | compute        |
+----------------------------------+-------------+----------------+

过程举例

在这里插入图片描述
以nova组件为例:
1、openstack cli或horizon以密码的形式向keystone获取token;
2、客户端向nova-api发起启动实例的http请求;
3、nova-api向keystone验证token;
4、再向keystone确定所属project的资源配额quota;
5、nova-conductor计算已使用的资源量,允许或拒绝请求;
6、nova-api通过rpc调用nova-scheduler选择适当的compute node;
7、nova-api通过rpc调用运行在compute node的nova-compute,完成虚拟机创建;

常用操作

# 创建服务
openstack service create --name 服务名称 --description "selfservice" 服务名称
# 创建服务端点
openstack endpoint create --region 区域名 myService [public|internal|admin] http://ip:3838

在这里插入图片描述

# 创建一个用户
openstack user create --password 密码 用户名
# 更改
openstack user set --password 密码 用户名
# 罗列用户
openstack user list
# 查看用户
openstack user show 用户名
# 将用户关联到项目/租户
openstack role add --user 用户名 --project 项目名称 角色
# 删除
openstack user delete 用户名

策略举例

policy官方参考

默认策略文件为/etc/cinder/policy.yaml,可通过cinder.conf的配置块[oslo_policy]的配置项policy_file自定义策略文件。

# 实现:非admin角色的用户不能创建云硬盘# 创建policy文件
oslopolicy-sample-generator --namespace cinder --output-file policy.yaml
cp policy.yaml /etc/cinder/policy.yaml# 创建规则context_is_admin,指定角色admin
vim /etc/cinder/policy.yaml
"context_is_admin": "role:admin"
"volume:create": "rule:context_is_admin"
# 重启服务
systemctl restart xxx@c-api

相关文章:

openstack之keystone介绍

功能 keystone在OpenStack中负责: 管理:用户、租户和权限; 认证:组件相互访问的身份认证; 鉴权:提供 RBAC(Role Based Access Control) 权限体系; 服务注册与发现&#…...

【图像拼接】基于SIFT/SURF特征算法的图像拼接,matlab实现

博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于SIFT/SURF特征算法的图像拼接,用matlab实现。 一、案例背景和算法介…...

《微信小程序实战(2) · 组件封装》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…...

LaTex2024 下载安装运行HelloWorld—全流程笔记

LaTex安装教程🚀 这是读博之后写的第一篇文章,来到新课题组之后,新课题组主要是用Latex,在之前的课题组,还是比较常用world,所以就研究了一下Latex的下载和安装,虽然网上已经有了不少教程&#…...

Golang | Leetcode Golang题解之第404题左叶子之和

题目: 题解: func isLeafNode(node *TreeNode) bool {return node.Left nil && node.Right nil }func sumOfLeftLeaves(root *TreeNode) (ans int) {if root nil {return}q : []*TreeNode{root}for len(q) > 0 {node : q[0]q q[1:]if no…...

基于yolov8+lprnet的中文车牌识别系统python源码+pytorch模型+精美GUI界面

【算法介绍】 基于YOLOv8和LPRNet的中文车牌识别系统是一种高效且准确的解决方案,结合了目标检测与字符识别的先进技术。YOLOv8作为最新的实时目标检测算法,以其高速度和精确度著称,能够迅速在图像或视频中定位车牌位置。LPRNet则是一种专为…...

电信创维光猫DT741超级密码

正常的D740系是创维系列光猫如:SK-D740 之类的超密获取办法-光猫/adsl/cable无线一体机-恩山无线论坛 但是我这个固件是DT741v1.0 我只能说很S -B,这个版本如果是1.02那就可以很轻松的去用通用办法解决,但是呢!还有办法就是用最传…...

PostgreSQL的流复制断点续传

PostgreSQL的流复制断点续传 PostgreSQL的流复制(Streaming Replication)具有断点续传的能力,这意味着当主节点和备用节点之间的连接由于网络故障等原因中断后,备用节点会自动从中断点继续接收WAL(Write-Ahead Loggin…...

【bug】通过lora方式微调sdxl inpainting踩坑

报错内容 ValueError: Attempting to unscale FP16 gradients. 报错位置 if accelerator.sync_gradients:params_to_clip (itertools.chain(unet_lora_parameters, text_lora_parameters_one, text_lora_parameters_two)if args.train_text_encoderelse unet_lora_parameters…...

[Python可视化]数据可视化在医疗领域应用:提高诊断准确性和治疗效果

随着医疗数据的增长,如何从庞大的数据集中快速提取出有用的信息,成为了医疗研究和实践中的一大挑战。数据可视化在这一过程中扮演了至关重要的角色,它能够通过图形的方式直观展现复杂的数据关系,从而帮助医生和研究人员做出更好的…...

css <样式一>

1. 盒子模型 1.1>boarder 在这里插入图片描述 boarder 相邻框合并问题 boarder-classpse 相同的边框会合并在一起 text-alicn center 文字居中对齐 ########### boarder 会撑大盒子的实际大小 一个盒子加了boarder之后会变大的我可以把我的盒子内容进行修改, 减少像素内…...

Linux 文件 IO 管理(第一讲)

Linux 文件 IO 管理(第一讲) 回顾 C 语言文件操作,提炼理解新创建的文件为什么被放在可执行文件的同级目录下?上述 log.txt 何时被创建?又是谁在打开它?那文件没有被打开的时候在哪里?一个进程可…...

Uniapp + Vue3 + Vite +Uview + Pinia 实现购物车功能(最新附源码保姆级)

Uniapp Vue3 Vite Uview Pinia 实现购物车功能(最新附源码保姆级) 1、效果展示2、安装 Pinia 和 Uview3、配置 Pinia4、页面展示 1、效果展示 2、安装 Pinia 和 Uview 官网 https://pinia.vuejs.org/zh/getting-started.html安装命令 cnpm install pi…...

人工智能和大模型的简介

文章目录 前言一、大模型简介二、大模型主要功能1、自然语言理解和生成2、文本总结和翻译3、文本分类和信息检索4、多模态处理三、大模型的技术特性1、深度学习架构2、大规模预训练3、自适应能力前言 随着技术的进步,人工智能(Artificial Intelligence, AI)和机器学习(Mac…...

java -- JDBC

一.JDBC概述: 过java语言操作数据库中的数据。 1.JDBC概念 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于 执行SQL语句的Java API。JDBC是Java访问数据库的标准规范,可以 为不同的关系型数据库提供统一访问,它由…...

supermap iclient3d for cesium模型沿路径移动

可以直接settimeout隔一段时间直接设置位置属性,但是得到的结果模型不是连续的移动,如果想要连续的移动,就需要设置一个时间轴,然后给模型传入不同时间时的位置信息,然后就可以了。 开启时间轴 let start Cesium.Jul…...

基于AlexNet实现猫狗大战

卷积神经网络介绍 卷积神经网络(Convolutional Neural Network,简称CNN),是一种深度学习模型,特别适用于处理图像、视频等数据。它的核心思想是利用卷积层(Convolutional layers)来提取输入数据…...

1.接口测试基础

一、为什么要做接口测试? 1)前后端分离(前端调用后端接口,不测的话接口有问题,功能一定有问题) 2)项目一般都不是独立的,经常要调用外部的项目,项目和项目之间交换数据&a…...

使用mlp算法对Digits数据集进行分类

程序功能 这个程序使用多层感知机(MLP)对 Digits 数据集进行分类。程序将数据集分为训练集和测试集,创建并训练一个具有两个隐藏层的 MLP 模型。训练完成后,模型对测试数据进行预测,并通过准确率、分类报告和混淆矩阵…...

滑动窗口(2)_无重复字符的最长字串

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 滑动窗口(2)_无重复字符的最长字串 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌 目…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

MMaDA: Multimodal Large Diffusion Language Models

CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

什么是VR全景技术

VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving

地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...

五子棋测试用例

一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...