

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

# 的 Security Hub CSPM 控制項 AWS Lambda
<a name="lambda-controls"></a>

這些 AWS Security Hub CSPM 控制項會評估 AWS Lambda 服務和資源。控制項可能無法全部使用 AWS 區域。如需詳細資訊，請參閱[依區域的控制項可用性](securityhub-regions.md#securityhub-regions-control-support)。

## 【Lambda.1】 Lambda 函數政策應禁止公開存取
<a name="lambda-1"></a>

**相關要求：**NIST.800-53.r5 AC-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4、NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 AC-6、NIST.800-53.r5 SC-7、NIST.800-53.r5 SC-7(11)、NIST.800-53.r5 SC-7(16)、NIST.800-53.r5 SC-7(20)、NIST.800-53.r5 SC-7 、

**類別：**保護 > 安全網路組態

**嚴重性：**嚴重

**資源類型：** `AWS::Lambda::Function`

**AWS Config 規則：**[https://docs.aws.amazon.com/config/latest/developerguide/lambda-function-public-access-prohibited.html](https://docs.aws.amazon.com/config/latest/developerguide/lambda-function-public-access-prohibited.html)

**排程類型：**變更已觸發

**參數：**無

此控制項會檢查 Lambda 函數資源型政策是否禁止您帳戶外部的公開存取。如果允許公開存取，則控制項會失敗。如果從 Amazon S3 叫用 Lambda 函數，且政策不包含限制公開存取的條件，則控制項也會失敗，例如 `AWS:SourceAccount`。我們建議您在儲存貯體政策`AWS:SourceAccount`中使用其他 S3 條件以及 ，以獲得更精確的存取。

**注意**  
此控制項不會評估使用萬用字元或變數的政策條件。若要產生`PASSED`調查結果，Lambda 函數政策中的條件只能使用固定值，這些值不包含萬用字元或政策變數。如需政策變數的相關資訊，請參閱*AWS Identity and Access Management 《 使用者指南*》中的[變數和標籤](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)。

Lambda 函數不應公開存取，因為這可能會允許意外存取您的函數程式碼。

### 修補
<a name="lambda-1-remediation"></a>

若要修復此問題，您必須更新函數的資源型政策，以移除許可或新增`AWS:SourceAccount`條件。您只能從 Lambda API 或 更新資源型政策 AWS CLI。

若要開始，[請檢閱 Lambda 主控台上的資源型政策](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html)。識別具有讓政策公開之`Principal`欄位值的政策陳述式，例如 `"*"`或 `{ "AWS": "*" }`。

您無法從 主控台編輯政策。若要從 函數移除許可，請從 執行 [https://docs.aws.amazon.com/cli/latest/reference/lambda/remove-permission.html](https://docs.aws.amazon.com/cli/latest/reference/lambda/remove-permission.html)命令 AWS CLI。

```
$ aws lambda remove-permission --function-name <function-name> --statement-id <statement-id>
```

`<function-name>` 將 取代為 Lambda 函數的名稱，並將 `<statement-id>` 取代為您要移除之陳述式的陳述式 ID (`Sid`)。

## 【Lambda.2】 Lambda 函數應使用支援的執行時間
<a name="lambda-2"></a>

**相關要求：**NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2、NIST.800-53.r5 SI-2、NIST.800-53.r5 SI-2(2)、NIST.800-53.r5 SI-2(4)、NIST.800-53.r5 SI-2(5)、PCI DSS v4.0.1/12.3.4

**類別：**保護 > 安全開發

**嚴重性：**中

**資源類型：** `AWS::Lambda::Function`

**AWS Config 規則：**[https://docs.aws.amazon.com/config/latest/developerguide/lambda-function-settings-check.html](https://docs.aws.amazon.com/config/latest/developerguide/lambda-function-settings-check.html)

**排程類型：**變更已觸發

**參數：**
+ `runtime`：`dotnet10, dotnet8, java25, java21, java17, java11, java8.al2, nodejs24.x, nodejs22.x, nodejs20.x, python3.14, python3.13, python3.12, python3.11, python3.10, ruby3.4, ruby3.3`（不可自訂）

此控制項會檢查 AWS Lambda 函數執行時間設定是否符合每種語言中支援執行時間設定的預期值。如果 Lambda 函數不使用支援的執行時間，則控制項會失敗，如參數一節所述。Security Hub CSPM 會忽略套件類型為 的函數`Image`。

Lambda 執行時間是以作業系統、程式設計語言和軟體程式庫的組合為基礎，這些程式庫會受到維護和安全性更新的影響。當安全性更新不再支援執行期元件時，Lambda 會棄用執行期。即使您無法建立使用已棄用執行時間的函數，該函數仍然可用於處理調用事件。我們建議確保您的 Lambda 函數是最新的，並且不使用已棄用的執行時間環境。如需支援的執行時間清單，請參閱《 *AWS Lambda 開發人員指南*》中的 [Lambda 執行時間](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)。

### 修補
<a name="lambda-2-remediation"></a>

如需支援的執行期和棄用排程的詳細資訊，請參閱《 *AWS Lambda 開發人員指南*》中的[執行期棄用政策](https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html)。當將執行時間遷移至最新版本時，請遵循語言發佈者提供的語法和指導。我們也建議套用[執行時間更新](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-controls)，以協助降低在執行時間版本不相容的罕見情況下，對工作負載造成影響的風險。

## 【Lambda.3】 Lambda 函數應該位於 VPC 中
<a name="lambda-3"></a>

**相關要求：**PCI DSS v3.2.1/1.2.1、PCI DSS v3.2.1/1.3.1、PCI DSS v3.2.1/1.3.2、PCI DSS v3.2.1/1.3.4、NIST.800-53.r5 AC-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4、NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 AC-6、NIST.800-53.r5 SC-7 

**類別：**保護 > 安全網路組態

**嚴重性：**低

**資源類型： ** `AWS::Lambda::Function`

**AWS Config 規則： ** [https://docs.aws.amazon.com/config/latest/developerguide/lambda-inside-vpc.html](https://docs.aws.amazon.com/config/latest/developerguide/lambda-inside-vpc.html)

**排程類型：**變更已觸發

**參數：**無

此控制項會檢查 Lambda 函數是否部署在虛擬私有雲端 (VPC) 中。如果未在 VPC 中部署 Lambda 函數，則控制項會失敗。Security Hub CSPM 不會評估 VPC 子網路路由組態來判斷公有連線能力。您可能會看到 Lambda@Edge 資源的失敗問題清單。

在 VPC 中部署資源可增強安全性並控制網路組態。這類部署也提供跨多個可用區域的可擴展性和高容錯能力。您可以自訂 VPC 部署以滿足各種應用程式需求。

### 修補
<a name="lambda-3-remediation"></a>

若要將現有 函數設定為連接到 VPC 中的私有子網路，請參閱《 *AWS Lambda 開發人員指南*》中的[設定 VPC 存取](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-configuring)。我們建議您為高可用性選擇至少兩個私有子網路，以及至少有一個符合 函數連線需求的安全群組。

## 【Lambda.5】 VPC Lambda 函數應該在多個可用區域中操作
<a name="lambda-5"></a>

**相關要求：**NIST.800-53.r5 CP-10、NIST.800-53.r5 CP-6(2)、NIST.800-53.r5 SC-36、NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-13(5)

**類別：**復原 > 彈性 > 高可用性

**嚴重性：**中

**資源類型：** `AWS::Lambda::Function`

**AWS Config 規則：**[https://docs.aws.amazon.com/config/latest/developerguide/lambda-vpc-multi-az-check.html](https://docs.aws.amazon.com/config/latest/developerguide/lambda-vpc-multi-az-check.html)

**排程類型：**變更已觸發

**參數：**


| 參數 | 說明 | Type | 允許自訂值 | Security Hub CSPM 預設值 | 
| --- | --- | --- | --- | --- | 
|  `availabilityZones`  |  可用區域數目下限  |  列舉  |  `2, 3, 4, 5, 6`  |  `2`  | 

此控制項會檢查連線至虛擬私有雲端 (VPC) 的 AWS Lambda 函數是否至少在指定數量的可用區域 (AZs中運作。如果函數未在至少指定數量AZs 中操作，則控制項會失敗。除非您提供最低 AZs 數量的自訂參數值，否則 Security Hub CSPM 會使用兩個 AZs 的預設值。

在多個AZs部署資源是 AWS 最佳實務，可確保架構內的高可用性。可用性是機密性、完整性和可用性三要素安全模型的核心支柱。連接到 VPC 的所有 Lambda 函數都應有多可用區域部署，以確保單一故障區域不會造成操作的完全中斷。

### 修補
<a name="lambda-5-remediation"></a>

如果您將函數設定為連接到帳戶中的 VPC，請在多個AZs指定子網路，以確保高可用性。如需說明，請參閱《 *AWS Lambda 開發人員指南*》中的[設定 VPC 存取](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-configuring)。

Lambda 會自動在多個AZs執行其他函數，以確保在單一區域中發生服務中斷時，它可用於處理事件。

## 【Lambda.6】 應標記 Lambda 函數
<a name="lambda-6"></a>

**類別：**識別 > 庫存 > 標記

**嚴重性：**低

**資源類型：** `AWS::Lambda::Function`

**AWS Config rule：**`tagged-lambda-function`（自訂 Security Hub CSPM 規則）

**排程類型：**變更已觸發

**參數：**


| 參數 | 說明 | Type | 允許自訂值 | Security Hub CSPM 預設值 | 
| --- | --- | --- | --- | --- | 
|  requiredTagKeys  | 評估資源必須包含的非系統標籤索引鍵清單。標籤金鑰會區分大小寫。 | StringList （最多 6 個項目）  | 1–6 個符合[AWS 要求的](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)標籤金鑰。 |  No default value  | 

此控制項會檢查 AWS Lambda 函數是否具有具有參數 中定義之特定索引鍵的標籤`requiredTagKeys`。如果函數沒有任何標籤索引鍵，或沒有參數 中指定的所有索引鍵，則控制項會失敗`requiredTagKeys`。如果`requiredTagKeys`未提供 參數，則控制項只會檢查標籤索引鍵是否存在，如果函數未標記任何索引鍵，則 會失敗。系統會`aws:`忽略自動套用並以 開頭的系統標籤。

標籤是您指派給 AWS 資源的標籤，由索引鍵和選用值組成。您可建立標籤，以依照用途、擁有者、環境或其他條件分類資源。標籤可協助您識別、組織、搜尋和篩選資源。標記也可協助您追蹤動作和通知的負責任資源擁有者。使用標記時，您可以實作屬性型存取控制 (ABAC) 做為授權策略，以根據標籤定義許可。您可以將標籤連接至 IAM 實體 （使用者或角色） 和 AWS 資源。您可以為 IAM 主體建立單一 ABAC 政策或一組單獨的政策。您可以設計這些 ABAC 政策，以便在委託人的標籤符合資源標籤時允許操作。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[什麼是 ABAC AWS？](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。

**注意**  
請勿在標籤中新增個人身分識別資訊 (PII) 或其他機密或敏感資訊。許多 都可以存取標籤 AWS 服務，包括 AWS Billing。如需更多標記最佳實務，請參閱《》中的[標記您的 AWS 資源](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)*AWS 一般參考*。

### 修補
<a name="lambda-6-remediation"></a>

若要將標籤新增至 Lambda 函數，請參閱《 *AWS Lambda 開發人員指南*》中的[在 Lambda 函數上使用標籤](https://docs.aws.amazon.com/lambda/latest/dg/configuration-tags.html)。

## 【Lambda.7】 Lambda 函數應該啟用 AWS X-Ray 主動追蹤
<a name="lambda-7"></a>

**相關需求：**NIST.800-53.r5 CA-7

**類別：**識別 > 記錄日誌

**嚴重性：**低

**資源類型：** `AWS::Lambda::Function`

**AWS Config 規則：**[https://docs.aws.amazon.com/config/latest/developerguide/lambda-function-xray-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/lambda-function-xray-enabled.html)

**排程類型：**已觸發變更

**參數：**無

此控制項會檢查 AWS X-Ray 函數是否已啟用使用 的 AWS Lambda 主動追蹤。如果停用 Lambda 函數的 X-Ray 主動追蹤，則控制項會失敗。

AWS X-Ray 可以為 AWS Lambda 函數提供追蹤和監控功能，可節省時間和精力偵錯和操作 Lambda 函數。它可以透過分解 Lambda 函數的延遲，協助您診斷錯誤並識別效能瓶頸、速度變慢和逾時。它也可以協助處理資料隱私權和合規要求。如果您啟用 Lambda 函數的主動追蹤，X-Ray 會提供 Lambda 函數內資料流程和處理的整體檢視，這可協助您識別潛在的安全漏洞或不合規的資料處理實務。此可見性可協助您維護資料完整性、機密性和符合相關法規。

**注意**  
AWS X-Ray 使用 Amazon Managed Streaming for Apache Kafka (Amazon MSK)、自我管理 Apache Kafka、使用 ActiveMQ 和 RabbitMQ 的 Amazon MQ 或 Amazon DocumentDB 事件來源映射的 Lambda 函數目前不支援 追蹤。

### 修補
<a name="lambda-7-remediation"></a>

如需為 AWS Lambda 函數啟用主動追蹤的詳細資訊，請參閱《 *AWS Lambda 開發人員指南*》中的[使用 視覺化 Lambda 函數叫用 AWS X-Ray](https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html)。