Sudo не удается найти файл, существующий в экземпляре EC2, при запуске в конфигурации ebextension

#amazon-web-services #amazon-ec2 #amazon-elastic-beanstalk #config

#amazon-web-services #amazon-ec2 #amazon-elastic-beanstalk #конфигурация

Вопрос:

У меня есть экземпляр elastic beanstalk, и я могу получить доступ к базовому EC2 с помощью SSM, и когда я это делаю, я могу четко видеть, что этот файл /etc/sudoers.d/ssm-agent-users существует, однако, когда я добавляю следующую команду в конфигурацию ebextension:

 01-command:
  command: sudo sed -i '/ssm-user ALL=(ALL) NOPASSWD:ALL/d' /etc/sudoers.d/ssm-agent-users
  

при попытке развертывания экземпляра EB отображается эта ошибка:

 Command failed on instance. Return code: 2 Output: sed: can't read /etc/sudoers.d/ssm-agent-users: No such file or directory. command 01-command in .ebextensions/05_run_startup_script.config failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
  

Кто-нибудь знает, почему я могу четко видеть файл при доступе к EC2 с помощью сеанса, но команда ebextension, похоже, не может найти тот же файл?

Для тех, кому интересно, я пытаюсь автоматически отключить SSM-доступ для экземпляра во время запуска.

Комментарии:

1. Есть ли причина, по которой вы делаете это таким образом? Вы можете запретить доступ к SSM, просто не предоставляя права доступа SSM для роли экземпляра.

2. Я считаю, что по соображениям безопасности необходимо запретить кому-либо с доступом IAM просто предоставлять разрешения SSM обратно роли без них, если это возможно.

Ответ №1:

ssm-agent-users файл создается только после первого входа в SSM Session Manager. Таким образом, новые экземпляры не будут иметь этот файл из коробки.

Но если вы хотите заблокировать диспетчер сеансов, вы можете Deny использовать его разрешения в своей роли экземпляра. Здесь показаны разрешения.

Комментарии:

1. Да, мы можем сделать это через IAM, я думаю, если нет альтернативы. Вы случайно не знаете, может ли это работать в качестве альтернативы sudo yum erase amazon-ssm-agent –y ? Я полагаю, что это в основном полностью удаляет агент SSM.

2. @new-dev-123 Я все еще не понимаю. Что это решит, если вы удалите его? Любой пользователь все равно может установить его позже. Вот почему у вас есть разрешения IAM, которые контролируют доступ к SSM.