

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

# 安全性
<a name="security"></a>

当您在 AWS 基础设施上构建系统时，AWS 和您如何共同分担安全责任。这种[共享模式](https://aws.amazon.com/compliance/shared-responsibility-model/)可以减轻您的运营负担，因为 AWS 运营、管理和控制从主机操作系统和虚拟化层到服务运行设施的物理安全的组件。有关 AWS 安全的更多信息，请访问 [AWS 云安全](https://aws.amazon.com/security)。

## IAM 角色
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) 角色允许您为 AWS 云中的服务和用户分配精细的访问策略和权限。此解决方案创建 IAM 角色来授予 AWS Lambda 函数访问此解决方案中使用的其他 AWS 服务的权限。

## Amazon Cognito
<a name="security-cognito"></a>

此解决方案创建的 Amazon Cognito 用户是本地用户，仅有权访问该解决方案APIs 的其余部分。此用户无权访问您的 AWS 账户中的任何其他服务。有关更多信息，请参阅《Amazon Cognito 开发人员指南》**中的 [Amazon Cognito 用户池](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html)。

此解决方案可选择通过配置联合身份提供者和 Amazon Cognito 的托管 UI 功能来支持外部 SAML 登录。

## Amazon CloudFront
<a name="security-cloudfront"></a>

