検索

5.4. Ceph キーリングの管理

download PDF

ストレージ管理者として、Ceph ユーザーキーの管理は、Red Hat Ceph Storage クラスターにアクセスする際に重要です。キーリングを作成したり、キーリングにユーザーを追加したり、キーリングでユーザーを修正したりすることができます。

5.4.1. 前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • Ceph Monitor または Ceph クライアントノードへのアクセス

5.4.2. キーリングの作成

Ceph クライアントにユーザーキーを指定して、Ceph クライアントで、指定したユーザーのキーを取得して Ceph Storage Cluster で認証できるようにする必要があります。Ceph クライアントはキーリングにアクセスしてユーザー名を検索し、ユーザーのキーを取得します。

ceph-authtool ユーティリティーを使用すると、キーリングを作成できます。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • ノードへのルートレベルのアクセス。

手順

  1. 空のキーリングを作成するには、--create-keyring または -C を使用します。

    [root@mon ~]# ceph-authtool --create-keyring /path/to/keyring

    複数のユーザーでキーリングを作成する場合は、クラスター名を使用することが推奨されます。例えば、キーリングファイル名に CLUSTER_NAME.keyring` を指定し、/etc/ceph/ ディレクトリーに保存することで、Ceph 設定ファイルのローカルコピーで指定しなくても、キーリング 設定のデフォルト設定によりファイル名が指定されます。

  2. 以下のコマンドを実行して ceph.keyring を作成します。

    [root@mon ~]# ceph-authtool -C /etc/ceph/ceph.keyring

1 人のユーザーでキーリングを作成する場合は、クラスター名、ユーザータイプ、およびユーザー名を使用して、/etc/ceph/ ディレクトリーに保存することが推奨されます。たとえば、client.admin ユーザーの場合は ceph.client.admin.keyring です。

/etc/ceph/ でキーリングを作成するには、root として設定する必要があります。これは、そのファイルには root ユーザーのみに rw パーミッションが付与されることを意味し、キーリングに管理者キーが含まれている場合にはこれが適切です。ただし、特定のユーザーまたはユーザーグループにキーリングを使用する場合は、chown または chmod を実行して、適切なキーリングの所有権とアクセスを確立するようにしてください。

5.4.3. キーリングへのユーザーの追加

ユーザーを Ceph Storage クラスターに追加する際に、get 手順を使用してユーザー、キー、およびケイパビリティーを取得し、ユーザーをキーリングファイルに保存します。キーリングごとに 1 人のユーザーのみを使用する場合には、-o オプションを使用した Ceph ユーザー情報の表示 手順により、出力がキーリングファイル形式で保存されます。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • ノードへのルートレベルのアクセス。

手順

  1. client.admin ユーザーにキーリングを作成するには、以下を実行します。

    [root@mon ~]# ceph auth get client.admin -o /etc/ceph/ceph.client.admin.keyring

    個々のユーザーに推奨されるファイル形式を使用することに注意してください。

  2. ユーザーをキーリングにインポートする場合には、ceph-authtool を使用して、宛先キーリングとソースキーリングを指定することができます。

    [root@mon ~]# ceph-authtool /etc/ceph/ceph.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring

5.4.4. キーリングを使用した Ceph ユーザーの作成

Ceph は、Red Hat Ceph Storage クラスターでユーザーを直接作成する機能を提供します。ただし、Ceph クライアントキーリングでユーザー、キー、およびケイパビリティーを直接作成することもできます。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • ノードへのルートレベルのアクセス。

手順

  1. ユーザーをキーリングにインポートします。

    [root@mon ~]# ceph-authtool -n client.ringo --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.keyring

  2. キーリングを作成し、キーリングに新規ユーザーを同時に追加します。

    以下に例を示します。

    [root@mon ~]# ceph-authtool -C /etc/ceph/ceph.keyring -n client.ringo --cap osd 'allow rwx' --cap mon 'allow rwx' --gen-key

    前述のシナリオでは、新しいユーザー client.ringo はキーリングにのみ使用されます。

  3. 新規ユーザーを Ceph Storage クラスターに追加するには、以下を実行します。

    [root@mon ~]# ceph auth add client.ringo -i /etc/ceph/ceph.keyring

関連情報

5.4.5. キーリングを使用した Ceph ユーザーの変更

コマンドラインインターフェイスを使用して、Ceph ユーザーとそのキーリングを変更することができます。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • ノードへのルートレベルのアクセス。

手順

  1. キーリングでユーザーレコードのケイパビリティーを変更するには、キーリングを指定し、ユーザーがその後のケイパビリティーを指定します。以下に例を示します。
[root@mon ~]# ceph-authtool /etc/ceph/ceph.keyring -n client.ringo --cap osd 'allow rwx' --cap mon 'allow rwx'
  1. ユーザーを Red Hat Ceph Storage クラスターに更新するには、キーリングのユーザーを Red Hat Ceph Storage クラスターのユーザーエントリーに更新する必要があります。
[root@mon ~]# ceph auth import -i /etc/ceph/ceph.keyring

また、ストレージクラスターでユーザー機能を直接変更し、結果をキーリングファイルに保存してから、キーリングをメインの ceph.keyring ファイルにインポートすることもできます。

関連情報

  • キーリングから Red Hat Ceph Storage クラスターユーザーを更新する方法は、ユーザーの更新 を参照してください。

5.4.6. Ceph ユーザーのコマンドライン使用方法

Ceph では、ユーザー名およびシークレットについて、以下の用途がサポートされます。

--id | --user

詳細
Ceph は、種別と ID を持つユーザーを識別します。たとえば、TYPE.ID または client.adminclient.user1 です。id オプション、name オプション、および -n オプションを使用すると、ユーザー名の ID 部分を指定できます。たとえば、adminuser1foo などです。--id でユーザーを指定し、タイプを省略できます。たとえば、ユーザー client.foo を指定するには、次のコマンドを実行します。
[root@mon ~]# ceph --id foo --keyring /path/to/keyring health
[root@mon ~]# ceph --user foo --keyring /path/to/keyring health

--name | -n

詳細
Ceph は、種別と ID を持つユーザーを識別します。たとえば、TYPE.ID または client.adminclient.user1 です。--name オプションおよび -n オプションを使用すると、完全修飾ユーザー名を指定できます。ユーザータイプ (通常は client) をユーザー ID で指定する必要があります。以下に例を示します。
[root@mon ~]# ceph --name client.foo --keyring /path/to/keyring health
[root@mon ~]# ceph -n client.foo --keyring /path/to/keyring health

--keyring

詳細
1 つ以上のユーザー名およびシークレットが含まれるキーリングへのパス。--secret オプションは、同じ機能を提供しますが、別の目的で --secret を使用する Ceph RADOS Gateway では機能しません。ceph auth get-or-create でキーリングを取得して、ローカルに保存する場合があります。キーリングパスを切り替えなくてもユーザー名を切り替えることができるため、これは優先されます。以下に例を示します。
[root@mon ~]# rbd map foo --pool rbd myimage --id client.foo --keyring /path/to/keyring

5.4.7. Ceph ユーザー管理の制限

cephx プロトコルは、Ceph クライアントとサーバーを相互に認証します。これは、人間のユーザーの認証や、ユーザーに代わって実行されるアプリケーションプログラムを扱うことを意図したものではありません。アクセス制御のニーズの処理に効果が必要な場合は、Ceph オブジェクトストアへのアクセスに使用されるフロントエンドに固有の別のメカニズムが必要です。この他のメカニズムは、Ceph がオブジェクトストアへのアクセスを許可するマシン上で、許容されるユーザーとプログラムのみが実行できるようにするロールを持っています。

Ceph クライアントおよびサーバーの認証に使用される鍵は、通常信頼できるホストの適切なパーミッションを持つプレーンテキストファイルに保存されます。

重要

プレーンテキストファイルにキーを保存するにはセキュリティー上の欠陥がありますが、Ceph がバックグラウンドで使用する基本的な認証方法により、その回避は困難です。Ceph システムを構築する方は、これらの欠点を認識しておく必要があります。

特に、任意のユーザーマシン (特にポータブルマシン) は Ceph と直接対話するように設定することはできません。これは、このようなモードにはセキュアでないマシンにプレーンテキスト認証キーのストレージが必要になるためです。そのマシンを盗んだ者や秘密のアクセス権を得た者は、自分のマシンを Ceph に認証させる鍵を手に入れることができます。

潜在的にセキュアでないマシンが Ceph オブジェクトストアに直接アクセスできるようにするのではなく、目的のために十分なセキュリティーを提供する方法を使用して、環境内の信頼済みマシンにログインする必要があります。信頼されるマシンには、ユーザー用のプレーンテキストの Ceph キーが保存されます。Ceph の今後のバージョンでは、これらの特定の認証に関する問題に対処する場合があります。

現時点では、Ceph 認証プロトコルのいずれの場合でも、転送中のメッセージの機密性は提供されていません。このように、ネットワーク上の盗聴者は、たとえ作成や変更ができなくても、Ceph 内のクライアントとサーバーとの間で送信されるすべてのデータを聞いて理解することができます。Ceph に機密データを保存する場合には、Ceph システムにデータを提供する前に、データを暗号化する必要があります。

例えば、Ceph Object Gateway は S3 API サーバー側暗号化 を提供しており、Ceph Object Gateway クライアントから受け取った未暗号化のデータを暗号化してから Ceph Storage クラスターに保存し、同様に Ceph Storage クラスターから取得したデータを復号してからクライアントに送信します。クライアントと Ceph Object Gateway 間の移行で暗号化を確実に行うために、Ceph Object Gateway は SSL を使用するように設定する必要があります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.