我已经从AWS的根帐户创建了角色HR,为此用户我已经附加了以下角色
现在,当我登录用户帐户并尝试在AWS Lambda中创建函数时,它给我错误
employee_id = seq(1:10)
manager_id =c(1,1,2,3,4,2,3,1,4,5)
hr=data.frame(employee_id,manager_id)
我不知道该如何解决以及我在哪里做错了。请帮助。
答案 0 :(得分:1)
之所以发生这种情况,是因为当您的新用户创建Lambda时,他们没有指定供Lambda使用的现有角色。在这种情况下,Lambda服务尝试使用可以附加到该Lambda函数的基本执行策略创建一个新的IAM角色。
要解决此问题,您有两种选择:
授予您新的IAM用户权限以创建角色。这可以通过在新策略中添加授予iam:CreateRole
权限的策略来完成。您也可以添加IAMFullAccess
受管角色。如果执行此操作,则最佳做法是还为该用户设置permission boundaries,以限制他们可以添加到其创建IAM资源中的IAM权限。
您可以使用root / admin用户预先创建一个Lambda execution role,其他用户在创建新的Lambda函数时可以在Lambda控制台中选择该用户。至少,此新角色将需要附加AWSLambdaBasicExecutionRole
个托管策略。创建完成后,另一方应在下拉菜单中将其视为与其新Lambda函数相关联的选择,并且他们可以选择它而不是要求Lambda创建全新的角色。
希望有帮助。