web-dev-qa-db-ja.com

OpenShiftで新しいユーザーを作成するにはどうすればよいですか?

OpenShiftエンタープライズで新しいユーザーを作成する方法を見つけようとしています。

ドキュメントによると( https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/projects_and_users.html ):

通常のユーザーは、最初のログイン時にシステムに自動的に作成されます...

これは非論理的に聞こえます。ユーザー名とパスワードを持っていない場合、ユーザーはどのようにログインしますか?

誰かがこれを明確にできますか?新しいユーザーを作成するためのコマンドが必要だと確信していますが、明確ではありません。

ありがとう

7
Magick

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 を割り当てます。

10
lvthillo

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
1
ejlp12