У нас есть приложение в prod, развернутое на экземплярах AWS EC2 (Linux и Windows). Ресурсы AWS были созданы с помощью скриптов Ansible с использованием открытых / закрытых ключей роли IAM (скажем, пользователь X
, роль IAM Y
).
Какой самый простой способ обеспечить закрытие всех экземпляров внутри публичного VPC (бастиона) для бывшего сотрудника X
после отказа от его роли Y
?
Как я понимаю, когда вы настраиваете EC2 SSH-соединение, вы должны сделать две вещи:
- Создание входного правила TCP-порта 22 для экземпляра EC2 в общедоступном VPC с указанием IP-адресов, разрешенных для подключения
- Хранить открытый ключ в экземпляре EC2 (
~/.ssh/authorized_key
для Linux) и публичные / закрытые ключи (.pem) в локальном
Но предположим, что пользователь X
установил SSH-соединение с экземпляром бастионного EC2, сгенерировал другую пару ключей и добавил открытый ключ к ~/.ssh/authorized_key
. Тогда после отбрасывания роли Y
бывший сотрудник X
все равно будет иметь SSH-доступ к экземпляру, верно?
Должен ли я вообще беспокоиться о ключах SSH в инстансах EC2? Достаточно ли указать только белый список IP-адресов для правила входа TCP?