Смена владельца громоздкого секрета в Кубернетесе - PullRequest
0 голосов
/ 30 августа 2018

У меня есть секретный ключ ssh (/home/user/.ssh/id_rsa) в качестве секрета, смонтированного на томе в моем контейнере. Кажется, что Kubernetes монтирует его с помощью uid 0. Однако мое приложение работает от имени определенного пользователя и поэтому не может получить доступ к закрытому ключу ssh, чье разрешение должно быть не менее 600. Как я могу изменить владение своим личным ключом, чтобы оно отражало владельца конкретного пользователя?

спасибо.

1 Ответ

0 голосов
/ 30 августа 2018

В Linux имена пользователей сопоставляются с идентификатором пользователя, который можно увидеть с помощью команды id -u someusername.

Во многих случаях по умолчанию SSH требует, чтобы ваш ключ SSH принадлежал пользователю, работающему с SSH, и был скрыт для других 600

Поэтому я настоятельно рекомендую вам копировать ключ, а не монтировать его, если только у пользователя контейнера нет идентичного идентификатора пользователя.


Если вы используете контейнер linux, вы можете запустить команду внутри контейнера, чтобы получить точный идентификатор пользователя, а затем сократить ваши файлы с идентификатором пользователя вместо имени пользователя.

kubectl exec -it mypod bash или sh, если bash не работает $ id -u someuser

OR

kubectl exec -it mypod id -u если в вашем контейнере есть один пользователь, который запустил основной процесс

ТО

Скопируйте ваш id-файл, чтобы вы могли создать его, не мешая вашей способности работать с ssh.

mkdir -p /data/secrets/myapp
cp /home/user/.ssh/id_rsa /data/secrets/myapp/id_rsa
chown $MYAPPUSERID:$MYAPPUSERID /data/secrets/myapp/id_rsa
chmod 600 /data/secrets/myapp/id_rsa

Поскольку хост-операционная система, возможно, уже сопоставила этот идентификатор пользователя, может показаться , что ваши файлы принадлежат другому произвольному пользователю, но в конечном итоге важен идентификатор пользователя владельца / группы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...