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

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并创建keyring
	ceph-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 小结


相关推荐

  1. Ceph学习 -10.认证管理-管理

    2024-04-21 18:52:03       109 阅读
  2. Ceph学习 -8.认证管理-用户基础

    2024-04-21 18:52:03       46 阅读
  3. Ceph学习 -9.认证管理-用户实践

    2024-04-21 18:52:03       39 阅读
  4. 跨系统调用认证安全保存方案

    2024-04-21 18:52:03       36 阅读
  5. linux 创建管理员用户并使用生成登录服务器

    2024-04-21 18:52:03       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 18:52:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 18:52:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 18:52:03       87 阅读
  4. Python语言-面向对象

    2024-04-21 18:52:03       96 阅读

热门阅读

  1. vue 前端参值后端接收的几种方式

    2024-04-21 18:52:03       39 阅读
  2. 【linux】centos7 开机 进单用户模式修改root密码

    2024-04-21 18:52:03       33 阅读
  3. r-tree 总结

    2024-04-21 18:52:03       40 阅读
  4. R语言数据分析案例

    2024-04-21 18:52:03       45 阅读
  5. 第3章 决策树

    2024-04-21 18:52:03       33 阅读
  6. PHP数电票查验、发票OCR查验接口、发票管理

    2024-04-21 18:52:03       42 阅读
  7. 洛谷 P3702 [SDOI2017] 序列计数 题解代码 动态规划

    2024-04-21 18:52:03       41 阅读
  8. QT Sqlite 内存模式 简单读写

    2024-04-21 18:52:03       36 阅读
  9. pdf在线免费转word网站推荐,纯免费、不注册

    2024-04-21 18:52:03       39 阅读
  10. c++计算DNA序列信息熵代码

    2024-04-21 18:52:03       34 阅读