Ceph学习 -10.认证管理-秘钥管理

文章目录

  • 1.秘钥管理
    • 1.1 基础知识
    • 1.2 简单实践
    • 1.3 小结

1.秘钥管理

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

1.1 基础知识

keyring

密钥环文件是“存储机密、密码、密钥、证书并使它们可用于应用程序的组件的集合”。
密钥环文件存储一个或多个 Ceph 身份验证密钥以及可能的相关功能规范。注意:每个键都与一个实体名称相关联,形式为 {client,mon,mds,osd}.name。ceph-authtool 是一个用于创建、查看和修改 Ceph 密钥环文件的实用程序。

秘钥环文件信息

访问Ceph集群时,客户端会于本地查找密钥环,只有,认证成功的对象,才可以正常使用。默认情况下,Ceph会使用以下四个密钥环名称预设密钥环:/etc/ceph/cluster-name.user-name.keyring:保存单个用户的keyring/etc/ceph/cluster.keyring:保存多个用户的keyring/etc/ceph/keyring/etc/ceph/keyring.bin注意:cluster-name是为集群名称,user-name是为用户标识(TYPE.ID)client.admin用户的在名为ceph的集群上的密钥环文件名为ceph.client.admin.keyring

keyring的管理

创建keyring:ceph auth add等命令添加的用户还需要额外使用ceph-authtool命令为其创建用户密钥环文件,ceph客户端通过keyring文件查找用户名并检索密钥命令:ceph-authtool --create-keyring /path/to/kerying注意:keyring文件一般应该保存于/etc/ceph目录中,以便客户端能自动查找创建包含多个用户的keyring文件时,应该使用cluster-name.keyring作为文件名创建仅包含单个用户的kerying文件时,应该使用cluster-name.user-name.keyring作为文件名
将用户添加至keyring:可将某个用户从包含多个用户的keyring中导出,并保存于一个专用的keyring文件命令:ceph auth get TYPE.ID -o /etc/ceph/cluster-name.user-name.keyring也可将用户的keyring合并至一个统一的keyring文件中命令:ceph-authtool /etc/ceph/cluster-name.keyring --import-key /etc/ceph/clustername.
user-name.keyring
ceph-authtool命令可直接创建用户、授予caps并创建keyringceph-authtool keyringfile [-C | --create-keyring] [-n | --name entityname] [--genkey] [-a | --add-key base64_key] [--cap | --caps capfile]注意:此种方式添加的用户仅存在于keyring文件中,管理员还需要额外将其添加至Ceph集群上;命令: ceph auth add TYPE.ID -i /PATH/TO/keyring

1.2 简单实践

创建携带秘钥环的账号

创建普通格式的用户:
[cephadm@admin ceph-cluster]$ ceph auth get-or-create client.kube mon 'allow r' osd 'allow * pool=kube'
[client.kube]key = AQC3lhxmGSQyEBAAbYyBL8PE6N753KsxU5Bp+g==
查看用户信息:
[cephadm@admin ceph-cluster]$ ceph auth get client.kube
[client.kube]key = AQC3lhxmGSQyEBAAbYyBL8PE6N753KsxU5Bp+g==caps mon = "allow r"caps osd = "allow * pool=kube"
exported keyring for client.kube
查看文件:
[cephadm@admin ceph-cluster]$ ll
total 736
-rw-------. 1 cephadm cephadm    113 Apr  2 16:31 ceph.bootstrap-mds.keyring
-rw-------. 1 cephadm cephadm    113 Apr  2 16:31 ceph.bootstrap-mgr.keyring
-rw-------. 1 cephadm cephadm    113 Apr  2 16:31 ceph.bootstrap-osd.keyring
-rw-------. 1 cephadm cephadm    113 Apr  2 16:31 ceph.bootstrap-rgw.keyring
-rw-------. 1 cephadm cephadm    151 Apr  2 16:31 ceph.client.admin.keyring
-rw-rw-r--. 1 cephadm cephadm    343 Apr  9 20:35 ceph.conf
-rw-rw-r--. 1 cephadm cephadm 681903 Apr  9 20:47 ceph-deploy-ceph.log
-rw-------. 1 cephadm cephadm     73 Apr  2 15:36 ceph.mon.keyring
-rw-rw-r--. 1 cephadm cephadm    126 Apr 15 10:08 testuser.file              结果显示:没有生成对应的用户秘钥环文件

导出秘钥环文件

