5.3. Ceph ユーザーの管理
ストレージ管理者は、ユーザーの作成、修正、削除、およびインポートにより Ceph ユーザーを管理できます。Ceph クライアントユーザーは、Ceph クライアントを使用して Red Hat Ceph Storage クラスターデーモンと対話する個人またはアプリケーションのいずれかになります。
5.3.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Monitor または Ceph クライアントノードへのアクセス
5.3.2. Ceph ユーザーの一覧表示 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイスを使用して、ストレージクラスター内のユーザーを一覧表示できます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
ストレージクラスターのユーザーを一覧表示するには、以下を実行します。
ceph auth list
[root@mon ~]# ceph auth listCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph はストレージクラスター内の全ユーザーを一覧表示します。例えば、2 ノードの例示的なストレージクラスターでは、
ceph auth listは以下のようなものを出力します。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ユーザーの TYPE.ID 記法が適用され、osd.0 は osd 型のユーザーでその ID は 0、client.admin は client 型のユーザーでその ID は admin、つまりデフォルトの client.admin ユーザーとなります。また、各エントリーには、key: VALUE エントリー、および 1 つ以上の caps: エントリーがあることに注意してください。
-o FILE_NAME オプションを ceph auth list と共に使用して、出力をファイルに保存することができます。
5.3.3. Ceph ユーザー情報の表示 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイスを使用して、Ceph のユーザー情報を表示することができます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
特定のユーザー、キーおよびケイパビリティーを取得するには、以下を実行します。
ceph auth export TYPE.ID
ceph auth export TYPE.IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph auth get client.admin
[root@mon ~]# ceph auth get client.adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth getに-o FILE_NAMEオプションを使用して、出力をファイルに保存することもできます。開発者は以下を実行することもできます。ceph auth export TYPE.ID
ceph auth export TYPE.IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph auth export client.admin
[root@mon ~]# ceph auth export client.adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow
auth export コマンドは、auth get と同じですが、エンドユーザーとは無関係な内部 auid も出力します。
5.3.4. 新しい Ceph ユーザーの追加 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーを追加すると、ユーザー名 (つまり TYPE.ID)、シークレットキー、およびユーザーの作成に使用するコマンドに含まれるケイパビリティー) が作成されます。
ユーザーのキーにより、ユーザーは Ceph Storage クラスターとの認証を行うことができます。ユーザーの機能により、Ceph モニター (mon)、Ceph OSD (osd)、または Ceph Metadata Server (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 auth add client.john mon 'allow r' osd 'allow rw pool=liverpool' ceph auth get-or-create client.paul mon 'allow r' osd 'allow rw pool=liverpool' ceph auth get-or-create client.george mon 'allow r' osd 'allow rw pool=liverpool' -o george.keyring ceph auth get-or-create-key client.ringo mon 'allow r' osd 'allow rw pool=liverpool' -o ringo.key
[root@mon ~]# ceph auth add client.john mon 'allow r' osd 'allow rw pool=liverpool'
[root@mon ~]# ceph auth get-or-create client.paul mon 'allow r' osd 'allow rw pool=liverpool'
[root@mon ~]# ceph auth get-or-create client.george mon 'allow r' osd 'allow rw pool=liverpool' -o george.keyring
[root@mon ~]# ceph auth get-or-create-key client.ringo mon 'allow r' osd 'allow rw pool=liverpool' -o ringo.key
ユーザーに OSD に対するケイパビリティーを提供する場合に、特定のプールへのアクセスを制限しない場合は、ユーザーはクラスター内のすべてのプールにアクセスできるようになります。
5.3.5. Ceph ユーザーの変更 リンクのコピーリンクがクリップボードにコピーされました!
ceph auth caps コマンドを使用すると、ユーザーを指定してユーザーのケイパビリティーを変更できます。新しい機能を設定すると、現在の機能が上書きされます。したがって、最初に現在の機能を表示し、新しい機能を追加するときにそれらを含めます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
現在の機能を表示します。
ceph auth get USERTYPE.USERID
ceph auth get USERTYPE.USERIDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ケイパビリティーを追加するには、以下の形式を使用します。
ceph auth caps USERTYPE.USERID DAEMON 'allow [r|w|x|*|...] [pool=POOL_NAME] [namespace=NAMESPACE_NAME]'
ceph auth caps USERTYPE.USERID DAEMON 'allow [r|w|x|*|...] [pool=POOL_NAME] [namespace=NAMESPACE_NAME]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph auth caps client.john mon 'allow r' osd 'allow rwx pool=liverpool'
[root@mon ~]# ceph auth caps client.john mon 'allow r' osd 'allow rwx pool=liverpool'Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、OSD の実行機能が追加されています。
追加された機能を確認します。
ceph auth get _USERTYPE_._USERID_
ceph auth get _USERTYPE_._USERID_Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、OSD の実行機能を確認できます。
機能を削除するには、削除する機能を除く現在のすべての機能を設定します。
ceph auth caps USERTYPE.USERID DAEMON 'allow [r|w|x|*|...] [pool=POOL_NAME] [namespace=NAMESPACE_NAME]'
ceph auth caps USERTYPE.USERID DAEMON 'allow [r|w|x|*|...] [pool=POOL_NAME] [namespace=NAMESPACE_NAME]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph auth caps client.john mon 'allow r' osd 'allow rw pool=liverpool'
[root@mon ~]# ceph auth caps client.john mon 'allow r' osd 'allow rw pool=liverpool'Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、OSD の実行機能が含まれていないため、削除されます。
削除された機能を確認します。
ceph auth get _USERTYPE_._USERID_
ceph auth get _USERTYPE_._USERID_Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、OSD の実行機能は記載されていません。
関連情報
- ケイパビリティーの詳細は、認可ケイパビリティー を参照してください。
5.3.6. Ceph ユーザーの削除 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイスを使用して、Ceph Storage クラスターからユーザーを削除できます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
ユーザーを削除するには、
ceph auth delを使用します。ceph auth del TYPE.ID
[root@mon ~]# ceph auth del TYPE.IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow ここで、
TYPEはクライアント、osd、mon、またはmdsのいずれかで、IDはデーモンのユーザー名または ID です。
5.3.7. Ceph ユーザーキーの出力 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイスを使用して、Ceph ユーザーのキー情報を表示することができます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
ユーザーの認証キーを標準出力に出力するには、以下を実行します。
ceph auth print-key TYPE.ID
ceph auth print-key TYPE.IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow ここで、
TYPEはクライアント、osd、mon、またはmdsのいずれかで、IDはデーモンのユーザー名または ID です。ユーザーのキーを出力すると、クライアントソフトウェアにユーザーのキー (例]
libvirt) を設定する必要がある場合に便利です。mount -t ceph HOSTNAME:/MOUNT_POINT -o name=client.user,secret=ceph auth print-key client.user
mount -t ceph HOSTNAME:/MOUNT_POINT -o name=client.user,secret=ceph auth print-key client.userCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3.8. Ceph ユーザーのインポート リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイスを使用して Ceph ユーザーをインポートすることができます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
1 つ以上のユーザーをインポートするには、
ceph auth importを使用してキーリングを指定します。ceph auth import -i /PATH/TO/KEYRING
ceph auth import -i /PATH/TO/KEYRINGCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph auth import -i /etc/ceph/ceph.keyring
[root@mon ~]# ceph auth import -i /etc/ceph/ceph.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Ceph Storage クラスターは、新規ユーザー、そのキー、それらのケイパビリティーを追加し、既存のユーザー、それらのキー、およびそのケイパビリティーを更新します。