ceph用户认证

news2024/9/25 3:23:01

Cephx认证机制

ceph使用cephx协议对客户端进行身份认证

cephx用于对ceph保存的数据进行认证访问和授权,用于对访问ceph的请求进行认证和授权检测,于mon通信的请求都要经过ceph认证通过,但是也可以在mon节点关闭cephx认证,但是关闭认证之后任何访问都将被允许,因此无法保证数据的安全性。

1、授权流程

每个 mon 节点都可以对客户端进行身份认证并分发秘钥,因此多个 mon 节点就不存在单点
故障和认证性能瓶颈。
mon 节点会返回用于身份认证的数据结构,其中包含获取 ceph 服务时用到的 session key,
session key 通 过 客 户 端 秘 钥 进 行 加 密 , 秘 钥 是 在 客 户 端 提 前 配 置 好 的 ,
/etc/ceph/ceph.client.admin.keyring。
客户端使用 session key 向 mon 请求所需要的服务,mon 向客户端提供一个 tiket,用于
向实际处理数据的 OSD 等服务验证客户端身份,MON 和 OSD 共享同一个 secret,因此
OSD 会信任所有 MON 发放的 tiket。(tiket存在有效期)

注意:

cephx身份验证功能仅限制在ceph的各组件之间,不能扩展到其他非ceph组件,ceph只负责认证授权,不能解决数据传输加密的问题
在这里插入图片描述

2、访问流程

无论ceph客户端是那种类型,例如块设备、对象存储、文件系统,ceph都会在存储中奖所有数据存储为对象:

ceph用户需要拥有存储池访问权限,才能读取和写入数据

ceph用户必须拥有执行权限才能使用ceph的管理命令

3、ceph用户

用户是指个人(ceph管理者)或系统参与者(MON/OSD/MDS)

通过创建用户,可以控制用户或哪个参与者能够访问ceph存储集群、以及可访问的存储池及存储中的数据。

ceph支持多种类型的用户,但可管理的用户都属于client类型

区分用户类型的原因在于,MON、OSD、MDS等系统组件特使用cephx协议,但是他们为非客户端。

通过点号来分割用户类型和用户名,格式为user.type 例如:client.admin

cephadmin@ceph-mon1:/etc/ceph$ cat ceph.client.admin.keyring
[client.admin]
	key = AQBqc6ZkIP0/BBAArwh+Kk3ynP/KDtHU6KL5dg==
	caps mds = "allow *"
	caps mgr = "allow *"
	caps mon = "allow *"
	caps osd = "allow *"

4、管理ceph用户

用户管理功能可让 Ceph 集群管理员能够直接在 Ceph 集群中创建、更新和删除用户。
在 Ceph 集群中创建或删除用户时,可能需要将密钥分发到客户端,以便将密钥添加到密
钥环文件中/etc/ceph/ceph.client.admin.keyring,此文件中可以包含一个或者多个用户认
证信息,凡是拥有此文件的节点,将具备访问 ceph 的权限,而且可以使用其中任何一个账
户的权限,此文件类似于 linux 系统的中的/etc/passwd 文件。

4.1 查看集群的用户列表

cephadmin@ceph-mon1:/etc/ceph$ ceph auth list

4.2 列出指定用户的详细信息

cephadmin@ceph-mon1:/etc/ceph$ ceph auth get osd.1
[osd.1]
	key = AQCfeKZk1lB5FRAAc80u9CRs/lx3Bnoq54pJrQ==
	caps mgr = "allow profile osd"
	caps mon = "allow profile osd"
	caps osd = "allow *"
exported keyring for osd.1

4.3 添加用户并赋权

cephadmin@ceph-mon1:~$ ceph auth add  client.qiang mon "allow r" osd "allow rwx pool=mypool"

#验证用户
cephadmin@ceph-mon1:/etc/ceph$ ceph auth get client.qiang
[client.qiang]
	key = AQCOGalksy8EDRAA3B+EFlRa//sUou4pSSkCcg==
	caps mon = "allow r"
	caps osd = "allow rwx pool=mypool"
exported keyring for client.qiang

#创建新用户并返回包含用户名和密钥的密钥文
cephadmin@ceph-mon1:~$ ceph auth get-or-create  client.weng mon "allow r" osd "allow rwx pool=mypool"

#把返回的用户名和密钥的密钥文输出保存到一个文件中
cephadmin@ceph-mon1:~$ ceph auth get-or-create  client.weng mon "allow r" osd "allow rwx pool=mypool" -o passwd.txt
或者
cephadmin@ceph-mon1:~$ ceph auth get-or-create  client.weng mon "allow r" osd "allow rwx pool=mypool" > passwd.txt

12、修改用户的权限
cephadmin@ceph-mon1:~$ ceph auth caps client.weng mon "allow rw" osd "allow r pool=mypool"

