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
を使用して生成されたファイルです。