

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 削除が予定されている AWS Secrets Manager シークレットがいつアクセスされるかをモニタリングする
<a name="monitoring_cloudwatch_deleted-secrets"></a>

Amazon CloudWatch Logs AWS CloudTrailと Amazon Simple Notification Service (Amazon SNS) の組み合わせを使用して、削除保留中のシークレットへのアクセス試行を通知するアラームを作成できます。アラームから通知を受け取ると、削除が本当に必要かどうかを時間をかけて判断するために、シークレットの削除をキャンセルしなければならない場合があります。調査の結果、シークレットが実際にまだ必要であるため、シークレットが保存されたままになる可能性があります。または、使用する新しいシークレットの詳細を使用して、ユーザーを更新する必要がある場合があります。

次の手順は、特定のエラーメッセージを生成する `GetSecretValue` オペレーションのリクエストが CloudTrail ログファイルに書き込まれた場合に､通知を受け取る方法を説明します。他の API オペレーションは、アラームをトリガーせずにシークレットで実行できます。この CloudWatch アラームは、古い認証情報を使用しているユーザーまたはアプリケーションを示す可能性のある使用を検出します。

これらの手順を開始する前に、 AWS Secrets Manager API リクエストをモニタリングする予定の AWS リージョン および アカウントで CloudTrail を有効にする必要があります。手順については、「*AWS CloudTrail ユーザーガイド*」の「[Creating a trail for the first time](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html)」を参照してください。

## ステップ 1: CloudTrail ログファイルの CloudWatch ログへの配信を設定します
<a name="monitoring_cloudwatch_deleted-secrets_part1"></a>

CloudTrail ログファイルの CloudWatch Logs への配信を設定します。これにより、CloudWatch Logs は削除が保留されているシークレットを取得する、Secrets Manager API リクエストを監視できます。

**CloudTrail ログファイルの CloudWatch Logs への配信を設定するには**

1. CloudTrail コンソールの [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/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/ja_jp/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 will deliver CloudTrail events associated with API activity in your account to your CloudWatch Logs log group AWS CloudTrail **] ( がアカウントでの API アクティビティに関連する CloudTrail イベントを CloudWatch Logs のロググループに配信する) ページで、[**Allow**] (許可) を選択します。

## ステップ 2: CloudWatch アラームを作成する
<a name="monitoring_cloudwatch_deleted-secrets_part2"></a>

Secrets Manager の `GetSecretValue` API オペレーションリクエストが、削除保留中のシークレットにアクセスした場合に通知を受け取るには、CloudWatch アラームを作成し、通知を設定する必要があります。

**CloudWatch アラームを作成するには**

1. 次の場所から CloudWatch コンソールにサインインします ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/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:]** (E メールリスト:) に、E メールアドレスを少なくとも 1 つ入力します。カンマで区切って、複数の E メールアドレスを入力できます。
      + 既存の Amazon SNS トピックを使用するには、使用するトピックの名前を選択します。リストが存在しない場合は、**[Select list]** (リストの選択) を選択します。

   1. **[Create Alarm]** (アラームの作成) を選択します。

## ステップ 3: CloudWatch アラームをテストする
<a name="monitoring_cloudwatch_deleted-secrets_part3"></a>

アラームをテストするには、シークレットを作成し、それを削除用にスケジュールします。次に、シークレット値の取得を試みます｡ アラームで設定したアドレスに間もなく E メールが届きます。これは、削除予定のシークレットの使用について警告します。