

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

# 監控 AWS Secrets Manager 秘密
<a name="monitoring"></a>

AWS 提供監控工具來監看 Secrets Manager 秘密、在發生錯誤時回報，以及適時採取自動動作。如果您需要針對任何未預期的使用或變更進行調查，則可使用此日誌，然後還原不想要的變更。您也可以針對不當使用秘密以及任何刪除秘密的嘗試設定自動檢查。

**Topics**
+ [使用 記錄 AWS CloudTrail](monitoring-cloudtrail.md)
+ [使用 CloudWatch 監控](monitoring-cloudwatch.md)
+ [使用 EventBridge 比對 Secrets Manager 事件](monitoring-eventbridge.md)
+ [監控排定刪除的秘密](monitoring_cloudwatch_deleted-secrets.md)
+ [監控秘密的合規性](configuring-awsconfig-rules.md)
+ [

# 監控 Secrets Manager 成本
](monitor-secretsmanager-costs.md)
+ [使用 GuardDuty 偵測威脅](monitoring-guardduty.md)

# 使用 記錄 AWS Secrets Manager 事件 AWS CloudTrail
<a name="monitoring-cloudtrail"></a>

AWS CloudTrail 會將 Secrets Manager 的所有 API 呼叫記錄為事件，包括來自 Secrets Manager 主控台的呼叫，以及用於輪換和秘密版本刪除的數個其他事件。如需 Secrets Manager 記錄中日誌項目的清單，請參閱 [CloudTrail 事件](cloudtrail_log_entries.md)。

您可以使用 CloudTrail 主控台檢視過去 90 天所記錄的事件。若要持續記錄您 AWS 帳戶中的事件，包括 Secrets Manager 的事件，請建立追蹤，以便 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。請參閱[為 AWS 您的帳戶建立追蹤](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)。您也可以設定 CloudTrail，以接收來自[多個 AWS 帳戶](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html) 和 [AWS 區域](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) 的日誌檔案。

您可以設定其他 AWS 服務，以進一步分析和處理 CloudTrail 日誌中收集的資料。請參閱 [AWS 服務與 CloudTrail 日誌的整合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)。當 CloudTrail 發佈新的日誌檔案到您的 Amazon S3 儲存貯體時，您也會收到通知。請參閱[設定 CloudTrail 的 Amazon SNS 通知](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)。

**若要從 CloudTrail 日誌中擷取 Secrets Manager 事件 (主控台)**

1. 前往 [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/) 開啟 CloudTrail 主控台。

1. 確保主控台指向事件發生的區域。主控台只會顯示所選區域中發生的事件。從主控台右上角的下拉式清單中選擇區域。

1. 在左側導覽窗格中，選擇 **Event history (事件歷史記錄)**。

1. 選擇 **Filter (篩選)** 標準和/或 **Time range (時間範圍)**，以協助找到您在尋找的事件。例如：

   1. 若要查看所有 Secrets Manager 事件，請針對**查詢屬性**選擇**事件來源**。然後，針對**輸入事件來源**，選擇 **secretsmanager.amazonaws.com**。

   1. 若要查看秘密的所有事件，請針對**查詢屬性**選擇**資源名稱**。然後，針對**輸入資源名稱**，輸入秘密的名稱。

1. 若要查看其他詳細資訊，請選擇事件旁的展開箭頭。若要查看所有可用的資訊，請選擇 **View event (檢視事件)**。

## AWS CLI
<a name="monitoring-cloudtrail_cli"></a>

