四、Ceph的認證


1、Ceph的認證

Ceph作為一個分布式存儲系統,支持對象存儲、塊設備和文件系統。為了在網絡傳輸中防止數據被篡改,做到較高程度的安全性,加入了Cephx加密認證協議。其目的是識別身份,加密、驗證傳輸中的數據。

cephx 用於對ceph 保存的數據進行認證訪問和授權,用於對訪問ceph 的請求進行認證和授權檢測,與mon 通信的請求都要經過ceph 認證通過,但是也可以在mon 節點關閉cephx認證,但是關閉認證之后任何訪問都將被允許,因此無法保證數據的安全性。

Client與OSD必須先連接到mon上完成認證,Client才能讀寫數據。

下面為ceph.conf中的cephx的配置:

$ vim /etc/ceph/ceph.conf
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

 2、Ceph的授權流程

每個mon節點都可以對客戶端進行身份認證並分發秘鑰,因此多個mon節點就不存在單點故障和認證性能瓶頸。
mon節點會返回用於身份認證的數據結構,其中包含獲取ceph服務時用到的session key,session key通過客戶端秘鑰進行加密,秘鑰是在客戶端提前配置好的, /etc/ceph/ceph.client.admin.keying
客戶端使用session key向mon請求所需的服務,mon向客戶端提供一個tiket,用戶向實際處理數據的OSD等服務驗證客戶端身份,mon和OSD共享一個secret,因此OSD會信息所有mon發放的tiket。 tiket存在有效期。
cephx身份驗證功能僅限制在ceph的各組件之間,不能擴展到其它非ceph組件,ceph只負責認證授權,不能解決數據傳輸的加密問題。

1.客戶端向mon請求認證;
2.mon生成session key,用key加密后發送給客戶端;
3.客戶端收到后解密key得到session key,向mon申請tikey;
4.mon收到請求后驗證session key,並向客戶端發送tikey;
5.客戶端收到tiket后,用tikey訪問OSD;
6.OSD驗證tiket並返回數據。

 3、Ceph的訪問流程

無論ceph 客戶端是哪種類型,例如塊設備、對象存儲、文件系統,ceph 都會在存儲池中將所有數據存儲為對象。

ceph 用戶需要擁有存儲池pool訪問權限,才能讀取和寫入數據。

ceph 用戶必須擁有執行權限才能使用ceph 的管理命令。

(1)Client向mon申請一個有權限可以訪問osd的用戶,client和mon共享該用戶權限信息。

(2)同時該用戶也會給mon、mds和osd共享。

(3)Client拿到了授權用戶開始向mon認證。

(4)mon通過認證后,會生成一個隨機並加密的session key發送給Client.

(5)Client收到mon發送過來的session key並解密后,再向mon發起ticket申請請求。

(6)mon將ticket信息發送給client。

(7)Client接受到mon發來的ticke后,下面開始請求數據。

(8)如果Client訪問的是cephfs,client會向mds發送請求;如果Client訪問是塊存儲等設備,則直接向osd發送請求。

4、Ceph的用戶

用戶是指個人(ceph 管理者)或系統參與者(MON/OSD/MDS)。 通過創建用戶,可以控制用戶或哪個參與者能夠訪問ceph 存儲集群、以及可訪問的存儲池及存儲池中的數據。 ceph 支持多種類型的用戶,但可管理的用戶都屬於client 類型區分用戶類型的原因在於,MON/OSD/MDS 等系統組件特使用cephx 協議,但是它們為非客戶端。

通過點號來分割用戶類型和用戶名,格式為TYPE.ID,例如client.admin。client.admin:用戶命名遵循 <TYPE.ID> 的命名規則,也就是<用戶類型.用戶名>。其中 Type 有 mon、osd、mgr 為守護進程,client為客戶端用戶

