本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 4:部署后配置
本节为部署后配置解决方案提供了建议。
Amazon S3 存储桶版本控制、生命周期策略和跨区域复制
此解决方案不对其创建的存储桶强制执行生命周期配置。我们建议执行下列操作:
-
为生产部署设置生命周期配置。有关详细信息,请参阅《Amazon 简单存储服务用户指南》中的设置存储桶的生命周期配置。
亚马逊 DynamoDB 备份
此解决方案将 DynamoDB 用于多种用途(请参阅本解决方案中的 AWS 服务)。该解决方案不为其创建的表启用备份。我们建议为生产部署创建此功能的备份。有关详细信息,请参阅备份 DynamoDB 表和使用 AWS Backup for DynamoD B。
Amazon CloudWatch 控制面板和警报
该解决方案在中部署了自定义控制面板, CloudWatch 以根据已发布的自定义指标和 AWS 服务指标呈现图表。我们建议根据部署解决方案的用例创建 CloudWatch 警报并添加通知。
亚马逊 CloudWatch 日志
Lambda 日志配置为永不过期,API Gateway 日志配置为有效期为 10 年。您可以更新相应日志组的到期时间,使其与企业的记录保留政策保持一致。
带有 TLS v1.2 或更高版本证书的自定义网域
该解决方案使用 CloudFront部署网页用户界面和边缘优化 API Gateway。 CloudFront的域不强制执行 TLS v1.2 或更高版本的证书。我们建议使用 A mazon Route 53
有关更多详情,请参阅亚马逊 Route 53 开发者指南和在 API Gateway 中为自定义域选择最低的 TLS 版本。
使用 Amazon Kendra 进行扩展
该解决方案允许使用 Amazon Kendra 对摄取的文档执行 NLP 支持的智能搜索。对于较大的工作负载,您可以使用以下 CloudFormation 参数增加 Amazon Kendra 的容量:
| 参数 | 默认值 | 说明 |
|---|---|---|
|
|
索引的额外查询容量和GetQuerySuggestions容量。索引的额外容量单位每天可提供大约 8,000 个查询。 |
|
|
|
索引的额外存储容量。单个容量单位可提供 30 GB 的存储空间或 100,000 个文档,以先到者为准。 |
|
|
|
Amazon Kendra 提供开发者版和企业版来创建索引。有关亚马逊 Kendra 版本之间差异的更多信息,请参阅亚马逊 Kend ra |
要修改这些 CloudFormation 参数的值,请在部署堆栈时选择相应的值。有关查询和存储容量单位的更多信息,请参阅调整容量。
注意
如果未在启用 RAG 的情况下部署文本用例,则不会使用或创建 Amazon Kendra 索引。
使用 Idp 联盟设置 SSO
此解决方案允许与支持基于 SAML 或 OIDC 的身份联合的外部身份提供商集成。部署解决方案时,它会为部署控制面板和个人用例创建 Amazon Cognito 用户池和个人应用程序客户端集成。根据外部 Idp,按照《Amazon Cognito 开发者指南》的 “为您的用户池配置身份提供商” 部分中提供的步骤进行操作,然后为部署控制面板或您想要设置 SSO 的用例选择应用程序客户端集成。
要将用户组信息传递到基于 RAG 的架构中的知识库或矢量存储,您需要将用户组从外部 Idp 映射到 Amazon Cognito 用户组。该解决方案提供了一个初始脚手架 Lambda
手动配置用户池
如果您选择在部署期间不发送管理员或默认用户电子邮件,则必须在 Amazon Cognito 中手动创建相应的用户组以确保权限正确:
-
对于部署控制面板,
Admin在您的 Cognito 用户池中创建一个名为的群组。 -
对于每个用例,
${UseCaseName}-Users在您的 Cognito 用户池中创建一个名为的群组,其中${UseCaseName}是您部署的用例的名称。
授权机制需要这些组才能正常工作。您要向其授予访问权限的任何用户都必须添加到相应的群组中。
如果通过,placeholder@example.com则将创建 Cognito 群组,但您仍必须创建关联用户并将其分配到群组。
自定义登录屏幕
此解决方案使用 Amazon Cognito 托管的用户界面来呈现登录页面。要自定义内置登录页面,请参阅 Amazon Cognito 开发者指南中的自定义内置登录和注册网页。
其它安全注意事项
根据您部署解决方案的用例,请查看以下安全建议:
-
客户托管的 AWS KMS 加密密钥-该解决方案默认使用 AWS 托管的 AWS KMS 密钥,因为这些密钥无需额外付费即可获得。查看您的使用案例,确定是否应更新解决方案以使用客户托管的 AWS KMS 密钥。
-
API Gateway 限制规则-该解决方案在 API Gateway 上使用默认的限制规则进行部署。根据您的用例和预期的交易量,我们建议您为配置限制。 APIs有关详细信息,请参阅 Amazon API Gateway 开发者指南中的限制 API 请求以提高吞吐量。
-
启用 AWS CloudTrail-作为推荐的安全措施,可以考虑 CloudTrail在部署解决方案的
AWS 账户中启用 AWS,以便在 AWS 账户中记录 API 调用。有关详细信息,请参阅 A WS CloudTrail 用户指南。 -
漂移检测-我们建议在 CloudFormation 堆栈上配置偏差检测,以识别已部署的解决方案堆栈的无意或恶意更改,并收到通知。有关详细信息,请参阅实现警报以自动检测 AWS CloudFormation 堆栈中的偏差
。 -
Cognito JSON Web Tokens (JWTs)-该解决方案使用亚马逊 Cognito 发行的 REST API 终 JWTs 端节点进行身份验证。我们为解决方案配置了 ID 令牌和访问令牌的有效期为五分钟。当用户注销时,他们生成新令牌的能力将被撤销(刷新令牌被撤销)。但是,在当前令牌到期之前,任何向 API 端点发出的请求都将成功通过身份验证,因为它们具有有效的令牌。查看您的用例的安全注意事项并调整令牌有效期。
自定义生命周期策略:
对于生产部署,请根据您的保留要求查看和调整生命周期策略。请参阅《Amazon 简单存储服务用户指南》中的设置存储桶的生命周期配置。
多模式文件存储和生命周期
如果您为用例启用了多模式输入功能(MultimodalEnabled设置为Yes),则该解决方案会创建一个 Amazon S3 存储桶来存储上传的文件,并创建一个 DynamoDB 表来跟踪文件元数据。
默认生命周期策略:
-
S3 文件:48 小时后自动删除
-
DynamoDB 元数据:记录将在 24 小时后过期(对话历史记录 TTL)
安全注意事项:
-
文件按用例 ID、用户 ID、会话 ID 和消息 ID 进行分区,而文件则以 UUID 名称存储。UUID 到文件名的映射可在 DynamoDB 元数据表中找到
-
用户只能访问他们在自己的对话中上传的文件
-
文件类型验证是使用幻数检测进行的
-
我们建议启用适用于 S3 的 Amazon GuardDuty 恶意软件防护,以扫描上传的文件中是否存在恶意内容