Возможно ли сделать авторизацию в приватном реестре Docker по SSL?
Ситуация следующая: есть сервак с докером на нём контейнер с реестром (nginx нету), есть другой сервак с центральным nginx (он проксирует запросы со шлюза на нужные сервера), ну и есть клиенты (убунта) которые хотят подключиться к реестру.
Как лучше сделать авторизацию по сертификату (нужно ли поднимать для этого отдeльный контейнере с nginx рядом с контейнером реестра или возможно обойтись основным, центральным nginx)?
И возможно ли как-то сделать авторизацию для каждого клиента по отдельному ключу (генерировать на стороне реестра или nginx и кидать клиенту, чтобы тот мог авторизоваться в реестре), чтобы в любой момент этот ключ отозвать?
Так как докером занялся вплотную недавно, то буду рад, если поделитесь Вашим опытом, расскажите как это реализовывали Вы. Возможно какие-то советы по автоматизации. Ссылки на маны приветствуются, хотя от прочитанного в гугле сейчас такая каша в голове, везде у всех по-разному...
Уточняющие вопросы:
1) В данном случае авторизация происходит на стороне nginx, a не докер реестра? Сертификаты не нужно скидывать на сервер с докером и мапить папку в реестр?
2) То есть получается 1 сертификат для всех клиентов докер реестра? Если да, то возможно ли как-то сделать авторизацию для каждого клиента по отдельному ключу.
3) Откуда берутся в данном случае CA.pub\CA.crl (ssh-keygen или certbot тоже может?)?
Ага, я понял. А средствами docker registry возможно это осуществить такое:
Допустим, что реестр находится на 192.168.1.83, с него генерирую сертификат для клиента с ip 192.168.1.1 (например через openssl), скидываю клиенту и только клиент с этим ip и этим сертификатом может авторизоваться в docker регистре.
Возможно реализовать такую логику?
Артём Брыкин, Сам DR не умеет, поскольку Docker registry - это про хранение образов, а не настройку PKI. Вы бы п.2 из предыдущего моего коммента таки освоили.