cephadmin@ceph-deploy:~/ceph-cluster$ cat /etc/ceph/ceph.client.admin.keyring
[client.admin]
	key = AQCUWkliobKPDBAAdm1pKdIMWaBsDhIv5naUSQ==    #admin用戶的加密密鑰
        #下面為admin用戶對ceph集群各個組件的管理權限
	caps mds = "allow *"
	caps mgr = "allow *"
	caps mon = "allow *"
	caps osd = "allow *"

查看指定用戶信息:

cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get osd.10
[osd.10]
	key = AQDqXEliQoGVKxAAa6rFYOqfThiFFGz/kbfLjg==
	caps mgr = "allow profile osd"
	caps mon = "allow profile osd"
	caps osd = "allow *"
exported keyring for osd.10
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.admin
[client.admin]
	key = AQCUWkliobKPDBAAdm1pKdIMWaBsDhIv5naUSQ==
	caps mds = "allow *"
	caps mgr = "allow *"
	caps mon = "allow *"
	caps osd = "allow *"
exported keyring for client.admin

5、Ceph授權及使能

用戶的授權,只有在授權之后,用戶才可以使用權限范圍內的 MON、OSD、MDS 的功能。

ceph 基於使能/能力(Capabilities,簡稱caps )來描述用戶可針對MON/OSD 或MDS 使用的授權范圍或級別。

通用的語法格式:daemon-type ‘allow caps’ [...]

能力一覽表:

授權階段分2種:訪問授權和能力授權
訪問授權:
allow:在守護進程進行訪問設置之前就已經具有特定權限,僅對 MDS 隱含 rw
r:向用戶授予讀取權限。訪問監視器(mon)以檢索CRUSH 運行圖時需具有此能力。
w:向用戶授予針對對象的寫入權限。
x:授予用戶調用類方法(包括讀取和寫入)的能力,以及在監視器中執行auth 操作的能力。
*,all:授予用戶對特定守護進程/存儲池的讀取、寫入和執行權限,以及執行管理命令的能力
class-read:授予用戶調用類讀取方法的能力, x 的子集
class-write:授予用戶調用類寫入方法的能力, x 的子集
 
能力授權:
profile osd :授予用戶以某個OSD 身份連接到其他OSD 或監視器的權限。授予OSD 權限,使OSD 能夠處理復制檢測信號流量和狀態報告(獲取OSD 的狀態信息)。
profile mds :授予用戶以某個MDS 身份連接到其他MDS 或監視器的權限。
profile bootstrap-osd:授予用戶引導OSD 的權限(初始化OSD 並將OSD 加入ceph 集群),授權給部署工具,使其在引導OSD 時有權添加密鑰。通常授予部署工具ceph-deploy,讓它們在引導 OSD 時就有增加密鑰的權限了.
profile bootstrap-mds:授予用戶引導元數據服務器的權限,授權部署工具權限,使其在引導元數據服務器時有權添加密鑰。
profile bootstrap-rbd:授權用戶引導 RBD 守護進程的能力,同上
profile bootstrap-rbd-mirror:授權用戶引導 rbd-mirror守護進程的能力,同上
profile rbd:授權一個用戶可以操作rbd image的權限
profile rbd-mirror:授權一個用戶可以操作rbd image的權限和獲得osd Mirroring配置秘鑰
profile rbd-read-only:授權一個用戶只讀rbd image的權限

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'

6、Ceph用戶管理

用戶管理功能可讓Ceph 集群管理員能夠直接在Ceph 集群中創建、更新和刪除用戶。 在Ceph 集群中創建或刪除用戶時,可能需要將密鑰分發到客戶端,以便將密鑰添加到密鑰環中/etc/ceph/ceph.client.admin.keyring,此文件中可以包含一個或者多個用戶認證信息,凡是擁有此文件的節點,將具備訪問ceph 的權限,而且可以使用其中任何一個賬戶的權限,此文件類似於linux 系統的中的/etc/passwd 文件

6.1、創建用戶的步驟

