Ceph学习 -7.认证管理-认证基础

发布于:2024-04-14 ⋅ 阅读:(146) ⋅ 点赞:(0)

1.认证管理

学习目标:这一节,我们从基础知识、简单实践、小结三个方面来学习。

1.1 基础知识

简介

Ceph作为一个分布式存储系统,支持对象存储、块设备和文件系统。
为了在网络传输中防止数据被篡改,做到较高程度的安全性,加入了Cephx加密认证协议。
其目的是客户端和管理端之间的身份识别,加密、验证传输中的数据。
注意:所谓的client就是使用ceph命令的客户端
ceph集群默认开启了cephx协议功能
[cephadm@admin ceph-cluster]$ cat ceph.conf
[global]
......
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
......

如果我们提供的是公共的信息 -- 不需要进行认证,所以我们可以禁用CephX功能。
将对应的属性值设置为 none即可,比如:
auth_cluster_required = none

认证场景

命令行与Ceph集群操作,包括:
    RadosGW 对象网关认证(对象网关认证系统+cephx)
    RBD 认证
    CephFS 用户认证(文件路径+cephx)
Ceph集群内部组件之间通信
	执行ceph命令时,会使用 client.admin 用户并加载 /etc/ceph/ceph.client.admin.keyring文件

认证和授权

在ceph系统中,所有元数据保存在mon节点的ceph-mon的进程中,
mon保存了系统中重要的认证相关元数据,例如每个用户的key以及权限。

样式结构如下:
名称				key			Caps(权限)
client.admin	xxxxxx		osd allow rw, mon allow rw
对于ceph的认证和授权来说,主要涉及到三个内容:ceph用户、资源权限、用户授权。
	- Ceph用户必须拥有执行权限才能执行Ceph的管理命令
	- Ceph用户需要拥有存储池访问权限才能到ceph中读取和写入数据

基本概念

用户 
	- ceph创建出来的用户,可以进入到ceph集群里面
	- ceph支持多种类型,可管理的用户属于Client类型
	- MON、OSD和MDS等系统组件属于系统参与者客户端
授权
	- 将某些资源的使用权限交给特定的用户。
	- allow
权限
	- 描述用户可针对MON、OSD或MDS等资源的使用权限范围或级别
	- MON具备的权限包括r、w、x和allow profile cap
	- OSD具备的权限包括r、w、x和class-read、class-write和profile osd、存储池和名称空间设置
	- MDS具备的权限包括allow

权限解析

allow:需先于守护进程的访问设置指定,标识赋予的xx权限
r:读取权限,访问MON以检索CRUSH时依赖此使能
w:对象写入权限
x:调用类方法(读取和写入)的能力,以及在MON上执行auth操作的能力
	class-read:x能力的子集,授予用户调用类读取方法的能力
	class-write:x的子集,授予用户调用类写入方法的能力
*:授予用户对特定守护进程/存储池的读取、写入和执行权限,以及执行管理命令的能力
profile osd
	授予用户以某个OSD身份连接到其他OSD或监视器的权限
profile mds
	授予用户以某个MDS身份连接到其他MDS或监视器的权限
profile bootstrap-osd
	授予用户引导OSD的权限,在部署时候产生
profile bootstrap-mds
	授予用户引导元数据服务器的权限,在部署时候产生

1.2 简单实践

CephX身份验正流程
在这里插入图片描述

client和osd都有一个叫做monclient的模块负责认证和密钥交换。
而monitor上有一个AuthMonitor的服务模块负责与monclient对话。
Ceph使用cephx协议对客户端进行身份认证
	每个MON都可以对客户端进行身份验正并分发密钥,不存在单点故障和性能瓶颈,
	MON会返回用于身份验正的数据结构,其包含获取Ceph服务时用到的session key。
	- session key通过客户端密钥进行加密
	- 客户端使用session key向MON请求所需的服务
	- MON向客户端提供一个ticket,用于向实际处理数据的OSD等验正客户端身份
	- MON和OSD共享同一个secret,因此OSD会信任由MON发放的ticket
	- ticket存在有效期限
注意:
	CephX身份验证功能仅限制Ceph的各组件之间,它不能扩展到其它非Ceph组件;
	它并不解决数据传输加密的问题;

CephX身份验正-MDS和OSD
在这里插入图片描述

1.当client与Monitor实现基本的认证后,monitor与后端的mds和osd会自动进行认证信息的同步
2.当client与Monitor实现基本的通信认证后
	可以独立与后端的MDS服务发送请求。
	可以独立与后端的OSD服务发送请求。

1.3 小结



网站公告

今日签到

点亮在社区的每一天
去签到