Как создать нового пользователя в OpenShift?

Я пытаюсь узнать, как создать нового пользователя на предприятии OpenShift.

Согласно документации (на https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/projects_and_users.html):

Обычные пользователи создаются в системе автоматически при первом входе...

Это звучит нелогично. Как пользователь входит в систему, если у него нет имени пользователя и пароля?

Может кто-нибудь прояснить это - я уверен, что должна быть какая-то команда для создания нового пользователя, но это неясно.

Спасибо


person Magick    schedule 23.03.2016    source источник
comment
У меня та же проблема с источником, который, как я знаю, является восходящим, и поэтому, вероятно, будут проблемы с документами, но с такой большой системой вы могли бы подумать, что они предоставят подробную информацию о том, как войти в систему в первую очередь . Если вам нужно зарегистрировать ошибку, проверьте это: bugzilla.redhat.com/enter_bug .cgi?product=OpenShift+Онлайн   -  person volvox    schedule 07.07.2016


Ответы (2)


Мастер-конфигурация OpenShift (/etc/openshift/master/master-config.yaml) описывает конфигурацию аутентификации. По умолчанию master-config показывает что-то вроде этого для части аутентификации:

 identityProviders:
  - challenge: true
    login: true
    name: anypassword
    provider:
      apiVersion: v1
      kind: AllowAllPasswordIdentityProvider

Это означает, что каждый пользователь с любым паролем может пройти аутентификацию. Выполнив oc get users от имени system:admin, вы увидите всех пользователей. Эта конфигурация не рекомендуется. Вы можете настроить другую форму аутентификации (htpasswd, ldap, github, ...).

Я использую htpasswd. Итак, вам нужно создать файл (с помощью htpasswd), который будет содержать ваше имя пользователя + зашифрованный пароль. После этого вам нужно будет отредактировать файл master-config.yaml. Вы должны сказать ему использовать HTPasswdPasswordIdentityProvider и ссылку на ваш файл.

Эти шаги можно найти здесь. Не забудьте перезапустить мастер OpenShift после выполнения этих шагов: sudo service openshift-master restart (origin-master для происхождения).

После создания пользователей вы можете назначить им роли. Войдите в систему с правами администратора по умолчанию (система:администратор) и назначьте роли.

person lvthillo    schedule 24.03.2016
comment
ОБНОВЛЕНИЕ: когда вы используете ansible playbook для установки своей среды, во время установки будет создан файл htpasswd. - person lvthillo; 07.07.2016
comment
Вопрос: пользователи, которых вы создаете с помощью htpasswd, являются простыми пользователями, верно? Как создать администратора? - person engineerX; 02.02.2018
comment
Это было давно, но я думаю, что вам нужно было войти в систему как system:admin с oc, а затем вы можете сделать пользователя администратором, назначив ему роль кластера администратора кластера: политика oadm add-cluster-role-to-user cluster-admin ‹ имя пользователя> - person lvthillo; 02.02.2018

Я создаю скрипт для простого добавления пользователя, если OpenShift использует HTPasswdPasswordIdentityProvider

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
person ejlp12    schedule 13.11.2017