

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

# DynamoDB 的 Security Hub CSPM 控制項
<a name="dynamodb-controls"></a>

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

## 【DynamoDB.1] DynamoDB 資料表應隨著需求自動擴展容量
<a name="dynamodb-1"></a>

**相關要求：**NIST.800-53.r5 CP-10、NIST.800-53.r5 CP-2(2)、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::DynamoDB::Table`

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

**排程類型：**定期

**參數：**


| 參數 | 說明 | Type | 有效的自訂值 | Security Hub CSPM 預設值 | 
| --- | --- | --- | --- | --- | 
|  `minProvisionedReadCapacity`  |  DynamoDB 自動擴展的佈建讀取容量單位數目下限  |  Integer  |  `1` 至 `40000`  |  無預設值  | 
|  `targetReadUtilization`  |  讀取容量的目標使用率百分比  |  Integer  |  `20` 至 `90`  |  無預設值  | 
|  `minProvisionedWriteCapacity`  |  DynamoDB 自動擴展的佈建寫入容量單位數目下限  |  Integer  |  `1` 至 `40000`  |  無預設值  | 
|  `targetWriteUtilization`  |  寫入容量的目標使用率百分比  |  Integer  |  `20` 至 `90`  |  無預設值  | 

此控制項會檢查 Amazon DynamoDB 資料表是否可以視需要擴展其讀取和寫入容量。如果資料表不使用隨需容量模式或已設定自動擴展的佈建模式，則控制項會失敗。根據預設，此控制項只需要設定其中一個模式，而不考慮讀取或寫入容量的特定層級。或者，您可以提供自訂參數值，以要求特定層級的讀取和寫入容量或目標使用率。

隨需擴展容量可避免限流例外狀況，有助於維持應用程式的可用性。使用隨需容量模式的 DynamoDB 資料表僅受到 DynamoDB 輸送量預設資料表配額的限制。若要提高這些配額，您可以向 提交支援票證 支援。使用佈建模式搭配自動擴展的 DynamoDB 資料表會動態調整佈建輸送量容量，以回應流量模式。如需 DynamoDB 請求限流的詳細資訊，請參閱《*Amazon DynamoDB 開發人員指南*》中的[請求限流和高載容量](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html#ProvisionedThroughput.Throttling)。

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

若要在容量模式中對現有資料表啟用 DynamoDB 自動擴展，請參閱《Amazon [ DynamoDB 開發人員指南》中的在現有資料表上啟用 DynamoDB 自動擴展](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.Console.html#AutoScaling.Console.ExistingTable)。 * DynamoDB *

## 【DynamoDB.2] DynamoDB 資料表應該啟用point-in-time復原
<a name="dynamodb-2"></a>

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

**類別：**復原 > 恢復 > 備份已啟用

**嚴重性：**中

**資源類型：** `AWS::DynamoDB::Table`

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

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

**參數：**無

此控制項會檢查是否已為 Amazon DynamoDB 資料表啟用point-in-time復原 (PITR)。

備份可協助您更快地從安全事件中復原。它們也會強化您系統的彈性。DynamoDB point-in-time復原可自動備份 DynamoDB 資料表。它可縮短從意外刪除或寫入操作中復原的時間。已啟用 PITR 的 DynamoDB 資料表可以還原到過去 35 天內的任何時間點。

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

若要將 DynamoDB 資料表還原至某個時間點，請參閱《Amazon [ DynamoDB 開發人員指南》中的將 DynamoDB 資料表還原至某個時間點](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/PointInTimeRecovery.Tutorial.html)。 * DynamoDB *

## 【DynamoDB.3] DynamoDB Accelerator (DAX) 叢集應靜態加密
<a name="dynamodb-3"></a>

**相關要求：**NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-3(6)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-28、NIST.800-53.r5 SC-28(1)、NIST.800-53.r5 SC-7(10)、NIST.800-53.r5 SI-7(6)

**類別：**保護 > 資料保護 > data-at-rest加密

**嚴重性：**中

**資源類型：** `AWS::DAX::Cluster`

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

**排程類型：**定期

**參數：**無

此控制項會檢查 Amazon DynamoDB Accelerator (DAX) 叢集是否靜態加密。如果 DAX 叢集未靜態加密，則控制項會失敗。

加密靜態資料可降低未驗證的使用者存取磁碟上儲存的資料的風險 AWS。加密新增另一組存取控制，以限制未經授權的使用者存取資料的能力。例如，需要 API 許可才能解密資料，才能讀取資料。

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

建立叢集後，您無法啟用或停用靜態加密。您必須重新建立叢集，才能啟用靜態加密。如需如何在啟用靜態加密的情況下建立 DAX 叢集的詳細說明，請參閱《*Amazon DynamoDB 開發人員指南*》中的[使用 啟用靜態加密 AWS 管理主控台](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAXEncryptionAtRest.html#dax.encryption.tutorial-console)。

## 【DynamoDB.4] DynamoDB 資料表應存在於備份計畫中
<a name="dynamodb-4"></a>

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

**類別：**Recover > Resilience > Backups enabled

**嚴重性：**中

**資源類型：** `AWS::DynamoDB::Table`

**AWS Config 規則：** [https://docs.aws.amazon.com/config/latest/developerguide/dynamodb-resources-protected-by-backup-plan.html](https://docs.aws.amazon.com/config/latest/developerguide/dynamodb-resources-protected-by-backup-plan.html) ``

**排程類型：**定期

**參數：**


| 參數 | 說明 | Type | 允許自訂值 | Security Hub CSPM 預設值 | 
| --- | --- | --- | --- | --- | 
|  `backupVaultLockCheck`  |  如果 參數設定為 `true`且資源使用保存 AWS Backup 庫鎖定，則控制項會產生`PASSED`問題清單。  |  Boolean  |  `true` 或 `false` \$1  |  無預設值  | 

此控制項會評估備份計劃是否涵蓋處於 `ACTIVE` 狀態的 Amazon DynamoDB 資料表。如果備份計畫未涵蓋 DynamoDB 資料表，則控制項會失敗。如果您將 `backupVaultLockCheck` 參數設定為等於 `true`，則只有在 DynamoDB 資料表備份在 AWS Backup 鎖定的保存庫中時，控制項才會通過。

AWS Backup 是一種全受管備份服務，可協助您集中和自動化跨 的資料備份 AWS 服務。透過 AWS Backup，您可以建立備份計劃來定義備份需求，例如備份資料的頻率，以及保留這些備份的時間長度。在備份計畫中包含 DynamoDB 資料表可協助您保護資料免於意外遺失或刪除。

### 修補
<a name="dynamodb-4-remediation"></a>

若要將 DynamoDB 資料表新增至 AWS Backup 備份計劃，請參閱《 *AWS Backup 開發人員指南*》中的[將資源指派給備份計劃](https://docs.aws.amazon.com/aws-backup/latest/devguide/assigning-resources.html)。

## 【DynamoDB.5] DynamoDB 資料表應加上標籤
<a name="dynamodb-5"></a>

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

**嚴重性：**低

**資源類型：** `AWS::DynamoDB::Table`

**AWS Config rule：**`tagged-dynamodb-table`（自訂 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  | 

此控制項會檢查 Amazon DynamoDB 資料表是否具有具有參數 中定義之特定金鑰的標籤`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="dynamodb-5-remediation"></a>

