首页 文章

在Cloudformation模板中使用AWS API网关的IAM角色

提问于
浏览
0

我在使用 Cloud 信息模板在API网关中创建API时尝试使用IAM角色,以便API网关可以调用Lambda函数,该函数被设置为特定GET / POST调用的 endpoints .

我在搜索时遇到了这个问题: - How can I grant permission to API Gateway to invoke lambda functions through CloudFormation?

如果要调用一个lambda函数,这会很有用 . 但是如果使用JSON / Swagger定义部署API并且有多个lambda函数作为 endpoints ,那么所有这些都需要添加到 Cloud 形成模板中 .

是否有任何其他模板资源可用于将IAM角色与API网关关联,而不是使用AWS :: Lambda :: Permission?

1 回答

  • 0

    我建议使用AWS :: Lambda :: Permission将每个Lambda函数分别添加到您的CloudFormation模板中 . 这为您提供了最佳的运行时性能,并且还明确地管理您的权限 .

    如果您反对这样做,那么另一种方法是让API Gateway通过角色调用您的Lambda函数 . 手动或通过CloudFormation在您的帐户中创建一个角色 . 授予此角色权限以使用星号(*)单独或大量调用Lambda函数 . 在定义API网关集成时指定此角色 . 在调用Lambda函数之前,API Gateway将承担此角色 .

    请注意,这确实会在运行时添加一些延迟,因为API Gateway必须在每次调用Lambda函数之前执行额外的假定角色调用 .

相关问题