Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

13.3.5. HTPasswd

ユーザー名およびパスワードを htpasswd を使用して生成されたフラットファイルに対して検証するには、identityProviders スタンザに HTPasswdPasswordIdentityProvider を設定します。

注記

htpasswd ユーティリティーは httpd-tools パッケージにあります。

# yum install httpd-tools

OpenShift Container Platform では、 Bcrypt、SHA-1、および MD5 暗号化ハッシュ関数がサポートされ、MD5 は htpasswd のデフォルトです。プレーンテキスト、暗号化テキスト、およびその他のハッシュ関数は、現時点ではサポートされていません。

フラットファイルは、その変更時間が変わると再度読み取られます。サーバーの再起動は必要ありません。

重要

OpenShift Container Platform マスター API は静的 Pod として実行されるため、/etc/origin/master/HTPasswdPasswordIdentityProvider htpasswd ファイルを作成し、これがコンテナーによって読み取られるようにする必要があります。

htpasswd コマンドを使用するには、以下の手順を実行します。

  • ユーザー名とハッシュされたパスワードを含むフラットファイルを作成するには、以下を実行します。

    $ htpasswd -c /etc/origin/master/htpasswd <user_name>

    次に、ユーザーのクリアテキストのパスワードを入力し、確認します。コマンドにより、ハッシュされたバージョンのパスワードが生成されます。

    以下に例を示します。

    htpasswd -c /etc/origin/master/htpasswd user1
    New password:
    Re-type new password:
    Adding password for user user1
    注記

    -b オプションを追加すると、パスワードをコマンドラインに指定できます。

    $ htpasswd -c -b <user_name> <password>

    以下に例を示します。

    $ htpasswd -c -b file user1 MyPassword!
    Adding password for user user1
  • ファイルにログインを追加するか、ログインを更新するには、以下のコマンドを実行します。

    $ htpasswd /etc/origin/master/htpasswd <user_name>
  • ファイルからログインを削除するには、以下のコマンドを実行します。

    $ htpasswd -D /etc/origin/master/htpasswd <user_name>

例13.4 HTPasswdPasswordIdentityProvider を使用したマスター設定

oauthConfig:
  ...
  identityProviders:
  - name: my_htpasswd_provider 1
    challenge: true 2
    login: true 3
    mappingMethod: claim 4
    provider:
      apiVersion: v1
      kind: HTPasswdPasswordIdentityProvider
      file: /etc/origin/master/htpasswd 5
1
このプロバイダー名は、プロバイダーのユーザー名に接頭辞として付加され、アイデンティティー名が作成されます。
2
true の場合、非 Web クライアント (CLI など) からの認証されていないトークン要求は、このプロバイダーの WWW-Authenticate challenge ヘッダーと共に送信されます。
3
true の場合、Web クライアント (Web コンソールなど) からの認証されていないトークン要求は、このプロバイダーがサポートするログインページにリダイレクトされます。
4
このプロバイダーのアイデンティティーとユーザーオブジェクト間のマッピングの確立方法を制御します (上記 を参照してください)。
5
htpasswd を使用して生成されたファイルです。