要使用 Cephx,集群的管理員(administrator),也就是 client.admin,需要在集群中創建一個用戶賬號(user account)。要創建用戶賬號,client.admin 需要調用 ceph auth get-or-create 命令。Ceph 用戶驗證子系統會產生一 個用戶名(username)和一個密鑰(secret key),並將它們保存在Ceph monitor 上,再將用戶密鑰返回給client.admin。Ceph 系統管理員需要將用戶名和密碼提供給需要安全地訪問 Ceph 存儲服務的客戶端

6.2、列出用戶

cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth list
mds.ceph-mds1
	key: AQDfX0liXd/WARAAccF0HZaVC42esfDs0qtMdg==
	caps: [mds] allow
	caps: [mon] allow profile mds
	caps: [osd] allow rwx
mds.ceph-mds2
	key: AQDjX0lilsxaLhAALVkJGvdmgeI0vJnJo9kujQ==
	caps: [mds] allow
	caps: [mon] allow profile mds
	caps: [osd] allow rwx
mds.ceph-mds3
	key: AQDnX0liZ9O6MhAAZq2t2iQ0XyGU+Wk8PoojfA==
	caps: [mds] allow
	caps: [mon] allow profile mds
	caps: [osd] allow rwx
osd.0
	key: AQBcXEliBlclBhAAaYYQww5O/+KjKIUYggCl0Q==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.1
	key: AQBmXElifUe/OBAABA9P8srkclUbB3WKwZtfHg==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.10
	key: AQDqXEliQoGVKxAAa6rFYOqfThiFFGz/kbfLjg==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.11
	key: AQDzXklixbQJGBAAXuv+zwH8BJZVogDklrFVzg==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.2
	key: AQB1XEli7GfXNRAAOUKHy3Hm14yfJjafr4d7Hg==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.3
	key: AQCAXEli60CnNhAAlXVRQR45SfLQA2wELwnL8w==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.4
	key: AQCLXEli6YOKIBAAvfuantUZZxiqy4SSGCRN7g==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.5
	key: AQCWXEliopAACxAAN6ECsRxkhEgdSC5opqb71w==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.6
	key: AQChXEliMtMLCBAAJetz/IxQ6wgSdd4Ofb5+4w==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.7
	key: AQCrXEliqwyVMBAA16AeJ3AX/GipTri37zhYUQ==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.8
	key: AQC2XElircbZIBAAP6tSQYKSPwjuUN1J1yoeXg==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
osd.9
	key: AQDBXElidGi4GxAA1QbwtOTESs03MbKdkBeDQA==
	caps: [mgr] allow profile osd
	caps: [mon] allow profile osd
	caps: [osd] allow *
client.admin
	key: AQCUWkliobKPDBAAdm1pKdIMWaBsDhIv5naUSQ==
	caps: [mds] allow *
	caps: [mgr] allow *
	caps: [mon] allow *
	caps: [osd] allow *
client.bootstrap-mds
	key: AQCUWkli4r6PDBAAjR5gJt56w1CrKOdixzR0wg==
	caps: [mon] allow profile bootstrap-mds
client.bootstrap-mgr
	key: AQCUWkliDsaPDBAAkrEcvwKgXB6Ur3Qq3oJaEQ==
	caps: [mon] allow profile bootstrap-mgr
client.bootstrap-osd
	key: AQCUWkliP8yPDBAAKK00MZy9tI0JKC0Pc4SG8w==
	caps: [mon] allow profile bootstrap-osd
client.bootstrap-rbd
	key: AQCUWkliSdKPDBAAku8bxvTQeWzS8wf1xa6sEg==
	caps: [mon] allow profile bootstrap-rbd
client.bootstrap-rbd-mirror
	key: AQCUWklildiPDBAAa+zIlOLBM6Ww09g/M7QxHg==
	caps: [mon] allow profile bootstrap-rbd-mirror
client.bootstrap-rgw
	key: AQCUWklitd6PDBAAStc0u7rJqahMSVooCKy9kw==
	caps: [mon] allow profile bootstrap-rgw
