6.6. Ceph Object Gateway およびマルチファクター認証

ストレージ管理者は、Ceph Object Gateway ユーザーの時間ベースのワンタイムパスワード (TOTP) トークンを管理できます。

6.6.1. マルチファクター認証

バケッにオブジェクトのバージョニングを設定した場合、開発者は、必要に応じて、削除要求にマルチファクター認証 (MFA) を要求するように設定することができます。MFA を使用すると、時間ベースのワンタイムパスワード (TOTP) トークンは鍵として x-amz-mfa ヘッダーに渡されます。トークンは、Google Authenticator などの仮想 MFA デバイス、または Gemalto が提供するようなハードウェア MFA デバイスで生成されます。

radosgw-admin を使用して、時間ベースのワンタイムパスワードトークンをユーザーに割り当てます。シークレットシードおよびシリアル ID を設定する必要があります。radosgw-admin を使用して、トークンのリスト表示、削除、および再同期を行うこともできます。

重要

マルチサイト環境では、ゾーンごとに異なるトークンを使用することが推奨されます。これは、MFA ID がユーザーのメタデータに設定されている一方で、実際の MFA ワンタイムパスワード設定はローカルゾーンの OSD に存在するためです。

表6.1 用語

用語説明

TOTP

時間ベースのワンタイムパスワード

トークンのシリアル

TOTP トークンの ID を表す文字列。

トークンシード

TOTP の計算に使用されるシークレットが表示されます。16 進数または base32 にすることができます。

TOTP 秒

TOTP の生成に使用される時間解決。

TOTP ウィンドウ

トークンの検証時に現在のトークンの前後にチェックされる TOTP トークンの数。

TOTP ピン

特定の時点で TOTP トークンの有効な値。

6.6.2. マルチファクター認証の作成

マルチファクター認証 (MFA) を設定するには、ワンタイムパスワードジェネレーターおよびバックエンド MFA システムが使用するシークレットシードを作成する必要があります。

前提条件

  • Linux システム。
  • コマンドラインシェルへのアクセス。

手順

  1. urandom Linux デバイスファイルから 30 文字のシードを生成し、シェル変数 SEED に格納します。

    [user@host01 ~]$ SEED=$(head -10 /dev/urandom | sha512sum | cut -b 1-30)

  2. SEED 変数で echo を実行して、シードを出力します。

    [user@host01 ~]$ echo $SEED
    492dedb20cf51d1405ef6a1316017e

    同じシードを使用するように、ワンタイムパスワードジェネレーターおよびバックエンドの MFA システムを設定します。

関連情報

6.6.3. 新しいマルチファクター認証 TOTP トークンの作成

新たなマルチファクター認証 (MFA) 時間ベースのワンタイムパスワード (TOTP) トークンを作成します。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • Ceph Object Gateway がインストールされている。
  • Ceph Monitor ノード上での root アクセスがある。
  • ワンタイムパスワードジェネレーターおよび Ceph Object Gateway MFA のシークレットシードが生成されている。

手順

  • 新しい MFA TOTP トークンを作成します。

    構文

    radosgw-admin mfa create --uid=USERID --totp-serial=SERIAL --totp-seed=SEED --totp-seed-type=SEED_TYPE --totp-seconds=TOTP_SECONDS --totp-window=TOTP_WINDOW

    USERID にはユーザー名を設定し、SERIAL には TOTP トークンの ID を表す文字列を設定し、SEED には TOTP の計算に使用する 16 進数または base32 値を設定します。以下の設定は任意です。SEED_TYPEhex または base32 に設定し、TOTP_SECONDS をタイムアウト (秒単位) に設定するか、TOTP_WINDOW を設定して、トークンの検証時に現在のトークンの前後にチェックします。

    [root@host01 ~]# radosgw-admin mfa create --uid=johndoe --totp-serial=MFAtest --totp-seed=492dedb20cf51d1405ef6a1316017e

関連情報

6.6.4. マルチファクター認証 TOTP トークンのテスト

マルチファクター認証 (MFA) のタイムベースワンタイムパスワード (TOTP) トークンをテストします。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • Ceph Object Gateway がインストールされている。
  • Ceph Monitor ノード上での root アクセスがある。
  • MFA TOTP トークンは、radosgw-admin mfa create を使用して作成されました。

手順

  • TOTP トークンの PIN をテストして、TOTP が正しく機能することを確認します。

    構文

    radosgw-admin mfa check --uid=USERID --totp-serial=SERIAL --totp-pin=PIN

    USERID には MFA が設定されているユーザー名を設定し、SERIAL には TOTP トークンの ID を表す文字列を設定し、PIN にはワンタイムパスワードジェネレーターからの最新の PIN を設定します。

    [root@host01 ~]# radosgw-admin mfa check  --uid=johndoe --totp-serial=MFAtest --totp-pin=870305
    ok

    PIN の初回テスト時の場合には、失敗する場合があります。失敗する場合は、トークンを再同期します。Red Hat Ceph Storage オブジェクトゲートウェイ設定および管理ガイドマルチファクター認証トークの再同期 を参照してください。

