

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

# 的偵測和監控最佳實務 AWS KMS
<a name="monitoring"></a>

偵測和監控是了解 AWS Key Management Service (AWS KMS) 金鑰可用性、狀態和用量的重要部分。監控有助於維護 AWS 解決方案的安全性、可靠性、可用性和效能。 AWS 提供數種工具來監控 KMS 金鑰和 AWS KMS 操作。本節說明如何設定和使用這些工具，以更清楚地了解您的環境，並監控 KMS 金鑰的使用情況。

**Topics**
+ [使用 監控 AWS KMS 操作 AWS CloudTrail](#monitoring-cloudtrail)
+ [使用 IAM Access Analyzer 監控對 KMS 金鑰的存取](#monitoring-access-analyzer)
+ [AWS 服務 使用 監控其他 的加密設定 AWS Config](#monitoring-config)
+ [使用 Amazon CloudWatch 警示監控 KMS 金鑰](#monitoring-alarms)
+ [使用 Amazon EventBridge 自動化回應](#monitoring-eventbridge)

## 使用 監控 AWS KMS 操作 AWS CloudTrail
<a name="monitoring-cloudtrail"></a>

AWS KMS 已與 整合[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)，這項服務可記錄使用者、角色和其他 AWS KMS 對 的所有呼叫 AWS 服務。CloudTrail 會將對 的所有 API 呼叫擷取 AWS KMS 為事件，包括來自 AWS KMS 主控台、 AWS KMS APIs、 AWS CloudFormation AWS Command Line Interface (AWS CLI) 和 的呼叫 AWS Tools for PowerShell。

CloudTrail 會記錄所有 AWS KMS 操作，包括唯讀操作，例如 `ListAliases`和 `GetKeyRotationStatus`。它也會記錄管理 KMS 金鑰的操作，例如 `CreateKey`和 `PutKeyPolicy, and cryptographic operations, such as GenerateDataKey`和 `Decrypt`。它也會記錄 為您 AWS KMS 呼叫的內部操作，例如 `DeleteExpiredKeyMaterial`、`SynchronizeMultiRegionKey`、 `DeleteKey`和 `RotateKey`。

建立 CloudTrail AWS 帳戶 時，會在您的 上啟用 CloudTrail。根據預設，[事件歷史記錄](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)會提供過去 90 天在 中記錄的管理事件 API 活動的可檢視、可搜尋、可下載和不可變記錄 AWS 區域。若要監控或稽核超過 90 天的 KMS 金鑰使用情況，建議您為 [建立 CloudTrail 追蹤](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html) AWS 帳戶。如果您已在 中建立組織 AWS Organizations，您可以[建立組織追蹤](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html)或[事件資料存放區](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-cloudtrail.html)，以記錄 AWS 帳戶 該組織中所有 的事件。

為帳戶或組織建立追蹤之後，您可以使用其他 AWS 服務 來存放、分析和自動回應記錄於追蹤中的事件。例如，您可以執行下列動作：
+ 您可以設定 Amazon CloudWatch 警示，通知您追蹤中的特定事件。如需詳細資訊，請參閱本指南中的 [使用 Amazon CloudWatch 警示監控 KMS 金鑰](#monitoring-alarms)。
+ 您可以建立 Amazon EventBridge 規則，在追蹤中發生事件時自動執行 動作。如需詳細資訊，請參閱本指南中的[使用 Amazon EventBridge 自動化回應](#monitoring-eventbridge)。
+ 您可以使用 Amazon Security Lake 從多個 收集和存放日誌 AWS 服務，包括 CloudTrail。如需詳細資訊，請參閱《Amazon [Security Lake 文件》中的 AWS 服務](https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html)從 Security Lake 收集資料。
+ 若要增強對操作活動的分析，您可以使用 Amazon Athena 查詢 CloudTrail 日誌。如需詳細資訊，請參閱 Amazon Athena 文件中的[查詢 AWS CloudTrail 日誌](https://docs.aws.amazon.com/athena/latest/ug/cloudtrail-logs.html)。

如需使用 CloudTrail 監控 AWS KMS 操作的詳細資訊，請參閱下列內容：
+ [使用 記錄 AWS KMS API 呼叫 AWS CloudTrail](https://docs.aws.amazon.com/kms/latest/developerguide/logging-using-cloudtrail.html)
+ [AWS KMS 日誌項目的範例](https://docs.aws.amazon.com/kms/latest/developerguide/understanding-kms-entries.html)
+ [使用 Amazon EventBridge 監控 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/kms-events.html)
+ [CloudTrail 與 Amazon EventBridge 整合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-eventbridge)

## 使用 IAM Access Analyzer 監控對 KMS 金鑰的存取
<a name="monitoring-access-analyzer"></a>

[AWS Identity and Access Management Access Analyzer (IAM Access Analyzer)](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) 可協助您識別組織和帳戶中與外部實體共用的資源 （例如 KMS 金鑰）。此服務可協助您識別意外或過於廣泛的資源和資料存取，這是安全風險。IAM Access Analyzer 會使用邏輯式推理來分析 AWS 環境中以資源為基礎的政策，藉此識別與外部主體共用的資源。

您可以使用 IAM Access Analyzer 來識別哪些外部實體可以存取您的 KMS 金鑰。當您啟用 IAM Access Analyzer 時，您可以為整個組織或目標帳戶建立分析器。您選擇的組織或帳戶稱為分析器*的信任區域*。分析器會監控信任區域內支援的資源。信任區域中的主體對資源的任何存取都會被視為受信任。

對於 KMS 金鑰，IAM Access Analyzer 會分析[套用至金鑰的金鑰政策和授予](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-resources.html#access-analyzer-kms-key)。如果金鑰政策或授予允許外部實體存取金鑰，則會產生調查結果。使用 IAM Access Analyzer 來判斷外部實體是否可以存取您的 KMS 金鑰，然後驗證這些實體是否應具有存取權。

如需使用 IAM Access Analyzer 監控 KMS 金鑰存取的詳細資訊，請參閱下列內容：
+ [使用 AWS Identity and Access Management Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html)
+ [外部存取的 IAM Access Analyzer 資源類型](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-resources.html)
+ [IAM Access Analyzer 資源類型： AWS KMS keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-resources.html#access-analyzer-kms-key)
+ [外部和未使用存取的問題清單](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-findings.html)

## AWS 服務 使用 監控其他 的加密設定 AWS Config
<a name="monitoring-config"></a>

[AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 提供 中 AWS 資源組態的詳細檢視 AWS 帳戶。您可以使用 AWS Config 來驗證使用 KMS 金鑰 AWS 服務 的 已正確設定其加密設定。例如，您可以使用[加密磁碟區](https://docs.aws.amazon.com/config/latest/developerguide/encrypted-volumes.html) AWS Config 規則來驗證您的 Amazon Elastic Block Store (Amazon EBS) 磁碟區是否已加密。

AWS Config 包含 *受管規則*，可協助您快速選擇要評估資源的規則。 AWS Config 請檢查您的 AWS 區域 ，以判斷該區域是否支援您需要的受管規則。可用的受管規則包括檢查 Amazon Relational Database Service (Amazon RDS) 快照的組態、CloudTrail 追蹤加密、Amazon Simple Storage Service (Amazon S3) 儲存貯體的預設加密、Amazon DynamoDB 資料表加密等。

您也可以建立*自訂規則*並套用您的商業邏輯，以判斷您的資源是否符合您的需求。GitHub 上的[AWS Config 規則儲存庫](https://github.com/awslabs/aws-config-rules)提供許多受管規則的開放原始碼。這些可以是開發自訂規則的實用起點。

當資源不符合規則時，您可以啟動回應動作。 AWS Config 包含[AWS Systems Manager 自動化](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html)執行的修補動作。例如，如果您已套用[cloud-trail-encryption-enabled](https://docs.aws.amazon.com/config/latest/developerguide/cloud-trail-encryption-enabled.html)規則，且規則傳回`NON_COMPLIANT`結果，則 AWS Config 可以為您加密 CloudTrail 日誌，啟動可修復問題的自動化文件。

AWS Config 可讓您在佈建資源之前，主動檢查是否符合 AWS Config 規則。在[主動模式下](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config-rules.html#aws-config-rules-evaluation-modes)套用規則可協助您在雲端資源建立或更新之前評估這些資源的組態。在部署管道中以主動模式套用規則，可讓您在部署資源之前測試資源組態。

您也可以透過 將 AWS Config 規則實作為控制項[AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html)。Security Hub CSPM 提供您可以套用至 的安全標準 AWS 帳戶。這些標準可協助您根據建議實務來評估您的環境。[AWS 基礎安全最佳實務](https://docs.aws.amazon.com/securityhub/latest/userguide/fsbp-standard.html)標準包含[保護控制類別](https://docs.aws.amazon.com/securityhub/latest/userguide/control-categories.html#control-category-protect)內的控制項，以驗證靜態加密是否已設定，且 KMS 金鑰政策遵循建議的實務。

如需使用 AWS Config 監控 中加密設定的詳細資訊 AWS 服務，請參閱下列內容：
+ [AWS Config入門](https://docs.aws.amazon.com/config/latest/developerguide/getting-started.html)
+ [AWS Config 受管規則](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html)
+ [AWS Config 自訂規則](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html)
+ [使用 修復不合規的資源 AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/remediation.html)

## 使用 Amazon CloudWatch 警示監控 KMS 金鑰
<a name="monitoring-alarms"></a>

[Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) AWS 會即時監控您的 AWS 資源和您在 上執行的應用程式。您可以使用 CloudWatch 來收集和追蹤*指標*，這些是您可以測量的變數。

匯入金鑰材料過期或金鑰刪除，如果非預期或未適當規劃，則可能是災難性事件。建議您設定 [CloudWatch 警示](https://docs.aws.amazon.com/kms/latest/developerguide/monitoring-cloudwatch.html)，以便在這些事件發生之前提醒您。我們也建議您設定 AWS Identity and Access Management (IAM) 政策 AWS Organizations [或服務控制政策 SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)，以防止刪除重要的金鑰。

CloudWatch 警示可協助您採取修正動作，例如取消金鑰刪除，或修補動作，例如重新匯入已刪除或過期的金鑰資料。

## 使用 Amazon EventBridge 自動化回應
<a name="monitoring-eventbridge"></a>

您也可以使用 [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) 來通知您影響 KMS 金鑰的重要事件。EventBridge 是 AWS 服務 ，可提供近乎即時的系統事件串流，描述 AWS 資源的變更。EventBridge 會自動從 CloudTrail 和 Security Hub CSPM 接收事件。在 EventBridge 中，您可以建立回應 CloudTrail 記錄之事件的規則。

AWS KMS 事件包括下列項目：
+ KMS 金鑰中的金鑰材料會自動輪換
+ KMS 金鑰中匯入的金鑰材料已過期
+ 已刪除已排定刪除的 KMS 金鑰

這些事件可以在 中啟動其他動作 AWS 帳戶。這些動作與上一節所述的 CloudWatch 警示不同，因為它們只能在事件發生後執行。例如，您可能想要在刪除特定金鑰之後刪除連線至特定金鑰的資源，或者您可能想要通知合規或稽核團隊該金鑰已刪除。

您也可以使用 EventBridge 來篩選在 CloudTrail 中記錄的任何其他 API 事件。這表示如果金鑰政策相關的 API 動作有特定考量，您可以篩選這些動作。例如，您可以在 EventBridge 中篩選 `PutKeyPolicy` API 動作。更廣泛地說，您可以篩選開頭為 `Disable*`或 的任何 API 動作，`Delete*`以啟動自動回應。

使用 EventBridge，您可以監控 （偵測性控制） 並調查和回應 （回應性控制） 意外或選取的事件。例如，如果建立 IAM 使用者或角色、建立 KMS 金鑰或變更金鑰政策，您可以提醒安全團隊並採取特定動作。您可以建立 EventBridge 事件規則，篩選您指定的 API 動作，然後將目標與規則建立關聯。範例目標包括 AWS Lambda 函數、Amazon Simple Notification Service (Amazon SNS) 通知、Amazon Simple Queue Service (Amazon SQS) 佇列等。如需將事件傳送至目標的詳細資訊，請參閱 [Amazon EventBridge 中的事件匯流排目標](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)。

如需 AWS KMS 使用 EventBridge 監控和自動化回應的詳細資訊，請參閱 AWS KMS 文件中的[使用 Amazon EventBridge 監控 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/kms-events.html)。