本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon SAM 模板中设置和管理资源访问
为了使 Amazon 资源互相交互,必须在资源之间配置适当的访问和权限。这样做需要配置 Amazon Identity and Access Management(IAM)用户、角色和策略以安全的方式完成交互。
本节中的主题都与设置对模板中定义的资源的访问相关。本节从一般最佳实践开始。接下来的两个主题回顾了在无服务器应用程序中引用的资源之间设置访问和权限的两个选项:Amazon SAM 连接器和 Amazon SAM 策略模板。最后一个主题提供了使用 Amazon CloudFormation 用于管理用户的相同机制来管理用户访问的详细信息。
要了解更多信息,请参阅《Amazon CloudFormation 用户指南》中的使用 Amazon Identity and Access Management 控制访问。
Amazon Serverless Application Model(Amazon SAM) 提供了两个选项来简化对无服务器应用程序的访问和权限的管理。
-
Amazon SAM 连接器
-
Amazon SAM 策略模板
Amazon SAM 连接器
连接器是在两个资源之间配置权限的一种方式。要进行这种配置,您需要在 Amazon SAM 模板中描述两个资源应如何互相交互。可以使用 Connectors
资源属性或 AWS::Serverless::Connector
资源类型进行定义。连接器支持在 Amazon 资源组合之间配置数据和事件的 Read
和 Write
访问权限。要了解有关 Amazon SAM 连接器的更多信息,请参阅使用 Amazon SAM
连接器管理资源权限。
Amazon SAM 策略模板
Amazon SAM 策略模板是预定义的权限集,您可以将其添加到 Amazon SAM 模板中,以管理 Amazon Lambda 函数、Amazon Step Functions 状态机及其与之交互的资源之间的访问权限和权限。要了解有关 Amazon SAM 策略模板的更多信息,请参阅 Amazon SAM 策略模板。
Amazon CloudFormation 机制
Amazon CloudFormation 机制包括配置 IAM 用户、角色和策略,以管理 Amazon 资源之间的权限。要了解更多信息,请参阅 使用 Amazon CloudFormation 机制管理 Amazon SAM 权限。
最佳实践
在整个无服务器应用程序中,您可以使用多种方法来配置资源之间的权限。因此,您可以为每个场景选择最佳选项,并在整个应用程序中结合使用多个选项。选择最适合您的选项时,需要考虑以下几点:
-
Amazon SAM 连接器和策略模板都可减少促进 Amazon 资源之间安全交互所需的 IAM 专业知识。如果受支持,请使用连接器和策略模板。
-
Amazon SAM 连接器提供简单直观的速记语法以供用于在 Amazon SAM 模板中定义权限,对 IAM 专业知识的要求最低。如果 Amazon SAM 连接器和策略模板都受支持,请使用 Amazon SAM 连接器。
-
Amazon SAM 连接器可以在受支持的 Amazon SAM 源资源和目的地资源之间配置数据和事件的
Read
和Write
访问权限。有关受支持的资源的列表,请参阅 Amazon SAM 连接器参考。如果受支持,请使用 Amazon SAM 连接器。 -
虽然 Amazon SAM 策略模板仅适用于配置 Lambda 函数、Step Functions 状态机及其与之交互的 Amazon 资源之间的权限,但策略模板支持所有 CRUD 操作。如果受支持并且有适用于您的场景的 Amazon SAM 策略模板,请使用 Amazon SAM 策略模板。有关可用策略模板的列表,请参阅 Amazon SAM 策略模板。
-
对于所有其他场景,或者需要精细度时,请使用 Amazon CloudFormation 机制。