client.rgw.ceph-rgw1
	key: AQBqYEli4Q4yMhAAhS4J/NSb1/x4NATGZz8V5Q==
	caps: [mon] allow rw
	caps: [osd] allow rwx
client.rgw.ceph-rgw2
	key: AQB0YElihqT0CRAAPsw6RRkmxW9Lsz5eVc8vBA==
	caps: [mon] allow rw
	caps: [osd] allow rwx
mgr.ceph-mgr1
	key: AQB2W0liEgdcFhAAn+oSf1Je9mVLcgLyefjF6Q==
	caps: [mds] allow *
	caps: [mon] allow profile mgr
	caps: [osd] allow *
mgr.ceph-mgr2
	key: AQCpX0lit/OQIxAAtnW/JFJ2cZXWLfuhiGFm/A==
	caps: [mds] allow *
	caps: [mon] allow profile mgr
	caps: [osd] allow *
installed auth entries:

注意:TYPE.ID 表示法 針對用戶采用TYPE.ID 表示法,例如osd.0 指定是osd 類並且ID 為0 的用戶(節點),client.admin是client 類型的用戶,其ID 為admin。

注意,每個項包含一個key=xxxx 項,以及一個或多個caps 項。 可以結合使用-o 文件名選項和ceph auth list 將輸出保存到某個文件。

ceph@ceph-deploy:~$ ceph auth list -o /tmp/ceph_user.key

6.3、用戶的管理命令

添加一個用戶會創建用戶名(TYPE.ID)、機密密鑰,以及包含在命令中用於創建該用戶的所有能力,用戶可使用其密鑰向Ceph 存儲集群進行身份驗證。用戶的能力授予該用戶在Ceph monitor (mon)、Ceph OSD (osd) 或Ceph 元數據服務器(mds) 上進行讀取、寫入或執行的能力,可以使用以下幾個命令來添加用戶

6.3.1、創建用戶及獲取用戶信息

6.3.1.1、ceph auth add

此命令是添加用戶的規范方法。它會創建用戶、生成密鑰,並添加所有指定的能力

ceph@ceph-deploy:~$ ceph auth add -h
auth add <entity> {<caps> [<caps>...]}
 
ceph@ceph-deploy:~$ ceph osd pool ls
device_health_metrics
myrbd1
#給pool=myrbd1創建一個client的jack用戶,對mon有r權限,對myrbd1地址池有rwx權限
ceph@ceph-deploy:~$ ceph auth add client.jack mon 'allow r' osd 'allow rwx pool=myrbd1'
added key for client.ywx
ceph@ceph-deploy:~$ ceph auth get client.jack
[client.ywx]
    key = AQBkbkliYQXAARAADTGxDU9GyX9HI+sDDu861w==
    caps mon = "allow r"
    caps osd = "allow rwx pool=myrbd1"
exported keyring for client.jack

6.3.1.2、ceph auth get-or-create

ceph auth get-or-create 此命令是創建用戶較為常見的方式之一,它會返回包含用戶名(在方括號中)和密鑰的密鑰文,如果該用戶已存在,此命令只以密鑰文件格式返回用戶名和密鑰,還可以使用-o 指定文件名選項將輸出保存到某個文件

# 創建zhai用戶
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get-or-create client.zhai mon 'allow r' osd 'allow rwx pool=myrbd1'
[client.zhai]
	key = AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.zhai
[client.zhai]
	key = AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==
	caps mon = "allow r"
	caps osd = "allow rwx pool=myrbd1"
exported keyring for client.zhai
# 再次創建client.zhai用戶
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get-or-create client.zhai mon 'allow r' osd 'allow rwx pool=myrbd1'
[client.zhai]
	key = AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==
#注意:該命令為沒有創建的用戶,則創建用戶並顯示用戶名(在方括號中)和密鑰的密鑰文;創建的用戶已存在,則直接顯示用戶名(在方括號中)和密鑰的密鑰文。

6.3.1.3、ceph auth get-or-create-key