13、删除用户
cephadmin@ceph-mon1:~$ ceph auth  del client.weng

5、ceph授权和使能

ceph基于使能/能力(简称:caps)来描述用户可针对MON/OSD或MDS使用的授权范围级别。

能力一览表:

  • r:向用户授予读取权限。访问监视器(mon)以检索 CRUSH 运行图时需具有此能力。
  • w:向用户授予针对对象的写入权限。
  • x:授予用户调用类方法(包括读取和写入)的能力,以及在监视器中执行 auth 操作的能
    力。
  • *:授予用户对特定守护进程/存储池的读取、写入和执行权限,以及执行管理命令的能力
  • profile osd:授予用户以某个 OSD 身份连接到其他 OSD 或监视器的权限。授予 OSD 权
    限,使 OSD 能够处理复制检测信号流量和状态报告(获取 OSD 的状态信息)。
  • profile mds:授予用户以某个 MDS 身份连接到其他 MDS 或监视器的权限。
  • profile bootstrap-osd:授予用户引导 OSD 的权限(初始化OSD并将OSD加入ceph集群),
    授权给部署工具,使其在引导 OSD 时有权添加密钥。
  • profile bootstrap-mds:授予用户引导元数据服务器的权限,授权部署工具权限,使其在引
    导元数据服务器时有权添加密钥

MON 能力:

包括r/w/x和allow profile cap(ceph的运行图)
例如:
mon 'allow rwx'
mon 'allow profile osd'

OSD 能力:

包括 r、w、x、class-read、class-write(类读取))和 profile osd(类写入),另外 OSD 能力
还允许进行存储池和名称空间设置。
osd 'allow capability' [pool=poolname] [namespace=namespace-name]

MDS 能力:

只需要 allow 或空都表示允许。
mds 'allow'

还允许进行存储池和名称空间设置。
osd ‘allow capability’ [pool=poolname] [namespace=namespace-name]


**MDS 能力:**