此默认解决方案部署了一个[托管](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html)在 Amazon S3 桶中的 Web 控制台。为了帮助减少延迟和提高安全性，该解决方案包括一个具有原始访问身份的 [Amazon CloudFront](https://aws.amazon.com/cloudfront/) 分配，该身份是一个特殊 CloudFront 用户，可帮助向公众提供对解决方案网站存储桶内容的访问权限。有关更多信息，请参阅《[亚马逊* CloudFront 开发者指南》中的使用源站访问身份限制对 Amazon* S3 内容](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html)的访问。

如果在堆栈部署期间选择了**私**有部署类型，则不会部署 CloudFront 发行版，而是需要使用另一个 Web 托管服务来托管 Web 控制台。

## AWS WAF — Web Application Firewall
<a name="amazon-aws-waf-aeb-application-firewall"></a>

如果在堆栈中选择的部署类型是 [AWS WAF 的公共部署类型，则 CloudFormation 将部署所需的 AW](https://aws.amazon.com/waf/) S WAF ACLs Web 和配置为保护、 CloudFront API Gateway 和 CMF 解决方案创建的 Cognito 终端节点的规则。这些端点将被限制为仅允许指定的源 IP 地址访问这些端点。在堆栈部署期间，必须为两个 CIDR 范围提供工具，以便在部署后通过 AWS WAF 控制台添加其他规则。

**重要**  
配置 WAF IP 限制时，请确保您的 CMF 自动化服务器的 IP 地址或传出 NAT 网关 IP 包含在允许的 CIDR 范围内。这对于需要访问解决方案的 API 端点的 CMF 自动化脚本的正常运行至关重要。

## Amazon API Gateway
<a name="security-apigateway"></a>

此解决方案部署 Amazon API Gateway REST APIs 并使用默认 API 终端节点和 SSL 证书。默认 API 端点支持 TLSv1 安全策略。建议使用 TLS\$11\$12 安全策略使用您自己的自定义域名和自定义 SSL 证书强制执行 TLSv1 .2\$1。有关更多信息，请参阅在 API Gatew [ay 中为自定义域选择最低的 TLS 版本以及在 Amazon API Gat](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-custom-domain-tls-version.html) *eway 开发者指南*中[配置自定义域](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)。

## Amazon CloudWatch Alarms /加那利群岛
<a name="security-cloudwatch"></a>

Amazon CloudWatch 警报可帮助您监控解决方案的功能和安全假设是否得到遵守。该解决方案包括 AWS Lambda 函数和 API Gateway 终端节点的日志记录和指标。如果您的特定用例需要额外监控，则可以配置 CloudWatch 警报进行监控：
+  **API Gateway 监控：**
  + 为 4XX 和 5XX 错误设置警报，以检测未经授权的访问尝试或 API 问题
  + 监控 API Gateway 延迟以确保性能
  + 跟踪 API 请求的数量以识别异常模式
+  **AWS Lambda 函数监控：**
  + 为 Lambda 函数错误和超时创建警报
  + 监控 Lambda 函数持续时间以确保最佳性能
  + 为并发执行设置警报以防止出现限制

您可以使用 CloudWatch 控制台或 AWS CloudFormation 模板创建这些警报。有关创建 CloudWatch 警报的详细说明，请参阅[亚马逊* CloudWatch 用户指南中的创建亚马逊 CloudWatch *警报](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)。

## 客户托管的 AWS KMS 密钥
<a name="security-kms"></a>

该解决方案使用静态加密来保护数据，并对客户数据采用 AWS 托管密钥。这些密钥用于在数据写入存储层之前自动透明地对其进行加密。有些用户可能更愿意对其数据加密过程进行更多控制。这种方法允许您管理自己的安全证书，从而提供更高的控制和可见性。有关更多信息，请参阅 [AWS Ke *y Management Service 开发人员指南中的[基本概念](https://docs.aws.amazon.com/kms/latest/cryptographic-details/basic-concepts.html)和 AWS* KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys)。

## 日志保留
<a name="security-logs"></a>

此解决方案通过在您的账户中创建 Amazon CloudWatch 日志组来捕获应用程序和服务日志。默认情况下，日志保存 10 年。您可以调整每个日志组的 LogRetentionPeriod 参数，切换到无限期保留，或者根据需要选择一天到十年之间的保留期。有关更多信息，请参阅[什么是 Amazon CloudWatch 日志？](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html#cloudwatch-logs-features) 在 *Amazon CloudWatch 日志用户指南*中。

## Amazon Bedrock
<a name="security-bedrock"></a>

在 CloudFormation 堆栈部署期间，该解决方案会自动为您所在地区选择最佳的可用基础模型。选择过程使用 Lambda 函数，该函数调用`list_foundation_models()`并从以下优先级顺序中选择第一个可用模型：

1.  `anthropic.claude-sonnet-4-20250514-v1:0`（十四行诗 4）

1.  `anthropic.claude-3-7-sonnet-20250219-v1:0`（十四行诗 3.7）

1.  `anthropic.claude-3-5-sonnet-20241022-v2:0`(Sonnet 3.5v2)

1.  `anthropic.claude-3-5-sonnet-20240620-v1:0`（十四行诗 3.5）

1.  `anthropic.claude-3-sonnet-20240229-v1:0`（十四行诗 3）

1.  `amazon.nova-pro-v1:0`（Nova Pro）

您必须通过 Bedrock 控制台在您的 AWS 账户中启用所选模型才能使用 GenAI 功能。该解决方案的核心功能无需启用 GenAI 功能即可完全运行。如果客户不愿使用人工智能辅助功能，则可以选择在手动输入的情况下使用该工具。

部署后，您可以在堆栈输出`GenAISelectedModelArn`字段下方的 CloudFormation 堆栈输出中找到所选模型 ARN。 WPMStack

![\[CloudFormation 堆栈输出显示选定的 GenAI 模型 ARN\]](http://docs.aws.amazon.com/zh_cn/solutions/latest/cloud-migration-factory-on-aws/images/cloudformation-genai-model-output.png)


![\[Amazon Bedrock 模型支持界面\]](http://docs.aws.amazon.com/zh_cn/solutions/latest/cloud-migration-factory-on-aws/images/bedrock-model-enablement.png)


此解决方案的默认配置将部署 Amazon Bedrock Guardrails，以便：
+ 过滤掉有害内容
+ 阻止与您的用例无关的提示注入

![\[Amazon Bedrock Guardrails 配置界面\]](http://docs.aws.amazon.com/zh_cn/solutions/latest/cloud-migration-factory-on-aws/images/bedrock-guardrails.png)


有关更多信息，请参阅 [Amazon Bedrock Guardrails](https://aws.amazon.com/bedrock/guardrails/)。要在 CMF 解决方案中选择退出 Guardrails，可以在模板参数部分选择 false。