OpenShiftエンタープライズで新しいユーザーを作成する方法を見つけようとしています。
ドキュメントによると( https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/projects_and_users.html ):
通常のユーザーは、最初のログイン時にシステムに自動的に作成されます...
これは非論理的に聞こえます。ユーザー名とパスワードを持っていない場合、ユーザーはどのようにログインしますか?
誰かがこれを明確にできますか?新しいユーザーを作成するためのコマンドが必要だと確信していますが、明確ではありません。
ありがとう
OpenShift master-config(/etc/openshift/master/master-config.yaml
)は、認証に関する設定を記述します。デフォルトでは、master-configはauthentication-partに対して次のようなものを表示します。
identityProviders:
- challenge: true
login: true
name: anypassword
provider:
apiVersion: v1
kind: AllowAllPasswordIdentityProvider
これは、すべてのパスワードを持つすべてのユーザーが認証できることを意味します。 system:adminとしてoc get users
を実行すると、すべてのユーザーが表示されます。この構成はお勧めしません。 別の形式の認証 (htpasswd、ldap、github、...)を構成できます。
Htpasswdを使用しています。したがって、ユーザー名と暗号化されたパスワードを含むファイル(htpasswdを使用)を作成する必要があります。その後、master-config.yaml
を編集する必要があります。 HTPasswdPasswordIdentityProvider
を使用してファイルにリンクするように指示する必要があります。
あなたはそれらのステップを見つけることができます ここ 。次の手順を実行した後、OpenShiftマスターを再起動することを忘れないでください:Sudo service openshift-master restart
(Origin-Originのマスター)。
ユーザーを作成した後、ユーザーにロールを割り当てることができます。デフォルトの管理者(system:admin)でログインし、 roles を割り当てます。
HTPasswdPasswordIdentityProvider
を使用してOpenShiftの場合にユーザーを追加するためのスクリプトを作成しています
wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64
mv jq-linux64 jq && chmod 755 jq
FILE=$(cat /etc/Origin/master/master-config.yaml | python -c 'import sys, yaml, json; y=yaml.load(sys.stdin.read()); print json.dumps(y,indent=4, sort_keys=True)' | ./jq '.oauthConfig.identityProviders[0].provider.file')
FILE=$(sed -e 's/^"//' -e 's/"$//' <<<"$FILE")
htpasswd $FILE user1