如何与组织中的其他用户共享 lambda 函数

How to share lambda function with another user in organization

我的公司是 AWS 的新手,我一直在试行构建 lambda 函数的开发工作。我已经完成编码,需要将其交给另一个团队。我如何允许其他团队成员access/run/execute/develop/etc...他们帐户中的 lambda 函数?

如果您只是想让他们调用 Lambda 交叉账户,这是您最初的问题,那么您可以 delegate access 给另一个 AWS 账户中的 IAM 用户(或所有用户),这样他们就可以假设在您的账户中创建一个角色并在您的账户中调用 Lambda 函数。

从技术上讲,您可以将 IAM 用户添加到您的帐户并为他们提供凭据,但这不是最佳做法。跨账户角色优先。

但这真的是你想要的吗?例如,它不允许他们更新 Lambda 函数。您需要考虑他们的职责是什么。如果他们要维护 Lambda 函数,那么他们更有可能将 Lambda 函数部署到他们的账户中,并且您可以让他们的 Lambda 函数跨账户访问您的 AWS 账户中它需要的任何资源。

如果您想共享开发,请使用共享代码存储库(如 GitHub 或 CodeCommit)并创建一个流程,以自动或其他方式打包并将 Lambda 函数上传到您的帐户。同样,他们可能需要能够担任跨账户 IAM 角色才能更新 and/or 调用您的 Lambda 函数。

在更高层次上,如果您在这里构建的实际上是一个具有 API 的无服务器应用程序,那么请考虑使用无服务器框架或 AWS SAM,以及 API 网关进行开发、打包和部署。

关于您关于帐户结构的问题,这使我们与原始问题相去甚远,因此我建议您进一步阅读,例如 here and here。关于账户策略有很多意见,根据您的需要,其中一些可能是一个很好的匹配。