将普通的用户导出为keyring:
[cephadm@admin ceph-cluster]$ ceph auth get client.kube -o ceph.client.kube.keyring
exported keyring for client.kube
查看效果
[cephadm@admin ceph-cluster]$ ll *kube*
-rw-rw-r--. 1 cephadm cephadm 116 Apr 15 10:55 ceph.client.kube.keyring[cephadm@admin ceph-cluster]$ cat ceph.client.kube.keyring
[client.kube]key = AQC3lhxmGSQyEBAAbYyBL8PE6N753KsxU5Bp+g==caps mon = "allow r"caps osd = "allow * pool=kube"

合并秘钥环文件

创建要合并的文件:
[cephadm@admin ceph-cluster]$ ceph-authtool --create-keyring cluster.keyring
creating cluster.keyring[cephadm@admin ceph-cluster]$ ll cluster.keyring
-rw-------. 1 cephadm cephadm 0 Apr 15 10:58 cluster.keyring
合并要导入的keyring文件:
[cephadm@admin ceph-cluster]$ cat cluster.keyring
[cephadm@admin ceph-cluster]$ ceph-authtool cluster.keyring --import-keyring ceph.client.kube.keyring
importing contents of ceph.client.kube.keyring into cluster.keyring
[cephadm@admin ceph-cluster]$ cat cluster.keyring
[client.kube]key = AQC3lhxmGSQyEBAAbYyBL8PE6N753KsxU5Bp+g==caps mon = "allow r"caps osd = "allow * pool=kube"
再来合并一个用户:
[cephadm@admin ceph-cluster]$ ceph-authtool cluster.keyring --import-keyring ceph.client.admin.keyring
importing contents of ceph.client.admin.keyring into cluster.keyring
查看合并后效果:
[cephadm@admin ceph-cluster]$ cat cluster.keyring
[client.admin]key = AQBOwgtmhE42ARAAnhZiGTeiywVr5/8s8SA2kA==caps mds = "allow *"caps mgr = "allow *"caps mon = "allow *"caps osd = "allow *"
[client.kube]key = AQC3lhxmGSQyEBAAbYyBL8PE6N753KsxU5Bp+g==caps mon = "allow r"caps osd = "allow * pool=kube"
专用查看keyring的内容:
[cephadm@admin ceph-cluster]$ ceph-authtool -l cluster.keyring
[client.admin]key = AQBOwgtmhE42ARAAnhZiGTeiywVr5/8s8SA2kA==caps mds = "allow *"caps mgr = "allow *"caps mon = "allow *"caps osd = "allow *"
[client.kube]key = AQC3lhxmGSQyEBAAbYyBL8PE6N753KsxU5Bp+g==caps mon = "allow r"caps osd = "allow * pool=kube"

1.3 小结


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

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

相关文章

怎么给一个字典进行按值或key来排序?

字典是具有指定数字或键的特定数据集或组。在 Python 以外的编程语言中,它们也被称为哈希映射或关联数组。 一般来说,它是键值对的形式,就像现实世界的字典一样。 要创建字典,请从左括号开始,添加键并键入一个冒号。…

Leetcode86_分隔链表

1.leetcode原题链接:. - 力扣(LeetCode) 2.题目描述 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的…

回文链表leecode