此命令是創建用戶並僅返回用戶密鑰,對於只需要密鑰的客戶端(例如libvirt),此命令非常有用。如果該用戶已存在,此命令只返回密鑰。您可以使用-o 文件名選項將輸出保存到某個文件。 創建客戶端用戶時,可以創建不具有能力的用戶。不具有能力的用戶可以進行身份驗證,但不能執行其他操作,此類客戶端無法從監視器檢索集群地圖,但是,如果希望稍后再添加能力,可以使用ceph auth caps 命令創建一個不具有能力的用戶。典型的用戶至少對Ceph monitor 具有讀取功能,並對Ceph OSD 具有讀取和寫入功能。此外,用戶的OSD 權限通常限制為只能訪問特定的存儲池。

cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get-or-create-key client.zhai mon 'allow r' osd 'allow rwx pool=myrbd1'
AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==
#1、僅僅只顯示用戶密鑰key
#2、用戶有key就顯示,沒有key就創建

6.3.1.4、ceph auth print-key

獲取單個指定用戶的key 信息

cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth print-key client.zhai
AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==

6.3.2、修改用戶權限能力

使用ceph auth caps 命令可以指定用戶以及更改該用戶的能力,設置新能力會完全覆蓋當前的能力,因此要加上之前的用戶已經擁有的能和新的能力,如果看當前能力,可以運行ceph auth get USERTYPE.USERID,如果要添加能力,使用以下格式時還需要指定現有能力:

案例:

#查看上面創建的zhai用戶權限
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.zhai
[client.zhai]
	key = AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==
	caps mon = "allow r"
	caps osd = "allow rwx pool=myrbd1"
exported keyring for client.zhai
#將mon權限改為rw,osd權限改為rw

cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth caps client.zhai mon 'allow rw' osd 'allow rw pool=myrbd1'
updated caps for client.zhai
# 驗證權限
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.zhai
[client.zhai]
	key = AQDsbklip1svBxAANOlZh3MEA7jE3/0FMBlDGQ==
	caps mon = "allow rw"
	caps osd = "allow rw pool=myrbd1"
exported keyring for client.zhai

6.3.3、刪除用戶

要刪除用戶使用ceph auth del TYPE.ID,其中TYPE 是client、osd、mon 或mds 之一,ID 是用戶名或守護進程的ID。

#刪除zhai用戶
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth del client.zhai
updated
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth del client.zhai
entity client.zhai does not exist

7、密鑰環管理

ceph 的秘鑰環是一個保存了secrets、keys、certificates 並且能夠讓客戶端通認證訪問ceph的keyring file(集合文件),一個keyring file 可以保存一個或者多個認證信息,每一個key 都有一個實體名稱加權限,類型為:

{client、mon、mds、osd}.name

當客戶端訪問ceph 集群時,ceph 會使用以下四個密鑰環文件預設置密鑰環設置:

/etc/ceph/<$cluster name>.<user $type>.<user $id>.keyring #保存單個用戶的keyring
/etc/ceph/cluster.keyring #保存多個用戶的keyring
/etc/ceph/keyring #未定義集群名稱的多個用戶的keyring
/etc/ceph/keyring.bin #編譯后的二進制文件

7.1、創建密鑰環文件

密鑰環文件的創建分為:用戶創建--->空的keyring文件創建--->把用戶信息導入keyring文件。

#1、創建一個user1的用戶文件
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get-or-create client.user1 mon 'allow r' osd 'allow rwx pool=myrbd1'
[client.user1]
	key = AQBjcUliZ2xDLhAAG1GlWFuj07PXrGCegvFmiQ==
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.user1
[client.user1]
	key = AQBjcUliZ2xDLhAAG1GlWFuj07PXrGCegvFmiQ==
	caps mon = "allow r"
	caps osd = "allow rwx pool=myrbd1"
exported keyring for client.user1
cephadmin@ceph-deploy:~/ceph-cluster$


