Я нанимаю разработчика, который создаст для меня проект. Он попросил меня создать учетную запись AWS Lambda, чтобы он мог создать приложение.
Я создал пользователя с доступом к полной политике AWS Lambda, но этого было недостаточно, в конце концов, я назначил пользователю политику SystemAdministrator по умолчанию. Но он говорит, что этого недостаточно. Он хочет иметь возможность создавать роли, и теперь он запрашивает root-доступ или мой логин владельца AWS.
Звучит правильно? Нужен ли ему такой уровень доступа для разработки проекта?
Он прав, что SystemAdministrator
политика не имеет прав на создание ролей IAM, которые потребуются для Lambda. Вы никогда не должны никому предоставлять root-доступ или свои учетные данные. Вы можете назначить его пользователю AdministratorAccess
политика, которая позволяет предпринимать любые действия. Не зная полной информации о том, что именно нужно сделать, трудно рекомендовать более ограничительные разрешения, но всегда рекомендуется минимальное количество необходимых привилегий.
Это сильно зависит от того, что он должен делать, и, в конце концов, это скорее вопрос доверия и бюджета.
У вас должно быть несколько учетных записей AWS, связанных вместе с AWS Organizations.
Таким образом, имея производственную учетную запись и учетную запись разработчика и ограничивая ежемесячный бюджет учетной записи разработчика, чтобы не приходить на работу в понедельник, заметив, что разработчик создал 1000 больших инстансов EC2 в пятницу вечером, и покинул офис на выходные, не отключив их снова.
Когда дело доходит до доверия, я предпочитаю наименее необходимые привилегии. Не должно быть необходимости предоставлять доступ к производственной учетной записи, поскольку все развертывания - даже развертывания инфраструктуры - должны проверяться, автоматизировать и контролироваться людьми, ответственными за запуск службы (DevOps, администраторы, SRE, как вы ни называете ребят, которые просыпайтесь ночью, чтобы исправить свои услуги). Таким образом, вся разработка должна выполняться в учетной записи разработчика AWS и после тщательного тестирования развертываться в производственной среде.