

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 AWS SAM 模板中设置和管理资源访问权限
<a name="sam-permissions"></a>

为了使您的 AWS 资源相互交互，必须在您的资源之间配置适当的访问权限和权限。为此，需要配置 AWS Identity and Access Management (IAM) 用户、角色和策略，以安全的方式完成互动。

本节中的主题都与设置对模板中定义的资源的访问相关。本节从一般最佳实践开始。接下来的两个主题回顾了在无服务器应用程序中引用的资源之间设置访问权限和权限的两个选项： AWS SAM 连接器和 AWS SAM 策略模板。最后一个主题详细介绍了如何使用与管理用户相同的机制 CloudFormation 来管理用户访问权限。

要了解更多信息，请参阅*《AWS CloudFormation 用户指南》*中的[使用 AWS Identity and Access Management控制访问](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html)。

 AWS Serverless Application Model (AWS SAM) 提供了两个选项，可简化对无服务器应用程序的访问和权限的管理。

1. AWS SAM 连接器

1. AWS SAM 策略模板

## AWS SAM 连接器
<a name="sam-permissions-intro-connectors"></a>

连接器是在两个资源之间配置权限的一种方式。为此，您可以通过在 AWS SAM 模板中描述它们应如何相互交互来实现。可以使用 `Connectors` 资源属性或 `AWS::Serverless::Connector` 资源类型进行定义。连接器支持在资源组合之间配置`Read`和`Write`访问数据和事件。 AWS 要了解有关 AWS SAM 连接器的更多信息，请参阅[使用 AWS SAM 连接器管理资源权限](managing-permissions-connectors.md)。

## AWS SAM 策略模板
<a name="sam-permissions-intro-policy-templates"></a>

AWS SAM 策略模板是预定义的权限集，您可以将其添加到 AWS SAM 模板中，以管理您的 AWS Lambda 函数、 AWS Step Functions 状态机及其与之交互的资源之间的访问权限和权限。要了解有关 AWS SAM 策略模板的更多信息，请参阅[AWS SAM策略模板](serverless-policy-templates.md)。

## AWS CloudFormation 机制
<a name="sam-permissions-intro-cloudformation"></a>

CloudFormation 机制包括配置 IAM 用户、角色和策略，以管理您的 AWS 资源之间的权限。要了解更多信息，请参阅[使用 CloudFormation 机制管理 AWS SAM 权限](sam-permissions-cloudformation.md)。

## 最佳实践
<a name="sam-permissions-intro-best-practices"></a>

在整个无服务器应用程序中，您可以使用多种方法来配置资源之间的权限。因此，您可以为每个场景选择最佳选项，并在整个应用程序中结合使用多个选项。选择最适合您的选项时，需要考虑以下几点：
+ AWS SAM 连接器和策略模板都减少了促进 AWS 资源之间安全交互所需的 IAM 专业知识。如果受支持，请使用连接器和策略模板。
+ AWS SAM 连接器提供了一种简单直观的简短语法，用于在 AWS SAM 模板中定义权限，并且只需要最少的 IAM 专业知识。当同时支持 AWS SAM 连接器和策略模板时，请使用 AWS SAM 连接器。
+ AWS SAM 连接器可以在支持的 AWS SAM 源资源和目标资源之间配置`Read`和`Write`访问数据和事件。有关受支持的资源的列表，请参阅 [AWS SAM 连接器参考](reference-sam-connector.md)。如果支持，请使用 AWS SAM 连接器。
+ 虽然 AWS SAM 策略模板仅限于您的 Lambda 函数、Step Functions 状态机及其与之交互的 AWS 资源之间的权限，但策略模板确实支持所有 CRUD 操作。如果支持并且有适用于您的场景的 AWS SAM 策略模板，请使用 AWS SAM 策略模板。有关可用策略模板的列表，请参阅 [AWS SAM策略模板](serverless-policy-templates.md)。
+ 对于所有其他场景，或者需要精细度时，请使用 CloudFormation 机制。