**Example 從 CloudTrail 日誌擷取 Secrets Manager 事件**  
下列 [https://docs.aws.amazon.com//cli/latest/reference/cloudtrail/lookup-events.html](https://docs.aws.amazon.com//cli/latest/reference/cloudtrail/lookup-events.html) 範例會查詢 Secrets Manager 事件。  

```
aws cloudtrail lookup-events \
    --region us-east-1 \
    --lookup-attributes AttributeKey=EventSource,AttributeValue=secretsmanager.amazonaws.com
```

# AWS CloudTrail Secrets Manager 的項目
<a name="cloudtrail_log_entries"></a>

AWS Secrets Manager 會將所有 Secrets Manager 操作和其他輪換和刪除相關事件的項目寫入 AWS CloudTrail 日誌。如需如何對這些事件採取動作的相關資訊，請參閱 [使用 EventBridge 比對 Secrets Manager 事件](monitoring-eventbridge.md)。

**Topics**
+ [

## Secrets Manager 操作的日誌項目
](#cloudtrail_log_entries_operations)
+ [

## 要刪除的日誌項目
](#cloudtrail_log_entries_deletion)
+ [

## 複寫的日誌項目
](#cloudtrail_log_entries_replication)
+ [

## 要輪換的日誌項目
](#cloudtrail_log_entries_rotation)

## Secrets Manager 操作的日誌項目
<a name="cloudtrail_log_entries_operations"></a>

呼叫 Secrets Manager 操作所產生的事件具有 `"detail-type": ["AWS API Call via CloudTrail"]`。

**注意**  
在 2024 年 2 月之前，某些 Secrets Manager 操作報告了包含秘密 ARN 的「aRN」而非「arn」的事件。如需詳細資訊，請參閱 [AWS re:Post](https://repost.aws/knowledge-center/secrets-manager-arn)。

以下是當您或服務透過 API、SDK 或 CLI 呼叫 Secrets Manager 操作時產生的 CloudTrail 項目。

**BatchGetSecretValue**  
由 [BatchGetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_BatchGetSecretValue.html) 操作產生。如需瞭解擷取秘密的相關資訊，請參閱 [從 取得秘密 AWS Secrets Manager](retrieving-secrets.md)。

**CancelRotateSecret**  
由 [CancelRotateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CancelRotateSecret.html) 操作產生。如需輪換的相關資訊，請參閱[輪換 AWS Secrets Manager 秘密](rotating-secrets.md)。

**CreateSecret**  
由 [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html) 操作產生。如需瞭解建立秘密的相關資訊，請參閱 [使用 管理秘密 AWS Secrets Manager](managing-secrets.md)。

**DeleteResourcePolicy**  
由 [DeleteResourcePolicy](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteResourcePolicy.html) 操作產生。如需許可的相關資訊，請參閱[的身分驗證和存取控制 AWS Secrets Manager](auth-and-access.md)。

**DeleteSecret**  
由 [DeleteSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteSecret.html) 操作產生。如需了解刪除秘密的相關資訊，請參閱[刪除 AWS Secrets Manager 秘密](manage_delete-secret.md)。

**DescribeSecret**  
由 [DescribeSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DescribeSecret.html) 操作產生。

**GetRandomPassword**  
由 [GetRandomPassword](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetRandomPassword.html) 操作產生。

**GetResourcePolicy**  
由 [GetResourcePolicy](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetResourcePolicy.html) 操作產生。如需許可的相關資訊，請參閱[的身分驗證和存取控制 AWS Secrets Manager](auth-and-access.md)。

**GetSecretValue**  
由 [GetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html) 和 [BatchGetSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_BatchGetSecretValue.html) 操作產生。如需瞭解擷取秘密的相關資訊，請參閱 [從 取得秘密 AWS Secrets Manager](retrieving-secrets.md)。

**ListSecrets**  
由 [ListSecrets](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ListSecrets.html) 操作產生。如需瞭解列出秘密的相關資訊，請參閱 [在 中尋找秘密 AWS Secrets Manager](manage_search-secret.md)。

**ListSecretVersionIds**  
由 [ListSecretVersionIds](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ListSecretVersionIds.html) 操作產生。

**PutResourcePolicy**  
由 [PutResourcePolicy](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutResourcePolicy.html) 操作產生。如需許可的相關資訊，請參閱[的身分驗證和存取控制 AWS Secrets Manager](auth-and-access.md)。

**PutSecretValue**  
由 [PutSecretValue](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutSecretValue.html) 操作產生。如需瞭解更新秘密的相關資訊，請參閱 [修改 AWS Secrets Manager 秘密](manage_update-secret.md)。

**RemoveRegionsFromReplication**  
由 [RemoveRegionsFromReplication](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_RemoveRegionsFromReplication.html) 操作產生。如需複寫秘密的相關資訊，請參閱[跨區域複寫 AWS Secrets Manager 秘密](replicate-secrets.md)。

**ReplicateSecretToRegions**  
由 [ReplicateSecretToRegions](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ReplicateSecretToRegions.html) 操作產生。如需複寫秘密的相關資訊，請參閱[跨區域複寫 AWS Secrets Manager 秘密](replicate-secrets.md)。

**RestoreSecret**  
由 [RestoreSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_RestoreSecret.html) 操作產生。如需還原的相關資訊，請參閱[還原 AWS Secrets Manager 秘密](manage_restore-secret.md)。

**RotateSecret**  
由 [RotateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_RotateSecret.html) 操作產生。如需輪換的相關資訊，請參閱[輪換 AWS Secrets Manager 秘密](rotating-secrets.md)。

**StopReplicationToReplica**  
由 [StopReplicationToReplica](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_StopReplicationToReplica.html) 操作產生。如需複寫秘密的相關資訊，請參閱[跨區域複寫 AWS Secrets Manager 秘密](replicate-secrets.md)。

**TagResource**  
由 [TagResource](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_TagResource.html) 操作產生。如需瞭解標記秘密的相關資訊，請參閱 [在 中標記秘密 AWS Secrets Manager](managing-secrets_tagging.md)。

**UntagResource**  
由 [UntagResource](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UntagResource.html) 操作產生。如需瞭解取消秘密標記的相關資訊，請參閱 [在 中標記秘密 AWS Secrets Manager](managing-secrets_tagging.md)。

**UpdateSecret**  
由 [UpdateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UpdateSecret.html) 操作產生。如需了解更新秘密的相關資訊，請參閱[修改 AWS Secrets Manager 秘密](manage_update-secret.md)。

**UpdateSecretVersionStage**  
由 [UpdateSecretVersionStage](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UpdateSecretVersionStage.html) 操作產生。如需版本階段的相關資訊，請參閱[秘密版本](whats-in-a-secret.md#term_version)。

**ValidateResourcePolicy**  
由 [ValidateResourcePolicy](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_ValidateResourcePolicy.html) 操作產生。如需許可的相關資訊，請參閱[的身分驗證和存取控制 AWS Secrets Manager](auth-and-access.md)。

## 要刪除的日誌項目
<a name="cloudtrail_log_entries_deletion"></a>

除了 Secrets Manager 操作的事件之外，Secrets Manager 還會產生下列與刪除相關的事件。這些事件具有 `"detail-type": ["AWS Service Event via CloudTrail"]`。

**CancelSecretVersionDelete**  
由 Secrets Manager 服務產生。如果您在具有多個版本的秘密上呼叫 `DeleteSecret`，然後呼叫 `RestoreSecret`，Secrets Manager 會針對所還原的各個密碼版本記錄這個事件。如需還原的相關資訊，請參閱[還原 AWS Secrets Manager 秘密](manage_restore-secret.md)。

**EndSecretVersionDelete**  
刪除機密版本時由 Secrets Manager 服務產生。如需詳細資訊，請參閱[刪除 AWS Secrets Manager 秘密](manage_delete-secret.md)。

**StartSecretVersionDelete**  
Secrets Manager 開始刪除機密版本時由 Secrets Manager 服務產生。如需瞭解刪除秘密的相關資訊，請參閱 [刪除 AWS Secrets Manager 秘密](manage_delete-secret.md)。

**SecretVersionDeletion**  
Secrets Manager 刪除淘汰的秘密版本時由 Secrets Manager 服務所產生。如需詳細資訊，請參閱[秘密版本](whats-in-a-secret.md#term_version)。

## 複寫的日誌項目
<a name="cloudtrail_log_entries_replication"></a>

除了 Secrets Manager 操作的事件之外，Secrets Manager 還會產生下列與複寫相關的事件。這些事件具有 `"detail-type": ["AWS Service Event via CloudTrail"]`。

**ReplicationFailed**  
複寫失敗時由 Secrets Manager 服務產生。如需複寫秘密的相關資訊，請參閱[跨區域複寫 AWS Secrets Manager 秘密](replicate-secrets.md)。

**ReplicationStarted**  
Secrets Manager 開始複寫秘密時由 Secrets Manager 服務產生。如需複寫秘密的相關資訊，請參閱[跨區域複寫 AWS Secrets Manager 秘密](replicate-secrets.md)。

**ReplicationSucceeded**  
成功複寫秘密時由 Secrets Manager 服務產生。如需複寫秘密的相關資訊，請參閱[跨區域複寫 AWS Secrets Manager 秘密](replicate-secrets.md)。

## 要輪換的日誌項目
<a name="cloudtrail_log_entries_rotation"></a>

除了 Secrets Manager 操作的事件之外，Secrets Manager 還會產生下列與輪換相關的事件。這些事件具有 `"detail-type": ["AWS Service Event via CloudTrail"]`。

**RotationStarted**  
Secrets Manager 開始輪換機密時由 Secrets Manager 服務產生。如需輪換的相關資訊，請參閱[輪換 AWS Secrets Manager 秘密](rotating-secrets.md)。

**RotationAbandoned**  
Secrets Manager 放棄嘗試輪換，並從現有的機密版本移除 `AWSPENDING` 標籤時由 Secrets Manager 服務產生。如果您在輪換期間建立新的秘密版本，Secrets Manager 便會放棄輪換。如需輪換的相關資訊，請參閱[輪換 AWS Secrets Manager 秘密](rotating-secrets.md)。

**RotationFailed**  
輪換失敗時由 Secrets Manager 服務產生。如需輪換的相關資訊，請參閱[對 AWS Secrets Manager 輪換進行故障診斷](troubleshoot_rotation.md)。

**RotationSucceeded**  
已成功輪換機密時由 Secrets Manager 服務產生。如需輪換的相關資訊，請參閱[輪換 AWS Secrets Manager 秘密](rotating-secrets.md)。

**TestRotationStarted**  
Secrets Manager 針對未排程立即輪換的機密開始測試輪換時由 Secrets Manager 服務產生。如需輪換的相關資訊，請參閱[輪換 AWS Secrets Manager 秘密](rotating-secrets.md)。

**TestRotationSucceeded**  
Secrets Manager 針對未排程立即輪換的機密成功測試輪換時由 Secrets Manager 服務產生。如需輪換的相關資訊，請參閱[輪換 AWS Secrets Manager 秘密](rotating-secrets.md)。

**TestRotationFailed**  
Secrets Manager 針對未排程立即輪換的機密測試輪換，且輪換失敗時由 Secrets Manager 服務產生。如需輪換的相關資訊，請參閱[對 AWS Secrets Manager 輪換進行故障診斷](troubleshoot_rotation.md)。

# AWS Secrets Manager 使用 Amazon CloudWatch 監控
<a name="monitoring-cloudwatch"></a>

使用 Amazon CloudWatch，您可以監控 AWS 服務並建立警示，讓您知道指標何時變更。CloudWatch 會保留這些統計資料 15 個月，因此您可以存取歷史資訊，並更清楚 Web 應用程式或服務的效能。對於 AWS Secrets Manager，您可以監控帳戶中的秘密數量，包括標記為刪除的秘密，以及對 Secrets Manager 的 API 呼叫，包括透過主控台進行的呼叫。如需如何監控指標的資訊，請參閱《[CloudWatch 使用者指南》中的使用 CloudWatch 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)。 *CloudWatch *

**尋找 Secrets Manager 指標**

1. 在 CloudWatch 主控台的**指標**下，選擇**所有指標**。

1. 在**指標**搜尋方塊中，輸入 `secret`。

1. 請執行下列操作：
   + 若要監控帳戶中的秘密數量，請選擇 **AWS/SecretsManager**，然後選取 **SecretCount**。此指標每小時發佈一次。
   + 若要監控對 Secrets Manager 的 API 呼叫，包括透過主控台進行的呼叫，請選擇**用量 > 依 AWS 資源**，然後選擇要監控的 API 呼叫。如需 Secrets Manager APIs的清單，請參閱 [Secrets Manager 操作](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_Operations.html)。

1. 請執行下列操作：
   + 若要建立指標的圖形，請參閱《*Amazon CloudWatch 使用者指南*》中的[繪製指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph_metrics.html)。
   + 若要偵測異常，請參閱《Amazon [ CloudWatch 使用者指南》中的使用 CloudWatch 異常偵測](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html)。 *Amazon CloudWatch *
   + 若要取得指標的統計資料，請參閱《*Amazon CloudWatch 使用者指南*》中的[取得指標的統計資料](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/getting-metric-statistics.html)。



## CloudWatch 警示
<a name="monitoring-cloudwatch_alarms"></a>

您可以建立 CloudWatch 警示，在指標值變更並導致警示變更狀態時傳送 Amazon SNS 訊息。您可以在 Secrets Manager 指標 上設定警示`ResourceCount`，這是您帳戶中的秘密數目。您也可以在警示上設定警示 在指定的時段內監看指標，並根據在多個時段內相對於指定閾值的指標值來執行動作。警示僅會針對持續狀態變更調用動作。CloudWatch 警示不會只因處於特定狀態就調用動作，狀態必須已變更並已維持一段指定的時間。

如需詳細資訊，請參閱《[CloudWatch 使用者指南》中的使用 Amazon CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)*和根據異常偵測建立 CloudWatch *警示。 [ CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create_Anomaly_Detection_Alarm.html) 

您也可以設定留意特定閾值的警示，當滿足這些閾值時傳送通知或採取動作。如需詳細資訊，請參閱 [Amazon CloudWatch 使用者指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)。

# 使用 Amazon EventBridge 比對 AWS Secrets Manager 事件
<a name="monitoring-eventbridge"></a>

在 Amazon EventBridge 中，您可以比對 CloudTrail 日誌項目中的 Secrets Manager 事件。您可以設定尋找這些事件的 EventBridge 規則，然後將新產生的事件傳送至目標以採取動作。如需 Secrets Manager 記錄的 CloudTrail 項目清單，請參閱 [CloudTrail 事件](cloudtrail_log_entries.md)。如需設定 EventBridge 的說明，請參閱《EventBridge 使用者指南》**中的 [EventBridge 入門](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html)。

## 比對指定機密的所有變更
<a name="monitoring-eventbridge_examples-all-changes"></a>

**注意**  
由於[部分 Secrets Manager 事件](cloudtrail_log_entries.md)會以不同的大小寫傳回機密的 ARN，因此在比對多個動作的事件模式中，若要透過 ARN 指定機密，您可能需要同時包含金鑰 `arn` 和 `aRN`。如需詳細資訊，請參閱 [AWS re:Post](https://repost.aws/knowledge-center/secrets-manager-arn)。

下列範例顯示用於比對機密變更之日誌項目的 EventBridge 事件模式。

```
{
    "source": ["aws.secretsmanager"],
    "detail-type": ["AWS API Call via CloudTrail"],
    "detail": {
        "eventSource": ["secretsmanager.amazonaws.com"],
        "eventName": ["DeleteResourcePolicy", "PutResourcePolicy", "RotateSecret", "TagResource", "UntagResource", "UpdateSecret"],
        "responseElements": {
            "arn": ["arn:aws:secretsmanager:us-west-2:012345678901:secret:mySecret-a1b2c3"]
        }
    }
}
```

## 機密值輪換時比對事件
<a name="monitoring-eventbridge_examples-rotations"></a>

下列範例顯示用於比對從手動更新或自動輪換發生之機密值變更的 CloudTrail 日誌項目的 EventBridge 事件模式。由於其中一些事件來自 Secrets Manager 操作，一些由 Secrets Manager 服務產生，因此您必須包含兩者的 `detail-type`。

```
{
    "source": ["aws.secretsmanager"],
    "detail-type": [
        "AWS API Call via CloudTrail",
        "AWS Service Event via CloudTrail"
    ],
    "detail": {
        "eventSource": ["secretsmanager.amazonaws.com"],
        "eventName": ["PutSecretValue", "UpdateSecret", "RotationSucceeded"]
    }
}
```

# 監控何時存取排程刪除的 AWS Secrets Manager 秘密
<a name="monitoring_cloudwatch_deleted-secrets"></a>

您可以使用 AWS CloudTrail Amazon CloudWatch Logs 和 Amazon Simple Notification Service (Amazon SNS) 的組合來建立警示，在嘗試存取待刪除秘密時通知您。如果您收到警示的通知，您可以取消秘密的刪除，讓您有更多時間決定是否真的想要刪除該秘密。您調查到最後可能會還原秘密，因為您仍需要此秘密。或者，您可能需要為使用新秘密的使用者，提供最新的詳細資訊。

下列程序說明在對 `GetSecretValue` 操作提出請求而導致特定的錯誤訊息寫入 CloudTrail 日誌檔時，如何收到通知。可對秘密執行其他 API 操作，無需觸發警示。此 CloudWatch 警示會偵測可能指出使用過期登入資料之人員或應用程式的使用情況。

開始這些程序之前，您必須在您要監控 AWS Secrets Manager API 請求的 AWS 區域 和 帳戶中開啟 CloudTrail。如需說明，請前往 *AWS CloudTrail 使用者指南*中的[首次建立追蹤](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html)。

## 步驟 1：設定 CloudTrail 日誌檔案交付至 CloudWatch Logs
<a name="monitoring_cloudwatch_deleted-secrets_part1"></a>

您必須將 CloudTrail 日誌檔設定為交付到 CloudWatch Logs。這樣做可讓 CloudWatch Logs 監控它們，以使 Secrets Manager API 請求擷取待刪除的秘密。

**設定將 CloudTrail 日誌檔交付至 CloudWatch Logs**

1. 前往 [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/) 開啟 CloudTrail 主控台。

1. 在頂端導覽列上，選擇 AWS 區域 以監控秘密。

1. 在左側導覽窗格中，選擇 **Trails** (追蹤)，然後選擇要為 CloudWatch 設定的追蹤名稱。

1. 在 **Trails Configuration** (追蹤組態) 頁面，向下捲動到 **CloudWatch Logs** 部分，然後選擇編輯圖示 (![\[Remote control icon with power, volume, and channel buttons.\]](http://docs.aws.amazon.com/zh_tw/secretsmanager/latest/userguide/images/edit-pencil-icon.png))。

1. 在 **New or existing log group (新建或現有的日誌群組)** 中，輸入日誌群組的名稱，例如 **CloudTrail/MyCloudWatchLogGroup**。

1. 對於 **IAM role** (IAM 角色)，您可以使用名為 **CloudTrail\$1CloudWatchLogs\$1Role** 的預設角色。此角色有預設的角色政策，內含將 CloudTrail 事件交付至日誌群組所需的許可。

1. 選擇 **Continue** (繼續) 來儲存您的組態。

1. 在 **AWS CloudTrail 將與帳戶中 API 活動相關的 CloudTrail 事件交付至 CloudWatch Logs 日誌群組**頁面，選擇 **Allow** (允許)。

## 步驟 2：建立 CloudWatch 警示
<a name="monitoring_cloudwatch_deleted-secrets_part2"></a>

若要在 Secrets Manager `GetSecretValue` API 操作請求存取待刪除的秘密時收到通知，您必須建立 CloudWatch 警示並設定通知。

**建立 CloudWatch 警示**

1. 前往 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 登入 CloudWatch 主控台。

1. 在頂端導覽列上，選擇您要監控秘密 AWS 的區域。

1. 在左側導覽窗格中，選擇 **Logs (日誌)**。

1. 在 **Log Groups (日誌群組)** 中，選取您在之前程序中建立的日誌群組旁的核取方塊，例如 **CloudTrail/MyCloudWatchLogGroup**。然後，選擇 **Create Metric Filter** (建立指標篩選條件)。

1. 在 **Filter Pattern** (篩選條件模式) 中，請輸入或貼上下列內容：

   ```
   { $.eventName = "GetSecretValue" && $.errorMessage = "*secret because it was marked for deletion*" }
   ```

   選擇 **Assign Metric (指派指標)**。

1. 在 **Create Metric Filter and Assign a Metric** (建立指標篩選條件並指定指標) 頁面上，請執行下列動作：

   1. 針對 **Metric Namespace (指標命名空間)**，輸入 **CloudTrailLogMetrics**。

   1. 針對 **Metric Name (指標名稱)**，輸入 **AttemptsToAccessDeletedSecrets**。

   1. 選擇 **Show advanced metric settings (顯示進階指標設定)**，然後在必要時於 **Metric Value (指標值)** 中輸入 **1**。

   1. 選擇 **Create Filter** (建立篩選條件)。

1. 在篩選條件方塊中，選擇 **Create Alarm** (建立警示)。

1. 在 **Create Alarm** (建立警示) 視窗中，請執行下列動作：

   1. 在 **Name (名稱)** 輸入 **AttemptsToAccessDeletedSecretsAlarm**。

   1.  在 **Whenever: (無論何時：)** 的 **is: (是)** 中，選擇 **>=**，然後輸入 **1**。

   1. 在 **Send notification to:** (傳送通知給：) 欄位旁，執行以下其中一項：
      + 若要建立和使用新的 Amazon SNS 主題，請選擇 **New list** (新清單)，然後輸入新的主題名稱。對於 **Email list:** (電子郵件清單：) 欄位，請輸入至少一個電子郵件地址。您可以利用逗號分隔來輸入多個電子郵件地址。
      + 若要使用現有的 Amazon SNS 主題，請選擇要使用的主題名稱。如果清單不存在，請選擇 **Select list (選取清單)**。

   1. 選擇**建立警示** 。

## 步驟 3：測試 CloudWatch 警示
<a name="monitoring_cloudwatch_deleted-secrets_part3"></a>

若要測試警示，請建立秘密，然後將其排定刪除。接著嘗試擷取秘密值。您很快就會在警示中設定的地址收到電子郵件。它會提醒您使用的秘密已排定要刪除。

# 使用 監控 AWS Secrets Manager 秘密的合規性 AWS Config
<a name="configuring-awsconfig-rules"></a>

您可以使用 AWS Config 來評估秘密，以查看它們是否符合您的標準。您可以使用 AWS Config 規則來定義秘密的內部安全與合規要求。然後， AWS Config 可以識別不符合您規則的秘密。您也可以追蹤秘密中繼資料、[輪換組態](find-secrets-not-rotating.md)、用於秘密加密的 KMS 金鑰、Lambda 輪換函數以及與秘密相關聯的標籤的變更。

您可以設定 AWS Config 來通知您變更。如需詳細資訊，請參閱[AWS Config 傳送至 Amazon SNS 主題的通知](https://docs.aws.amazon.com/config/latest/developerguide/notifications-for-AWS-Config.html)。

如果您的組織中有多個 AWS 帳戶 和 AWS 區域 的秘密，您可以彙總該組態和合規資料。如需詳細資訊，請參閱[多帳戶多區域資料彙總](https://docs.aws.amazon.com/config/latest/developerguide/aggregate-data.html)。

**評估秘密是否合規**
+ 遵循[使用 AWS Config 規則評估資源](https://docs.aws.amazon.com/config/latest/developerguide/evaluating-your-resources.html)的指示，然後選擇下列其中一個規則：
  + `[secretsmanager-secret-unused](https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-secret-unused.html)` – 檢查是否在指定的天數內存取秘密。
  + `[secretsmanager-using-cmk](https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-using-cmk.html)` — 檢查秘密是否使用 或您建立的客戶受管金鑰進行 AWS 受管金鑰 `aws/secretsmanager`加密 AWS KMS。
  + `[secretsmanager-rotation-enabled-check](https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-rotation-enabled-check.html)` – 檢查是否為 Secrets Manager 中存放的秘密設定了輪換。
  + `[secretsmanager-scheduled-rotation-success-check](https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-scheduled-rotation-success-check.html)` – 檢查上次成功輪換是否在設定的輪換頻率範圍內。檢查的最低頻率為每日。
  + `[secretsmanager-secret-periodic-rotation](https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-secret-periodic-rotation.html)` – 檢查是否在指定的天數內輪換秘密。

# 監控 Secrets Manager 成本
<a name="monitor-secretsmanager-costs"></a>

您可以使用 Amazon CloudWatch 來監控預估 AWS Secrets Manager 費用。如需詳細資訊，請參閱《*CloudWatch 使用者指南*》中的[建立帳單警示以監控預估 AWS 費用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html)。

另一種監控成本的選項是 AWS 成本異常偵測。如需詳細資訊，請參閱《 [成本管理使用者指南》中的使用 AWS 成本異常偵測來偵測異常支出](https://docs.aws.amazon.com/cost-management/latest/userguide/manage-ad.html)。 *AWS *

如需監控 Secrets Manager 用量的資訊，請參閱 [AWS Secrets Manager 使用 Amazon CloudWatch 監控](monitoring-cloudwatch.md)和 [使用 記錄 AWS Secrets Manager 事件 AWS CloudTrail](monitoring-cloudtrail.md)。

如需 AWS Secrets Manager 定價的相關資訊，請參閱 [定價](intro.md#asm_pricing)。

# 使用 Amazon GuardDuty 偵測威脅
<a name="monitoring-guardduty"></a>

Amazon GuardDuty 是一種威脅偵測服務，可協助您使用 AWS 環境來保護您的帳戶、容器、工作負載和資料。透過使用機器學習 (ML) 模型和異常和威脅偵測功能，GuardDuty 會持續監控不同的日誌來源，以識別環境中的潛在安全風險和惡意活動的優先順序。例如，GuardDuty 將偵測潛在威脅，例如異常或可疑的秘密存取，以及憑證洩漏，以防它透過執行個體啟動角色偵測專門為 Amazon EC2 執行個體建立，但正從其中的其他帳戶使用中的登入資料 AWS。如需詳細資訊，請參閱 [Amazon GuardDuty 使用者指南](https://docs.aws.amazon.com/guardduty/latest/ug/what-is-guardduty.html)。

另一個用於偵測的範例使用案例是異常行為。例如，如果 AWS Secrets Manager 通常使用 Java 開發套件從實體取得 `create-secret`、`describe-secret`、 和 `get-secret-value``list-secrets`呼叫，然後不同的實體開始 AWS CLI 從 VPN 外部呼叫`batch-get-secret-value`和`get-secret-value`使用 ，GuardDuty 可以報告第二個實體異常叫用 APIs 的問題清單。如需詳細資訊，請參閱 [GuardDuty IAM 調查結果類型 CredentialAccess：IAMUser/AnomalousBehavior](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-iam.html#credentialaccess-iam-anomalousbehavior)。