This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第7章 アイデンティティープロバイダーの設定
7.1. HTPasswd アイデンティティープロバイダーの設定
7.1.1. OpenShift Container Platform のアイデンティティープロバイダーについて
					デフォルトでは、kubeadmin ユーザーのみがクラスターに存在します。アイデンティティープロバイダーを指定するには、アイデンティティープロバイダーを記述し、これをクラスターに追加するカスタムリソースを作成する必要があります。
				
						/、:、および % を含む OpenShift Container Platform ユーザー名はサポートされません。
					
HTPasswd アイデンティティープロバイダーを定義するには、以下の手順を実行する必要があります。
- 
							ユーザーおよびパスワード情報を保存するために htpasswdファイルを作成します。Linux および Windows用の手順が説明されます。
- 
							 htpasswdファイルを表すために OpenShift Container Platform シークレットを作成します 。
- HTPasswd アイデンティティープロバイダーリソースを定義します。
- リソースをデフォルトの OAuth 設定に適用します 。
7.1.2. Linux を使用した HTPasswd ファイルの作成
					HTPasswd アイデンティティープロバイダーを使用するには、htpasswdを使用してクラスターのユーザー名およびパスワードを含むフラットファイルを生成する必要があります。
				
前提条件
- 
							htpasswdユーティリティーへのアクセスがあること。Red Hat Enterprise Linux では、これはhttpd-toolsパッケージをインストールして利用できます。
手順
- ユーザー名およびハッシュされたパスワードを含むフラットファイルを作成します。 - htpasswd -c -B -b </path/to/users.htpasswd> <user_name> <password> - $ htpasswd -c -B -b </path/to/users.htpasswd> <user_name> <password>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - コマンドにより、ハッシュされたバージョンのパスワードが生成されます。 - 以下は例になります。 - htpasswd -c -B -b users.htpasswd user1 MyPassword! - $ htpasswd -c -B -b users.htpasswd user1 MyPassword! Adding password for user user1- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ファイルに対する認証情報の追加またはその更新を継続します。 - htpasswd -B -b </path/to/users.htpasswd> <user_name> <password> - $ htpasswd -B -b </path/to/users.htpasswd> <user_name> <password>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
7.1.3. Windows を使用した HTPasswd ファイルの作成
					HTPasswd アイデンティティープロバイダーを使用するには、htpasswdを使用してクラスターのユーザー名およびパスワードを含むフラットファイルを生成する必要があります。
				
前提条件
- 
							htpasswd.exeへのアクセスがあること。このファイルは、数多くの Apache httpd ディストリビューションの\binディレクトリーに含まれます。
手順
- ユーザー名およびハッシュされたパスワードを含むフラットファイルを作成します。 - > htpasswd.exe -c -B -b <\path\to\users.htpasswd> <user_name> <password> - > htpasswd.exe -c -B -b <\path\to\users.htpasswd> <user_name> <password>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - コマンドにより、ハッシュされたバージョンのパスワードが生成されます。 - 以下は例になります。 - > htpasswd.exe -c -B -b users.htpasswd user1 MyPassword! Adding password for user user1 - > htpasswd.exe -c -B -b users.htpasswd user1 MyPassword! Adding password for user user1- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ファイルに対する認証情報の追加またはその更新を継続します。 - > htpasswd.exe -b <\path\to\users.htpasswd> <user_name> <password> - > htpasswd.exe -b <\path\to\users.htpasswd> <user_name> <password>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
7.1.4. HTPasswd シークレットの作成
HTPasswd アイデンティティープロバイダーを使用するには、HTPasswd ユーザーファイルが含まれるシークレットを定義する必要があります。
前提条件
- HTPasswd ファイルを作成します。
手順
- HTPasswd ユーザーファイルが含まれる OpenShift Container Platform シークレットを作成します。 - oc create secret generic htpass-secret --from-file=htpasswd=</path/to/users.htpasswd> -n openshift-config - $ oc create secret generic htpass-secret --from-file=htpasswd=</path/to/users.htpasswd> -n openshift-config- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- 上記のコマンドが示すように、 - --from-file引数についてのユーザーファイルを含むシークレットキーには- htpasswdという名前を指定する必要があります。
7.1.5. HTPasswd CR のサンプル
以下のカスタムリソース (CR) は、HTPasswd アイデンティティープロバイダーのパラメーターおよび許可される値を示します。
HTPasswd CR
7.1.6. アイデンティティープロバイダーのクラスターへの追加
クラスターのインストール後に、アイデンティティープロバイダーをそのクラスターに追加し、ユーザーの認証を実行できるようにします。
前提条件
- OpenShift Container Platform クラスターを作成します。
- アイデンティティープロバイダーのカスタムリソース (CR) を作成します。
- 管理者としてログインしている必要があります。
手順
- 定義された CR を適用します。 - oc apply -f </path/to/CR> - $ oc apply -f </path/to/CR>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- CR が存在しない場合、 - oc applyは新規 CR を作成し、さらに以下の警告をトリガーする可能性があります。- Warning: oc apply should be used on resources created by either oc create --save-config or oc applyこの場合は、この警告を無視しても問題ありません。
- アイデンティティープロバイダーのユーザーとしてクラスターにログインし、プロンプトが出されたらパスワードを入力します。 - oc login -u <username> - $ oc login -u <username>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ユーザーが正常にログインされていることを確認し、ユーザー名を表示します。 - oc whoami - $ oc whoami- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
7.1.7. HTPasswd アイデンティティープロバイダーの更新
既存の HTPasswd アイデンティティープロバイダーにユーザーを追加したり、既存の HTPasswd アイデンティティープロバイダーからユーザーを削除したりできます。
前提条件
- 
							HTPasswd ユーザーファイルが含まれるシークレットを作成している。この手順では、htpass-secretという名前であることを前提としています。