```bash
只需要 allow 或空都表示允许。
mds 'allow'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/738910.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序的目录结构及页面结构的说明

微信小程序的目录结构及页面结构的说明 1. 项目结构2.小程序的页面组成部分3.项目结构和页面结构文件的一些说明3.1. json文件3.2. wxml和wxss3.2.1. wxml3.2.2. wxss 3.2.3. 小程序中的.js文件 4. 微信小程序的宿主环境及运行机制4.1. 宿主环境4.2. 运行机制4.2.1. 小程序启动…

运营规模突破5万台,绿色慧联启动「望岳计划」!

狙击冲锋问鼎!7月7日,绿色慧联“望岳计划”在杭州正式启动。远程新能源商用车集团副总裁兼绿色慧联总经理杨东及运营平台各职能部门、区域运营中心负责人共同参加了会议。 今年绿色慧联正面临更加多变的内外部市场环境,电池原材料价格下滑和整…

华为OD机试真题 Java 实现【宜居星球改造计划】【2023 Q2 200分】,附详细解题思路

目录 一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 大家好,我是哪吒。 做技术,我是认真的,立志于打造最权威的华为OD机试真题专栏,帮助那些与我有同样需求的人&#xff0…

eclipse安装

下载 https://www.eclipse.org/ 安装 选择web开发 启动项目,让选择工作地址 创建java web项目 选择一下运行时 选择好tomcat服务器finish即可 创建maven项目

Mybatis 学习笔记1:构造方法注入

Mybatis 构造方法注入 最近阅读 Mybatis 3.5.8-SNAPSHOT 版本源码,在调试过程中遇到如下异常: org.apache.ibatis.builder.BuilderException:Error in result map MyEmployee.empResultMap.Failed to find a constructor in MyEmployee by arg names […

python基于flask企业会议交换机设备维修批量运维管理系统设计与实现6py09

Python 中存在众多的 Web 开发框架:Flask、Django、Tornado、Webpy、Web2py、Bottle、Pyramid、Zope2 等。近几年较为流行的,大概也就是 Flask 和 Django 了解决的思路: (1)通过进行需求分析,建立用例模型&…

ansible学习使用

1、ansible官网 官方文档 https://docs.ansible.com/ansible/latest/index.html ansible github页面 https://github.com/ansible/ansible 安装手册:https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html 2、ansible架构简述 …

JavaScrpt_11 Web API 事件流、委托事件、其它事件、元素尺寸与位置

JavaScrpt_11 Web API 事件流、委托事件、其它事件、元素尺寸与位置 前言一、事件流1. 捕获和冒泡2. 阻止冒泡 二、委托事件三、其它事件1. 页面加载事件 2. 元素滚动事件 3. 页面尺寸事件 四、元素尺寸与位置 前言 进一步学习 事件进阶,实现更多交互的网页特效&…

手写CDN基本原理

本文已收录于专栏 《中间件合集》 目录 追本溯源概念说明需求分析核心功能代码实现A用户模块本地DNS模块CDN服务模块缓存服务模块原服务端 总结提升 追本溯源 CDN的发展源于对互联网内容传输速度和用户体验的需求。在互联网发展初期,内容的传输主要依赖于源服务器&a…

Unity/Shader 零碎知识点

坐标系 Unity使用的是左手坐标系&#xff1b;观察空间&#xff0c;通俗来讲就是以摄像机为原点的坐标系&#xff0c;摄像机的前向是z轴的负方向&#xff0c;与模型和世界空间中的定义相反&#xff0c;z轴的坐标减少意味着场景深度的增加 点积 abba|a||b|cos<a,b> 结果为常…

联想ThinkPad如何用U盘重装系统?联想ThinkPad用U盘重装系统教程

联想ThinkPad如何用U盘重装系统&#xff1f;当联想ThinkPad出现系统问题或需要更新操作系统时&#xff0c;使用U盘进行重装是一种快速而可靠的解决方案&#xff0c;使用U盘重装系统不仅简单易行&#xff0c;还能有效避免出现磁盘损坏或网络不稳定所带来的问题&#xff0c;那具体…

零零信安-DD数据泄露报警日报【第203期】

2023.07.10共发现匿名网络资讯信息83,544条&#xff1b;最近7天同比增长-22.2%&#xff1b;最近30天共发现匿名网络资讯信息2,578,034条。 北京零零信安科技有限公司成立于2020年&#xff0c;是国内首家专注于外部攻击面管理&#xff08;EASM&#xff09;的网络安全公司。基于…

DragGAN 离线版V1.3 解压就能用-DragGAN Windows GUI

一、DragGAN是什么 DragGAN是由Max Planck研究所开发的一种新的人工智能工具&#xff0c;它允许用户通过几个点击和拖动来真实地修改照片。DragGAN模型本质上是给各种GAN开发的一种交互式图像操作方法&#xff0c;实现了通过鼠标拉伸图像即可自动生成新图像的神奇功能。用户先…

Shader Graph22-卡通风格(上)

一、打开Unreal&#xff0c;新建Material命名为DemoToonPaint。 二、0.5、0.5、0.5为模拟的光线方向&#xff0c;VertexNormalWS为法线的世界坐标&#xff0c;Dot点积之后得到指定光线方向分布&#xff0c;Multiply(,0.5)和Add(,0.5)是去掉负值。Texture我们需要用photoshop制作…

flutter开发实战-长链接WebSocket使用stomp协议stomp_dart_client

flutter开发实战-长链接WebSocket使用stomp协议stomp_dart_client 在app中经常会使用长连接进行消息通信&#xff0c;这里记录一下基于websocket使用stomp协议的使用。 一、stomp&#xff1a;流文本定向消息协议 1.1 stomp介绍 stomp&#xff0c;Streaming Text Orientate…

chatGLM2中的Multi Query Attention

目录 原理简介 代码实现和耗时比较 总结分析 近期一直在玩大模型&#xff0c;对中文支持比较好的就是清华的chatGLM&#xff0c;目前chatGLM由v1升级到了chatGLM2。在gihub上介绍信息如下&#xff1a; 试用了一下&#xff0c;效果和速度确实有所提升。 这个得益于chatGLM2应…

pnpm + workspace + changesets

pnpm workspace changesets 构建你的 monorepo 工程 什么是monorepo&#xff1f; 什么是 monorepo&#xff1f;以及和 multirepo 的区别是什么? 关于这些问题&#xff0c;在之前的一篇**介绍 lerna** 的文章中已经详细介绍过&#xff0c;感兴趣的同学可以再回顾下。 简而…

nacos学习积累

官方文档&#xff1a;https://nacos.io/zh-cn/docs/quick-start.html 1 注册中心简介 注册中心对比和选型&#xff1a;Zookeeper、Eureka、Nacos、Consul和ETCD 如果消费者直接连接的提供者。这样做的问题是&#xff0c;若提供者出现宕机&#xff0c;或消费者存在高并发情况&…

SSRF漏洞

前言 作者简介&#xff1a;不知名白帽&#xff0c;网络安全学习者。 博客主页&#xff1a;不知名白帽的博客_CSDN博客-网络安全,CTF,内网渗透领域博主 网络安全交流社区&#xff1a;https://bbs.csdn.net/forums/angluoanquan 目录 SSRF漏洞原理 产生CSRF的函数 SSRF中常见手…

MySQL原理探索——27 主库出问题了,从库怎么办

在前面的第24、25和26篇文章中&#xff0c;介绍了 MySQL 主备复制的基础结构&#xff0c;但这些都是一主一备的结构。 大多数的互联网应用场景都是读多写少&#xff0c;因此你负责的业务&#xff0c;在发展过程中很可能先会遇到读性能的问题。而在数据库层解决读性能问题&#…