

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 步驟 4：部署後組態
<a name="step-4-post-deployment-configuration"></a>

本節提供部署後設定解決方案的建議。

## Amazon S3 儲存貯體版本控制、生命週期政策和跨區域複寫
<a name="amazon-s3-bucket-versioning-lifecycle-policies-and-cross-region-replication"></a>

此解決方案不會在其建立的儲存貯體上強制執行生命週期組態。我們建議下列作法：
+ 設定生產部署的生命週期組態。如需詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的在[儲存貯體上設定生命週期組態](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html)。
+ 根據部署解決方案的使用案例，啟用 Amazon S3 儲存貯體的[版本控制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html)和[跨區域複寫](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html)。

## Amazon DynamoDB 備份
<a name="amazon-dynamodb-backups"></a>

此解決方案將 DynamoDB 用於多種用途 （請參閱[此解決方案中的 AWS 服務](architecture-details.md#aws-services-in-this-solution))。解決方案不會為其建立的資料表啟用備份。建議您為生產部署建立此功能的備份。如需詳細資訊[，請參閱備份 DynamoDB 資料表](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Backup.Tutorial.html)和[使用 DynamoDB 的 AWS Backup](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/backuprestore_HowItWorksAWS.html)。

## Amazon CloudWatch 儀表板和警示
<a name="amazon-cloudwatch-dashboard-and-alarms"></a>

解決方案會在 CloudWatch 中部署自訂儀表板，以轉譯自訂發佈指標和 AWS 服務指標的圖表。我們建議您建立 CloudWatch [警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)，並根據部署解決方案的使用案例新增通知。

## Amazon CloudWatch Logs
<a name="amazon-cloudwatch-logs"></a>

Lambda 日誌設定為永不過期，而 API Gateway 日誌設定為過期 10 年。您可以更新個別日誌群組的到期時間，以符合企業的記錄保留政策。

## 具有 TLS v1.2 或更新版本憑證的自訂 Web 網域
<a name="custom-web-domains-with-tls-v1.2-or-higher-certificates"></a>

解決方案使用 CloudFront 部署 Web UI 和 Edge Optimized API Gateway。CloudFront 的網域不會強制執行 TLS v1.2 或更高版本的憑證。我們建議您使用 [Amazon Route 53](https://aws.amazon.com/route53/) 建立自訂網域、使用 [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) 建立憑證，或如果您的組織有現有憑證，請使用現有憑證。

如需其他詳細資訊，請參閱 [Amazon Route 53 開發人員指南](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)[，並在 API Gateway 中選擇自訂網域的最低 TLS 版本](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-custom-domain-tls-version.html)。

## 使用 Amazon Kendra 擴展
<a name="scaling-with-amazon-kendra"></a>

此解決方案可讓您使用 Amazon Kendra 跨擷取的文件執行 NLP 支援的智慧型搜尋。對於較大的工作負載，您可以使用下列 CloudFormation 參數來增加 Amazon Kendra 的容量：


| 參數 | 預設 | Description | 
| --- | --- | --- | 
|   [Amazon Kendra 額外查詢容量](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-capacityunitsconfiguration.html#cfn-kendra-index-capacityunitsconfiguration-querycapacityunits)   |   `0`   |  索引的額外查詢容量和 [GetQuerySuggestions](https://docs.aws.amazon.com/kendra/latest/dg/API_GetQuerySuggestions.html) 容量。索引的額外容量單位每天提供大約 8，000 個查詢。  | 
|   [Amazon Kendra 額外儲存容量](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-index-capacityunitsconfiguration.html#cfn-kendra-index-capacityunitsconfiguration-storagecapacityunits)   |   `0`   |  索引的額外儲存容量數量。單一容量單位提供 30 GB 的儲存空間或 100，000 個文件，以先達到者為準。  | 
|   [Amazon Kendra 版本](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html)   |   `Developer`   |  Amazon Kendra 提供開發人員和企業版本來建立索引。如需 Amazon Kendra 版本之間差異的詳細資訊，請參閱 [Amazon Kendra 定價](https://aws.amazon.com/kendra/pricing/)。  | 

若要修改這些 CloudFormation 參數的值，請在堆疊部署時選取適當的值。如需查詢和儲存容量單位的詳細資訊，請參閱[調整容量](https://docs.aws.amazon.com/kendra/latest/dg/adjusting-capacity.html)。

**注意**  
如果未在啟用 RAG 的情況下部署文字使用案例，則不會使用或建立 Amazon Kendra 索引。

## 使用 Idp 聯合設定 SSO
<a name="setting-up-sso-using-idp-federation"></a>

此解決方案允許與支援 SAML 或 OIDC 型聯合身分的外部身分提供者整合。當解決方案部署時，它會為部署儀表板和個別使用案例建立 Amazon Cognito 使用者集區和個別應用程式用戶端整合。根據外部 Idp，請遵循 *Amazon Cognito 開發人員指南*[中為使用者集區設定身分提供者](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-provider.html)一節中提供的步驟，然後選擇部署儀表板的應用程式用戶端整合，或您想要使用的使用案例來設定 SSO。

若要將使用者群組資訊傳遞至 RAG 架構中的知識庫或向量存放區，您需要將使用者群組從外部 Idp 映射至 Amazon Cognito 使用者群組。解決方案提供初始的堆疊 [Lambda 函數](https://github.com/aws-solutions/generative-ai-application-builder-on-aws/tree/main/source/lambda/ext-idp-group-mapper)觸發條件，以對應權[杖產生前](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html)階段。Lambda 函數具有 [group\$1mapping.json](https://github.com/aws-solutions/generative-ai-application-builder-on-aws/tree/main/source/lambda/ext-idp-group-mapper/config/group_mapping.json) 檔案，必須更新以提供群組映射。請參閱[使用 Amazon Cognito 支援的 Lambda 觸發條件的 Lambda 觸發條件自訂使用者集區工作流程](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html)。 Amazon Cognito

## 手動使用者集區組態
<a name="manual-user-pool-configuration"></a>

如果您選擇在部署期間不傳遞管理員或預設使用者電子郵件，則必須在 Amazon Cognito 中手動建立適當的使用者群組，以確保正確的許可：

1. 在部署儀表板中，在您的 Cognito 使用者集區`Admin`中建立名為 的群組。

1. 對於每個使用案例，在您的 Cognito 使用者集`${UseCaseName}-Users`區中建立名為 的群組，其中 `${UseCaseName}`是您部署的使用案例的名稱。

這些群組是授權機制正常運作的必要項目。您想要授予存取權的任何使用者都必須新增至適當的群組。

如果傳遞 `placeholder@example.com` ，將會建立 Cognito 群組，但您仍然必須建立相關聯的使用者，並將其指派給群組。

## 自訂登入畫面
<a name="customizing-login-screen"></a>

此解決方案使用 [Amazon Cognito 託管 UI](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-integration.html) 轉譯登入頁面。若要自訂內建登入頁面，請參閱《*Amazon Cognito 開發人員指南*》中的[自訂內建登入和註冊網頁](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-ui-customization.html)。

## 其他安全考慮事項
<a name="additional-security-considerations"></a>

根據您部署解決方案的使用案例，檢閱下列安全建議：
+  **客戶受管 AWS KMS 加密金鑰** - 解決方案預設使用 AWS 受管 AWS KMS 金鑰，因為這些金鑰無需額外費用。檢閱您的使用案例，判斷您是否應該更新解決方案以使用[客戶受管的 AWS KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)。
+  **API Gateway 限流規則** - 解決方案會使用 API Gateway 上的預設限流規則進行部署。根據您的使用案例和預期的交易量，我們建議您為 APIs 設定限流。如需詳細資訊，請參閱《*Amazon API Gateway * [API Gateway 開發人員指南》中的調節 API 請求以提高輸送量](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html)。
+  **啟用 AWS CloudTrail** - 作為建議的安全實務，請考慮在部署解決方案的 AWS 帳戶中啟用 [AWS CloudTrail](https://aws.amazon.com/cloudtrail/)，以在 AWS 帳戶中記錄 API 呼叫。如需詳細資訊，請參閱 [AWS CloudTrail 使用者指南](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。
+  **偏離偵測** - 我們建議在 CloudFormation 堆疊上設定偏離偵測，以識別已部署解決方案堆疊的意外或惡意變更並收到通知。如需詳細資訊，請參閱[實作警示以自動偵測 AWS CloudFormation 堆疊中的偏離](https://aws.amazon.com/blogs/mt/implementing-an-alarm-to-automatically-detect-drift-in-aws-cloudformation-stacks/)。
+  **Cognito JSON Web Token JWTs)** - 解決方案使用 Amazon Cognito 發行JWTs 來驗證 REST API 端點。我們針對 [ID 字符](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-id-token.html)和[存取字符](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-access-token.html)設定了五分鐘到期的解決方案。當使用者登出時，其產生新權杖的能力會遭到撤銷 ([重新整理權杖](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-refresh-token.html)會遭到撤銷）。不過，在目前權杖過期之前，對 API 端點的任何請求都將成功驗證，因為它們具有有效的權杖。檢閱使用案例的安全考量，並調整字符有效期間。

 **自訂生命週期政策：**

對於生產部署，請根據您的保留需求檢閱和調整生命週期政策。請參閱《*Amazon Simple Storage Service 使用者指南*》中的[在儲存貯體上設定生命週期組態](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html)。

## 多模式檔案儲存和生命週期
<a name="multimodal-file-storage-and-lifecycle"></a>

如果您為使用案例啟用多模式輸入功能 (**MultimodalEnabled** 設定為 `Yes`)，解決方案會建立 Amazon S3 儲存貯體來存放上傳的檔案，並建立 DynamoDB 資料表來追蹤檔案中繼資料。

 **預設生命週期政策：**
+  **S3 檔案：**48 小時後自動刪除
+  **DynamoDB 中繼資料：**記錄會在 24 小時後過期 （對話歷史記錄 TTL)

 **安全考量：**
+ 檔案會依使用案例 ID、使用者 ID、對話 ID 和訊息 ID 進行分割，而檔案會以 UUID 名稱儲存。UUID 與檔案名稱的映射可在 DynamoDB 中繼資料資料表中找到
+ 使用者只能存取自己對話中上傳的檔案
+ 使用魔術數字偵測執行檔案類型驗證
+ 我們建議啟用 [Amazon GuardDuty Malware Protection for S3](https://docs.aws.amazon.com/guardduty/latest/ug/gdu-malware-protection-s3.html) 掃描上傳的檔案是否有惡意內容