関連情報

6.6.5. マルチファクター認証 TOTP トークンの再同期

マルチファクター認証 (MFA) のタイムベースのワンタイムパスワードトークンを再同期します。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • Ceph Object Gateway がインストールされている。
  • Ceph Monitor ノード上での root アクセスがある。
  • MFA TOTP トークンは、radosgw-admin mfa create を使用して作成されました。

手順

  1. タイムスキューまたはチェックが失敗した場合に、マルチファクター認証 TOTP トークンを再同期します。

    これには、前のピンと現在のピンの 2 回連続して渡す必要があります。

    構文

    radosgw-admin mfa resync --uid=USERID --totp-serial=SERIAL --totp-pin=PREVIOUS_PIN --totp=pin=CURRENT_PIN

    USERID には MFA が設定されているユーザー名を設定し、SERIAL には TOTP トークンの ID を表す文字列を設定し、PREVIOUS_PIN にはユーザーの以前の PIN を設定し、CURRENT_PIN にはユーザーの現在の PIN を設定します。

    [root@host01 ~]# radosgw-admin mfa resync --uid=johndoe --totp-serial=MFAtest --totp-pin=802021 --totp-pin=439996

  2. 新しい PIN をテストしてトークンが正常に再同期されたことを確認します。

    構文

    radosgw-admin mfa check --uid=USERID --totp-serial=SERIAL --totp-pin=PIN

    USERID には MFA が設定されているユーザー名を設定し、SERIALには TOTP トークンの ID を表す文字列を設定し、PIN にはユーザーの PIN を設定します。

    [root@host01 ~]# radosgw-admin mfa check  --uid=johndoe --totp-serial=MFAtest --totp-pin=870305
    ok

関連情報

6.6.6. マルチファクター認証 TOTP トークンのリスト表示

特定のユーザーが持っているすべてのマルチファクター認証 (MFA) 時間ベースのワンタイムパスワード (TOTP) トークンをリスト表示します。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • Ceph Object Gateway がインストールされている。
  • Ceph Monitor ノード上での root アクセスがある。
  • MFA TOTP トークンは、radosgw-admin mfa create を使用して作成されました。

手順

  • MFA TOTP トークンをリスト表示します。

    構文

    radosgw-admin mfa list --uid=USERID

    USERID に、MFA が設定されているユーザー名を設定します。

    [root@host01 ~]# radosgw-admin mfa list --uid=johndoe
    {
        "entries": [
            {
                "type": 2,
                "id": "MFAtest",
                "seed": "492dedb20cf51d1405ef6a1316017e",
                "seed_type": "hex",
                "time_ofs": 0,
                "step_size": 30,
                "window": 2
            }
        ]
    }

関連情報

6.6.7. マルチファクター認証 TOTP トークンの表示

シリアルを指定して、特定のマルチファクター認証 (MFA) 時間ベースのワンタイムパスワード (TOTP) トークンを表示します。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • Ceph Object Gateway がインストールされている。
  • Ceph Monitor ノード上での root アクセスがある。
  • MFA TOTP トークンは、radosgw-admin mfa create を使用して作成されました。

手順

  • MFA TOTP トークンを表示します。

    構文

    radosgw-admin mfa get --uid=USERID --totp-serial=SERIAL

    USERID には MFA が設定されているユーザー名に設定し、SERIAL には TOTP トークンの ID を表す文字列に設定します。

関連情報

6.6.8. マルチファクター認証 TOTP トークンの削除

マルチファクター認証 (MFA) のタイムベースワンタイムパスワード (TOTP) トークンを削除します。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • Ceph Object Gateway がインストールされている。
  • Ceph Monitor ノード上での root アクセスがある。
  • MFA TOTP トークンは、radosgw-admin mfa create を使用して作成されました。

手順

  1. MFA TOTP トークンを削除します。

    構文

    radosgw-admin mfa remove --uid=USERID --totp-serial=SERIAL

    USERID には MFA が設定されているユーザー名に設定し、SERIAL には TOTP トークンの ID を表す文字列に設定します。

    [root@host01 ~]# radosgw-admin mfa remove --uid=johndoe --totp-serial=MFAtest

  2. MFA TOTP トークンが削除されたことを確認します。

    構文

    radosgw-admin mfa get --uid=USERID --totp-serial=SERIAL

    USERID には MFA が設定されているユーザー名に設定し、SERIAL には TOTP トークンの ID を表す文字列に設定します。

    [root@host01 ~]# radosgw-admin mfa get --uid=johndoe --totp-serial=MFAtest
    MFA serial id not found

関連情報