0

我一直试图在使用云形态模板的API网关中创建API时使用IAM角色,以便API网关可以调用设置为端点的Lambda函数特定的GET/POST调用。在Cloudformation模板中为AWS API网关使用IAM角色

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

这是有益的,如果有要调用一个lambda函数。但是,如果使用JSON/Swagger定义部署API,并且有多个lambda函数作为端点,那么所有这些都需要添加到云形成模板中。

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

回答

0

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

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

请注意,这会在运行时增加一些延迟,因为在每次调用Lambda函数之前,API网关都必须执行额外的假定角色调用。

+0

您能否提供一个指定IAM角色作为使用CloudFormation的API网关集成的一部分的示例? –

+0

我没有一个方便的示例,但文档位于以下位置:http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html请参阅“证书”部分下的属性。 –

相关问题