# 2、創建一個名為ceph.client.user1.keyring的空的密鑰環文件
cephadmin@ceph-deploy:~/ceph-cluster$ ceph-authtool --create-keyring ceph.client.user1.keyring
creating ceph.client.user1.keyring  #是個空文件

cephadmin@ceph-deploy:~/ceph-cluster$ file ceph.client.user1.keyring
ceph.client.user1.keyring: empty


# 3、導出user1信息之指定keyring文件
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.user1 -o ceph.client.user1.keyring 
exported keyring for client.user1
cephadmin@ceph-deploy:~/ceph-cluster$ cat ceph.client.user1.keyring
[client.user1]
	key = AQBjcUliZ2xDLhAAG1GlWFuj07PXrGCegvFmiQ==
	caps mon = "allow r"
	caps osd = "allow rwx pool=myrbd1"

在創建包含單個用戶的密鑰環時,通常建議使用ceph 集群名稱、用戶類型和用戶名及keyring來命名, 並將其保存在/etc/ceph 目錄中。例如為client.user1 用戶創建ceph.client.user1.keyring

7.2、從keyring文件恢復刪除的用戶認證信息

# 1、刪除client.user1用戶
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.user1
[client.user1]
	key = AQBjcUliZ2xDLhAAG1GlWFuj07PXrGCegvFmiQ==
	caps mon = "allow r"
	caps osd = "allow rwx pool=myrbd1"
exported keyring for client.user1
# 刪除client.user1
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth del client.user1
updated
# 驗證client.user1用戶被刪除
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.user1
Error ENOENT: failed to find client.user1 in keyring

# 2、使用client.user1的keyring恢復用戶client.user1的認證信息
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth import -i ceph.client.user1.keyring 
imported keyring
# client.user1信息被恢復
cephadmin@ceph-deploy:~/ceph-cluster$ ceph auth get client.user1
[client.user1]
	key = AQBjcUliZ2xDLhAAG1GlWFuj07PXrGCegvFmiQ==
	caps mon = "allow r"
	caps osd = "allow rwx pool=myrbd1"
exported keyring for client.user1

7.3、將多個用戶信息導入一個keyring

#1、創建一個空的keyring 文件:
ceph@ceph-deploy:~$ ceph-authtool --create-keyring ceph.client.user.keyring
creating ceph.client.user.keyring
#2、將admin用戶keyring文件內容導入到user的keyring文件
ceph@ceph-deploy:~$ ceph-authtool --create-keyring ceph.client.user.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring 
creating ceph.client.user.keyring
importing contents of /etc/ceph/ceph.client.admin.keyring into ceph.client.user.keyring
#3、驗證ceph.client.user.keyring文件
ceph@ceph-deploy:~$ ceph-authtool -l ./ceph.client.user.keyring 
[client.admin]
    key = AQAKyxthqvTaORAA/aUa9o2vAcfalDI+nWaoqg==
    caps mds = "allow *"
    caps mgr = "allow *"
    caps mon = "allow *"
    caps osd = "allow *"
#4、再把ceph.client.user1.keyring文件內容信息導入到user的keyrig文件中
ceph@ceph-deploy:~$ ceph-authtool ./ceph.client.user.keyring --import-keyring ./ceph.client.user1.keyring 
importing contents of ./ceph.client.user1.keyring into ./ceph.client.user.keyring
#5、驗證ceph.client.user.keyring文件信息
ceph@ceph-deploy:~$ ceph-authtool -l ./ceph.client.user.keyring 
[client.admin]
    key = AQAKyxthqvTaORAA/aUa9o2vAcfalDI+nWaoqg==
    caps mds = "allow *"
    caps mgr = "allow *"
    caps mon = "allow *"
    caps osd = "allow *"
[client.user1]
    key = AQCbOyJhNlfvKhAAQz3KBvxKKbOMQi8PJKX3lw==
    caps mon = "allow r"
    caps osd = "allow rwx pool=myrbd1"

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM