我正在聘请一名开发人员为我创建一个项目。他要求我创建一个 AWS Lambda 账户,以便他可以创建应用程序。
我创建了一个可以访问完整 AWS Lambda 策略的用户,但这还不够,最终,我为该用户分配了默认的 SystemAdministrator 策略。但他说这还不够。他希望能够创建角色,现在他要求获得 Root 访问权限或我的 AWS 所有者登录名。
听起来对吗?他需要这种级别的权限来开发项目吗?
答案1
他是正确的,该SystemAdministrator
策略缺乏创建 IAM 角色的权限,而 Lambda 需要这些权限。您永远不应向任何人提供 root 访问权限或您的登录凭据。您可以为他的用户分配AdministratorAccess
允许采取任何操作的策略。如果不知道需要完成的具体操作,很难推荐更严格的权限,但始终建议所需的权限最少。
答案2
这在很大程度上取决于他应该做什么,最终更多的是一个信任和预算的问题。
您应该拥有多个与 AWS 组织连接在一起的 AWS 账户。
因此,拥有一个生产帐户和一个开发人员帐户,并限制开发人员帐户的每月预算,以免在周一上班时注意到开发人员在周五晚上生成了 1000 个大型 EC2 实例,并在周末离开办公室而没有再次关闭它们。
说到信任,我更喜欢最少需要的权限。根本不需要授予对生产帐户的访问权限,因为所有部署(甚至基础设施部署)都应由负责运行服务的人员(DevOps、管理员、SRE,无论你如何称呼那些在晚上醒来修复你的服务的人)进行审查、自动化和监控。因此,所有开发都应该在开发人员 AWS 帐户上完成,并在经过充分测试后部署到生产中。