

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

# 部署控制面板
<a name="deployment-dashboard-1"></a>

## API Gateway 自定义授权方
<a name="api-gateway-custom-authorizers"></a>

从表面上看，所有 API 调用（包括 RESTful 和 WebSocket 基于）都使用 API Gateway 的 Lambda 自定义授权器，以验证给定用户是否有权根据他们所属的组执行操作。此自定义授权方由 DynamoDB 表提供支持，该表包含每个群组的策略。在调用 API 时，API Gateway 会调用自定义授权方 Lambda 函数，该函数对提供的 Amazon Cognito 访问令牌进行解码，以确定该用户属于哪些用户组。然后按组名查询策略表，以返回该组的相关策略。

在每个新的用例部署中，管理员策略都会更新以存储一条新语句，允许对该用例的 API **执行 execute-API: Invoke** 操作。删除用例后，相应的语句将从策略中删除。

对于为单个用例创建的群组，策略中仅存在一条语句，仅允许对该用例的 API **执行 Execute-API: Invoke** 操作。

由于这种结构，属于用例组的任何用户都可以访问该用例的 API。也可以将单个用户手动添加到多个群组，以允许该用户使用多个用例。

**警告**  
如果您想向现有用户组授予对新用例的访问权限，也可以在策略表中手动编辑给定组的策略。用例组会在删除用例时删除（即使您进行了手动编辑），因此在删除用例时请谨慎行事。

如果用例堆栈是独立部署的（不使用部署控制面板），则会为该部署创建一个 [Amazon Cognito 用户池](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html)，其中包含有权访问该用例的 API 的单个用户。此用户池仅属于此用例，不与其他独立部署共享。