7.2. Ceph 사용자 관리
스토리지 관리자는 사용자를 생성, 수정, 삭제, 가져와서 Ceph 사용자를 관리할 수 있습니다. Ceph 클라이언트 사용자는 Ceph 클라이언트를 사용하여 Red Hat Ceph Storage 클러스터 데몬과 상호 작용하는 개인 또는 애플리케이션일 수 있습니다.
7.2.1. Ceph 사용자 나열
명령줄 인터페이스를 사용하여 스토리지 클러스터의 사용자를 나열할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
스토리지 클러스터의 사용자를 나열하려면 다음을 실행합니다.
예
[ceph: root@host01 /]# ceph auth list installed auth entries: osd.10 key: AQBW7U5gqOsEExAAg/CxSwZ/gSh8iOsDV3iQOA== caps: [mgr] allow profile osd caps: [mon] allow profile osd caps: [osd] allow * osd.11 key: AQBX7U5gtj/JIhAAPsLBNG+SfC2eMVEFkl3vfA== caps: [mgr] allow profile osd caps: [mon] allow profile osd caps: [osd] allow * osd.9 key: AQBV7U5g1XDULhAAKo2tw6ZhH1jki5aVui2v7g== caps: [mgr] allow profile osd caps: [mon] allow profile osd caps: [osd] allow * client.admin key: AQADYEtgFfD3ExAAwH+C1qO7MSLE4TWRfD2g6g== caps: [mds] allow * caps: [mgr] allow * caps: [mon] allow * caps: [osd] allow * client.bootstrap-mds key: AQAHYEtgpbkANBAANqoFlvzEXFwD8oB0w3TF4Q== caps: [mon] allow profile bootstrap-mds client.bootstrap-mgr key: AQAHYEtg3dcANBAAVQf6brq3sxTSrCrPe0pKVQ== caps: [mon] allow profile bootstrap-mgr client.bootstrap-osd key: AQAHYEtgD/QANBAATS9DuP3DbxEl86MTyKEmdw== caps: [mon] allow profile bootstrap-osd client.bootstrap-rbd key: AQAHYEtgjxEBNBAANho25V9tWNNvIKnHknW59A== caps: [mon] allow profile bootstrap-rbd client.bootstrap-rbd-mirror key: AQAHYEtgdE8BNBAAr6rLYxZci0b2hoIgH9GXYw== caps: [mon] allow profile bootstrap-rbd-mirror client.bootstrap-rgw key: AQAHYEtgwGkBNBAAuRzI4WSrnowBhZxr2XtTFg== caps: [mon] allow profile bootstrap-rgw client.crash.host04 key: AQCQYEtgz8lGGhAAy5bJS8VH9fMdxuAZ3CqX5Q== caps: [mgr] profile crash caps: [mon] profile crash client.crash.host02 key: AQDuYUtgqgfdOhAAsyX+Mo35M+HFpURGad7nJA== caps: [mgr] profile crash caps: [mon] profile crash client.crash.host03 key: AQB98E5g5jHZAxAAklWSvmDsh2JaL5G7FvMrrA== caps: [mgr] profile crash caps: [mon] profile crash client.nfs.foo.host03 key: AQCgTk9gm+HvMxAAHbjG+XpdwL6prM/uMcdPdQ== caps: [mon] allow r caps: [osd] allow rw pool=nfs-ganesha namespace=foo client.nfs.foo.host03-rgw key: AQCgTk9g8sJQNhAAPykcoYUuPc7IjubaFx09HQ== caps: [mon] allow r caps: [osd] allow rwx tag rgw *=* client.rgw.test_realm.test_zone.host01.hgbvnq key: AQD5RE9gAQKdCRAAJzxDwD/dJObbInp9J95sXw== caps: [mgr] allow rw caps: [mon] allow * caps: [osd] allow rwx tag rgw *=* client.rgw.test_realm.test_zone.host02.yqqilm key: AQD0RE9gkxA4ExAAFXp3pLJWdIhsyTe2ZR6Ilw== caps: [mgr] allow rw caps: [mon] allow * caps: [osd] allow rwx tag rgw *=* mgr.host01.hdhzwn key: AQAEYEtg3lhIBxAAmHodoIpdvnxK0llWF80ltQ== caps: [mds] allow * caps: [mon] profile mgr caps: [osd] allow * mgr.host02.eobuuv key: AQAn6U5gzUuiABAA2Fed+jPM1xwb4XDYtrQxaQ== caps: [mds] allow * caps: [mon] profile mgr caps: [osd] allow * mgr.host03.wquwpj key: AQAd6U5gIzWsLBAAbOKUKZlUcAVe9kBLfajMKw== caps: [mds] allow * caps: [mon] profile mgr caps: [osd] allow *
사용자의 TYPE.ID
표기법은 osd.0
유형이 osd
이고 ID는 0
이고client.admin
은 client
유형의 사용자이고 ID는 admin
, 즉 기본 client.admin
사용자가 적용되도록 합니다. 또한 각 항목에는 VALUE
항목 및 하나 이상의 caps:
entries가 있습니다.
ceph auth list
와 함께 -o FILE_NAME
옵션을 사용하여 출력을 파일에 저장할 수 있습니다.
7.2.2. Ceph 사용자 정보 표시
명령줄 인터페이스를 사용하여 Ceph의 사용자 정보를 표시할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
특정 사용자, 키 및 기능을 검색하려면 다음을 실행합니다.
구문
ceph auth export TYPE.ID
예
[ceph: root@host01 /]# ceph auth export mgr.host02.eobuuv
또한
-o FILE_NAME
옵션을 사용할 수도 있습니다.구문
ceph auth export TYPE.ID -o FILE_NAME
예
[ceph: root@host01 /]# ceph auth export osd.9 -o filename export auth(key=AQBV7U5g1XDULhAAKo2tw6ZhH1jki5aVui2v7g==)
auth export
명령은 auth get
와 동일하지만 최종 사용자와 관련이 없는 내부 auid
도 출력합니다.
7.2.3. 새 Ceph 사용자 추가
사용자를 추가하면 사용자 이름, 즉 TYPE.ID
, 시크릿 키 및 사용자를 생성하는 데 사용하는 명령에 포함된 모든 기능이 생성됩니다.
사용자의 키를 사용하면 사용자가 Ceph 스토리지 클러스터로 인증할 수 있습니다. 사용자의 기능은 사용자가 Ceph 모니터(mon
), Ceph OSD(osd
) 또는 Ceph 메타데이터 서버(mds
)에서 읽기, 쓰기 또는 실행할 수 있도록 권한을 부여합니다.
사용자를 추가하는 몇 가지 방법이 있습니다.
-
Ceph auth add
: 이 명령은 사용자를 추가하는 표준 방법입니다. 사용자를 생성하고 키를 생성하고 지정된 기능을 추가합니다. -
Ceph auth get-or-create
: 이 명령은 사용자 이름(대괄호)과 키를 사용하여 키 파일 형식을 반환하므로 사용자를 생성하는 가장 편리한 방법입니다. 사용자가 이미 존재하는 경우 이 명령은 키 파일 형식으로 사용자 이름과 키를 반환합니다. 출력을 파일에 저장하려면-o FILE_NAME
옵션을 사용할 수 있습니다. -
Ceph auth get-or-create-key
: 이 명령은 사용자를 생성하고 사용자의 키만 반환하는 편리한 방법입니다. 이 기능은 키가 필요한 클라이언트에만 유용합니다(예:libvirt
). 사용자가 이미 존재하는 경우 이 명령은 간단히 키를 반환합니다. 출력을 파일에 저장하려면-o FILE_NAME
옵션을 사용할 수 있습니다.
클라이언트 사용자를 생성할 때 기능 없이 사용자를 생성할 수 있습니다. 기능이 없는 사용자는 클라이언트가 모니터에서 클러스터 맵을 검색할 수 없기 때문에 인증 이외의 사용할 수 없습니다. 그러나 나중에 ceph auth caps
명령을 사용하여 기능 추가를 지연하려면 기능이 없는 사용자를 생성할 수 있습니다.
일반적인 사용자는 Ceph OSD에서 Ceph 모니터 및 읽기 및 쓰기 기능에 대한 읽기 기능이 있습니다. 또한 사용자의 OSD 권한은 종종 특정 풀에 액세스하도록 제한됩니다.
[ceph: root@host01 /]# ceph auth add client.john mon 'allow r' osd 'allow rw pool=mypool' [ceph: root@host01 /]# ceph auth get-or-create client.paul mon 'allow r' osd 'allow rw pool=mypool' [ceph: root@host01 /]# ceph auth get-or-create client.george mon 'allow r' osd 'allow rw pool=mypool' -o george.keyring [ceph: root@host01 /]# ceph auth get-or-create-key client.ringo mon 'allow r' osd 'allow rw pool=mypool' -o ringo.key
사용자에게 OSD에 대한 기능을 제공하지만 특정 풀에 대한 액세스를 제한하지 않으면 클러스터의 모든 풀에 액세스할 수 있습니다!
7.2.4. Ceph 사용자 수정
ceph auth caps
명령을 사용하면 사용자를 지정하고 사용자의 기능을 변경할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
기능을 추가하려면 다음 양식을 사용하십시오.
구문
ceph auth caps USERTYPE.USERID DAEMON 'allow [r|w|x|*|...] [pool=POOL_NAME] [namespace=NAMESPACE_NAME]'
예
[ceph: root@host01 /]# ceph auth caps client.john mon 'allow r' osd 'allow rw pool=mypool' [ceph: root@host01 /]# ceph auth caps client.paul mon 'allow rw' osd 'allow rwx pool=mypool' [ceph: root@host01 /]# ceph auth caps client.brian-manager mon 'allow *' osd 'allow *'
기능을 제거하려면 기능을 재설정할 수 있습니다. 사용자가 이전에 설정한 특정 데몬에 액세스할 수 없도록 하려면 빈 문자열을 지정합니다.
예
[ceph: root@host01 /]# ceph auth caps client.ringo mon ' ' osd ' '
추가 리소스
- 기능에 대한 자세한 내용은 권한 부여 기능을 참조하십시오.
7.2.5. Ceph 사용자 삭제
명령줄 인터페이스를 사용하여 Ceph 스토리지 클러스터에서 사용자를 삭제할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
사용자를 삭제하려면
ceph auth del
:을 사용합니다.구문
ceph auth del TYPE.ID
예
[ceph: root@host01 /]# ceph auth del osd.6
7.2.6. Ceph 사용자 키 출력
명령줄 인터페이스를 사용하여 Ceph 사용자의 주요 정보를 표시할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
사용자의 인증 키를 표준 출력에 인쇄합니다.
구문
ceph auth print-key TYPE.ID
예
[ceph: root@host01 /]# ceph auth print-key osd.6 AQBQ7U5gAry3JRAA3NoPrqBBThpFMcRL6Sr+5w==[ceph: root@host01 /]#