View a markdown version of this page

部署控制面板 - AWS 上的生成式人工智能应用程序构建者

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

部署控制面板

API Gateway 自定义授权方

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

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

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

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

警告

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

如果用例堆栈是独立部署的(不使用部署控制面板),则会为该部署创建一个 Amazon Cognito 用户池,其中包含有权访问该用例的 API 的单个用户。此用户池仅属于此用例,不与其他独立部署共享。