微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS Lambda以编程方式设置函数访问策略

如何解决AWS Lambda以编程方式设置函数访问策略

我正在尝试使用this example设置用户特定的Lambda策略。有人可以告诉我为什么这种仅访问一个lambda的资源规范是错误的吗?

resource = "arn:aws:region:*:*:function:orderinputapi-alpha-writeMe";

当我使用时:

resource="*"

它可以正常工作(用户具有对所有lambda的完全访问权限),但是当我尝试将访问限制为仅允许单个lambda函数时,当我尝试访问它时,我得到“用户无权访问该资源”。我确认该函数是lambda的确切名称

我的代码创建的完整策略声明为:

{ Action: 'execute-api:Invoke',Effect: 'Allow',Resource:'arn:aws:region:*:*:function:orderinputapi-alpha-writeMe' }

解决方法

您的ARN错误: 而不是arn:aws:region:*:*:function:orderinputapi-alpha-writeMe,它应该是arn:aws:lambda:*:*:function:orderinputapi-alpha-writeMe

此外,如果您为相同的区域和帐户设置权限,则只需删除*即可使ARN为:

arn:aws:lambda:::function:orderinputapi-alpha-writeMe

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。