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