Аутентификация нескольких пользователей для Docker Private Registry, работающей в Kubernetes - PullRequest
1 голос
/ 14 февраля 2020

Я использую личный реестр docker внутри кластера kubernetes , используя стандартный образ registry:2. Образ имеет базовую c функциональность для обеспечения аутентификации пользователя с помощью утилиты Apache htpasswd. В моем случае несколько пользователей должны иметь доступ к хранилищу и, следовательно, должны установить пароли для нескольких пользователей. Каков наилучший подход для реализации этого.

Я установил однопользовательскую аутентификацию на основе htpsswd, но, похоже, не нашел способа включить аутентификацию для нескольких пользователей, то есть иметь надлежащий контроль доступа.

Реестр поддерживает SSL. (TLS на входном уровне)

1 Ответ

2 голосов
/ 17 февраля 2020

Есть несколько способов сделать это. Прежде всего, можно иметь несколько пользователей в файле htpasswd. Он не работал с docker, поскольку docker требовал хэширования паролей с использованием алгоритма bcrypt.

Используйте флаг -B при создании файла htpasswd.

sudo htpasswd -c -B /etc/apache2/.htpasswd <username1>

Другой Это можно сделать, используя nginx аннотации аутентификации.

nginx.ingress.kubernetes.io/auth-url: "url to auth service"

Если сервис вернет 200, nginx перенаправит запрос или вернет ответ об ошибке аутентификации. При этом вы можете получить множество пользовательских логи c при создании и управлении сервером аутентификации.

...