回文链表 偶数情况奇数情况 回文链表leecode 偶数情况 public boolean isPalindrome(ListNode head) {if (head null) {return true;}ListNode fast head;ListNode slow head;while (fast ! null && fast.next ! null) {fast fast.next.next;slow slow.next;}//反…

【spring】@Resource注解学习

Resource介绍 在Spring框架中,Resource 注解是一个JSR-250标准注解,用于自动装配(autowiring)Spring容器中的bean。Resource 注解可以用于字段、方法和方法参数上,以声明依赖注入。 Resource源码 Target({TYPE, FIE…

Python相关性分析

分析连续变量之间线性相关程度的强弱,并用适当的统计指标表示出来的过程称为相关分析。 可以直接绘制散点图,或者绘制散点图矩阵,或者计算相关系数来进行相关分析。 相关系数的计算如下所示: 示例数据: 计算百合酱蒸…

HarmonyOS Next 视频弹幕功能

视频弹幕功能 介绍 本示例介绍如何使用ohos.danmakuflamemaster和ohos.gsyvideoplayer开发支持视频弹幕的播放器。可以自定义弹幕样式、占据屏幕宽度,发送弹幕,开关弹幕视图。 效果图预览 使用说明 点击播放按钮,进行视频播放&#xff0c…

【C语言】qsort()函数排序及其模拟实现,万物皆可排!

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 1. 函数介绍 2. qsort举例排列整型变量 3. qsort举例排列结构型变量 3.1 按名字排序 3.1.1 srtcmp函数 3.2 按年龄排序 4. qsort函数模拟实现(采用冒泡的…

[Python]可视化地展示出表格中某一列同一数据的出现次数

前言 Matplotlib画图工具的官网地址是 http://matplotlib.org/ Python环境下实现Matlab制图功能的第三方库,需要numpy库的支持,支持用户方便设计出二维、三维数据的图形显示,制作的图形达到出版级的标准。 pandas 是 Python 编程语言中一个…

PHP 使用 PHPMailer 发送电子邮件

1. PHPMailer 介绍 phpMailer 是一个非常强大的 php 发送邮件扩展包,可以设定发送邮件地址、回复地址、邮件主题、html邮件内容和上传附件等,使用起来非常方便。它目前有着有近 4 千万的下载量,是 PHP 开发者实现邮件发送功能的首选扩展包 它…

12.基础乐理-半音、全音

音是有高有底的,音的震动频率越高、音的赫兹越高,我们就说这个音越高,钢琴从左到右,音是逐渐变高的,因变高,它的频率,Hz数是在增加的,如下图: 但是赫兹它动不动就是几百几…

NPL预训练模型-GPT-3

简介及特点 GPT-3是一个由OpenAI开发的自然语言处理(NLP)预训练模型,它是生成式预训练变换器(Generative Pretrained Transformer)系列的第三代模型。GPT-3以其巨大的规模和强大的语言处理能力而闻名,具有…

爬虫 | 基于 Python 实现有道翻译工具

Hi,大家好,我是半亩花海。本项目旨在利用 Python 语言实现一个简单的有道翻译工具。有道翻译是一款常用的在线翻译服务,能够实现多种语言的互译,提供高质量的翻译结果。 目录 一、项目功能 二、注意事项 三、代码解析 1. 导入…

DC-9渗透测试复现

DC-9渗透测试复现 目的: 获取最高权限以及flag 过程: 信息打点--sql注入- 文件包含漏洞-Knockd开门开启ssh连接-hyjra爆破-sudo提权(文件追加) 环境: 攻击机:kali(192.168.85.137) 靶机:DC_3(192.168.85.141) …

javaswing + mysql通讯录

javaswingaddressbook 需要代码私聊

结构体及应用;结构体指针及应用;union、enum、typedef三个关键字

结构体及应用 参考文章链接:https://blog.csdn.net/zw1996/article/details/53844585结构体的声明 结构体的初始化 注意如果在定义结构体变量的时候没有初始化,那么后面就不能全部一起初始化了。 /这样是可以的,在定义变量的时候就初始化了…

(十四)C++自制植物大战僵尸游戏windows平台视频播放实现

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/8UFMs VLC库 在Cocos2d-x游戏开发框架中,没有实现windows平台视频播放的功能,需要自定义实现。在本项目中使用vlc库实现windows平台的视频播放功能。 vlc官网:网址 下载完成后&#x…

虚幻引擎源码版安装下载,点击GenerateProjectFiles.bat报错 error NU1101NuGet包问题解决参考方案

开发环境配置与源码安装使用 安装VS2022 按照官方文档安装需要的vs配置 虚幻引擎源代码下载 Epic里面下载的引擎与源代码引擎区别:Epic里面下载的引擎是已经编译过的它的源代码访问权限不完整,源代码版本提供比较完整引擎代码,并且可以修…

MDK stm32怎么生成bin文件

第一种 D:\Keil_v5\ARM\ac5.6\bin\fromelf.exe --bin -o ../../Output/atk_f407.bin ../../Output/atk_f407.axf 空格解析 D:\Keil_v5\ARM\ac5.6\bin\fromelf.exe一个空格--bin一个空格-o两个空格../../Output/atk_f407.bin ../../Output/atk_f407.axf (注意后…

ELK,ELFK日志收集分析系统

ELK简介 ELK是一套完整的日志集中处理解决方案,将ElasticSearch,Logstash和Kibana三个开源工具配合使用,实现用户对日志的查询、排序、统计需求。 ELK工作原理 在所有需要收集日志的服务器上部署Logstash,或者先将日志进行集中…

c# .net 香橙派 Orangepi GPIO高低电平、上升沿触发\下降沿触发 监听回调方法

c# .net 香橙派GPIO高低电平、上升沿触发\下降沿触发 监听回调方法 通过gpio readall 查看 gpio编码 这里用orangepi zero3 ,gpio= 70为例 当gpio 70 输入高电平时,触发回调 c# .net 代码 方法1: Nuget 包 System.Device.Gpio ,微软官方库对香橙派支持越来越好了,用得…