注意

本文档适用于 Ceph 的开发版本。

ceph-authtool -- ceph密钥环操作工具

概要

ceph-authtool keyringfile[ -l | --list ]otherkeyringfile]entityname]base64_key]subsystem capability]capfile]mode ]

描述

ceph-authtool是一个用于创建、查看和修改Ceph密钥环文件的工具。{client,mon,mds,osd}.name.

警告一旦密钥设置到位,Ceph就提供认证和保护,防止中间人攻击。

选项

-l, --list

将列出密钥环中所有存在的密钥和功能

-p, --print-key

将为指定的entityname打印编码密钥。这适用于mount -o secret=参数

-C, --create-keyring

将创建一个新的密钥环,覆盖任何现有的keyringfile

-g, --gen-key

将为指定的entityname生成一个新的密钥

--gen-print-key

将为指定的entityname生成一个新的密钥,不更改keyringfile,将密钥打印到stdout

--import-keyring *secondkeyringfile*

将给定密钥环的内容导入到keyringfile

-n, --name *name*

指定要操作的entityname

-a, --add-key *base64_key*

将编码密钥添加到密钥环

--cap *subsystem* *capability*

将为给定的subsystem设置功能

--caps *capsfile*

将为给定密钥的所有subsystem设置所有相关功能

--mode *mode*

将期望的文件模式设置为密钥环,例如:0644,默认为0600

功能

subsystem是Ceph子系统名称:mon, mds,或osd.

功能是一个描述给定用户被允许做什么的字符串。allow *授予给定subsystem完全的超级用户权限。

例如:

# can read, write, and execute objects
osd = "allow rwx"

# can access mds server
mds = "allow"

# can modify cluster state (i.e., is a server daemon)
mon = "allow rwx"

一个仅限于单个池的librados用户可能如下所示:

mon = "allow r"

osd = "allow rw pool foo"

一个使用rbd,对一个池有读权限,对另一个池有读写权限的客户机:

mon = "allow r"

osd = "allow class-read object_prefix rbd_children, allow pool templates r class-read, allow pool vms rwx"

一个以最小权限挂载文件系统的客户机需要类似的功能:

mds = "allow"

osd = "allow rw pool data"

mon = "allow r"

OSD功能

通常,osd功能遵循以下语法:

osdcap  := grant[,grant...]
grant   := allow (match capspec | capspec match)
match   := [ pool[=]<poolname> | object_prefix <prefix>
            | namespace[=]<rados-namespace>
            | tag <application-name> <key>=<value> ]
capspec := * | [r][w][x] [class-read] [class-write]

capspec确定实体可以执行的操作类型:

r           = read access to objects
w           = write access to objects
x           = can call any class method (same as class-read class-write)
class-read  = can call class methods that are reads
class-write = can call class methods that are writes
* or "all"  = equivalent to rwx, plus the ability to run osd admin commands,
              i.e. ceph osd tell ...

匹配标准根据被访问的池限制授权。

功能文件格式

功能文件格式由零个或多个键值对组成,每行一个。=,分隔,如果值包含任何空白,则必须用' or "引用。键是Ceph子系统名称 (osd, mds, mon),值是功能字符串(见上文)。

示例

要创建一个包含client.foo密钥的新密钥环,文件模式为0644:

ceph-authtool -C -n client.foo --gen-key keyring --mode 0644

要将一些功能与密钥关联(即挂载Ceph文件系统的能力):

ceph-authtool -n client.foo --cap mds 'allow' --cap osd 'allow rw pool=data' --cap mon 'allow r' keyring

要显示密钥环的内容:

ceph-authtool -l keyring

在挂载Ceph文件系统时,可以使用以下方式获取适当编码的密钥:

mount -t ceph serverhost:/ mountpoint -o name=foo,secret=`ceph-authtool -p -n client.foo keyring`

可用性

ceph-authtool是 Ceph 的一部分,Ceph 是一个大规模可扩展的、开源的分布式存储系统。请参考 Ceph 文档中的https://docs.ceph.com获取更多信息。

参见

ceph(8)

由 Ceph 基金会提供

Ceph 文档是一个由非盈利Ceph 基金会资助和托管的社会资源。如果您想支持此项目和其他工作,请考虑现在加入.