- 
							HTPasswd アイデンティティープロバイダーを設定している。この手順では、my_htpasswd_providerという名前であることを前提としています。
- 
							htpasswdユーティリティーへのアクセスがある。Red Hat Enterprise Linux では、これはhttpd-toolsパッケージをインストールして利用できます。
- クラスター管理者の権限がある。
手順
- HTPasswd ファイルを - htpass-secretシークレットから取得し、ファイルをお使いのファイルシステムに保存します。- oc get secret htpass-secret -ojsonpath={.data.htpasswd} -n openshift-config | base64 -d > users.htpasswd- $ oc get secret htpass-secret -ojsonpath={.data.htpasswd} -n openshift-config | base64 -d > users.htpasswd- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- users.htpasswdファイルからユーザーを追加したり、削除したりします。- 新規ユーザーを追加するには、以下を実行します。 - htpasswd -bB users.htpasswd <username> <password> - $ htpasswd -bB users.htpasswd <username> <password> Adding password for user <username>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 既存ユーザーを削除するには、以下を実行します。 - htpasswd -D users.htpasswd <username> - $ htpasswd -D users.htpasswd <username> Deleting password for user <username>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- htpass-secretシークレットを、- users.htpasswdファイルの更新されたユーザーに置き換えます。- oc create secret generic htpass-secret --from-file=htpasswd=users.htpasswd --dry-run -o yaml -n openshift-config | oc replace -f - - $ oc create secret generic htpass-secret --from-file=htpasswd=users.htpasswd --dry-run -o yaml -n openshift-config | oc replace -f -- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 複数のユーザーを削除した場合は、追加でユーザーごとに既存のリソースを削除する必要があります。 - ユーザーを削除します。 - oc delete user <username> - $ oc delete user <username> user.user.openshift.io "<username>" deleted- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ユーザーを必ず削除してください。削除しない場合、ユーザーは期限切れでない限り、トークンを引き続き使用できます。 
- ユーザーのアイデンティティーを削除します。 - oc delete identity my_htpasswd_provider:<username> - $ oc delete identity my_htpasswd_provider:<username> identity.user.openshift.io "my_htpasswd_provider:<username>" deleted- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
7.1.8. Web コンソールを使用したアイデンティティープロバイダーの設定
CLI ではなく Web コンソールを使用してアイデンティティープロバイダー (IDP) を設定します。
前提条件
- クラスター管理者として Web コンソールにログインしている必要があります。
手順
- 
							Administration Cluster Settings に移動します。 
- Global Configuration タブで、OAuth をクリックします。
- Identity Providers セクションで、Add ドロップダウンメニューからアイデンティティープロバイダーを選択します。
既存の IDP を上書きすることなく、Web コンソールで複数の IDP を指定することができます。