若要將標籤新增至 DynamoDB 資料表，請參閱《Amazon [ DynamoDB 開發人員指南》中的在 DynamoDB 中標記資源](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.Operations.html)。 * DynamoDB *

## 【DynamoDB.6] DynamoDB 資料表應該已啟用刪除保護
<a name="dynamodb-6"></a>

**相關需求：**NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2、NIST.800-53.r5 CM-2(2)、NIST.800-53.r5 CM-3、NIST.800-53.r5 SC-5(2)

**類別：**保護 > 資料保護 > 資料刪除保護

**嚴重性：**中

**資源類型：** `AWS::DynamoDB::Table`

**AWS Config 規則：** [https://docs.aws.amazon.com/config/latest/developerguide/dynamodb-table-deletion-protection-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/dynamodb-table-deletion-protection-enabled.html) ``

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

**參數：**無

此控制項會檢查 Amazon DynamoDB 資料表是否已啟用刪除保護。如果 DynamoDB 資料表未啟用刪除保護，則控制項會失敗。

您可以使用刪除保護屬性來保護 DynamoDB 資料表免於意外刪除。為資料表啟用此屬性有助於確保管理員在定期資料表管理操作期間不會意外刪除資料表。這有助於防止對正常業務操作造成中斷。

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

若要啟用 DynamoDB 資料表的刪除保護，請參閱《*Amazon DynamoDB 開發人員指南*》中的[使用刪除保護](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection)。

## 【DynamoDB.7] DynamoDB Accelerator 叢集應在傳輸中加密
<a name="dynamodb-7"></a>

**相關要求：**NIST.800-53.r5 AC-17、NIST.800-53.r5 SC-8、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-23、PCI DSS v4.0.1/4.2.1

**類別：**保護 > 資料保護 > data-in-transit加密

**嚴重性：**中

**資源類型：** `AWS::DAX::Cluster`

**AWS Config 規則：**[https://docs.aws.amazon.com/config/latest/developerguide/dax-tls-endpoint-encryption.html](https://docs.aws.amazon.com/config/latest/developerguide/dax-tls-endpoint-encryption.html)

**排程類型：**定期

**參數：**無

此控制項會檢查 Amazon DynamoDB Accelerator (DAX) 叢集是否在傳輸中加密，且端點加密類型設定為 TLS。如果 DAX 叢集未在傳輸中加密，則控制項會失敗。

HTTPS (TLS) 可用來防止潛在攻擊者使用中間人攻擊或類似的攻擊手法來竊聽或操控網路流量。您應該只允許透過 TLS 的加密連線存取 DAX 叢集。不過，加密傳輸中的資料可能會影響效能。您應該在開啟加密的情況下測試應用程式，以了解效能設定檔和 TLS 的影響。

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

您無法在建立 DAX 叢集之後變更 TLS 加密設定。若要加密現有的 DAX 叢集，請建立啟用傳輸中加密的新叢集，將應用程式的流量轉移到該叢集，然後刪除舊叢集。如需詳細資訊，請參閱《*Amazon DynamoDB 開發人員指南*》中的[使用刪除保護](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection)。