翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
削除が予定されている AWS Secrets Manager シークレットへのアクセスを監視する
AWS CloudTrail、Amazon CloudWatch Logs、Amazon Simple Notification Service (Amazon SNS) の組み合わせを使用すると、削除が保留されているシークレットにアクセスが試みられたときに、通知するアラームを作成できます。アラームから通知を受け取ると、削除が本当に必要かどうかを時間をかけて判断するために、シークレットの削除をキャンセルしなければならない場合があります。調査の結果、シークレットが実際にまだ必要であるため、シークレットが保存されたままになる可能性があります。または、使用する新しいシークレットの詳細を使用して、ユーザーを更新する必要がある場合があります。
次の手順は、特定のエラーメッセージを生成する GetSecretValue
オペレーションのリクエストが CloudTrail ログファイルに書き込まれた場合に、通知を受け取る方法を説明します。他の API オペレーションは、アラームをトリガーせずにシークレットで実行できます。この CloudWatch アラームは、古い認証情報を使用しているユーザーまたはアプリケーションを示す可能性のある使用を検出します。
これらの手順を開始する前に、AWS リージョン と、AWS Secrets Manager API リクエストを監視するアカウントで、CloudTrail をオンにする必要があります。手順については、「AWS CloudTrail ユーザーガイド」の「Creating a trail for the first time」を参照してください。
ステップ 1: CloudTrail ログファイルの CloudWatch ログへの配信を設定します
CloudTrail ログファイルの CloudWatch Logs への配信を設定します。これにより、CloudWatch Logs は削除が保留されているシークレットを取得する、Secrets Manager API リクエストを監視できます。
CloudTrail ログファイルの CloudWatch Logs への配信を設定するには
-
CloudTrail コンソール (https://console.aws.amazon.com/cloudtrail/
) を開きます。 -
上部のナビゲーションバーで、AWS リージョン を選択してシークレットを監視します。
-
左のナビゲーションペインで [Trails](証跡) を選択し、CloudWatch 向けに設定する証跡の名前を選択します。
-
[Trails Configuration](証跡の設定) ページで、[CloudWatch Logs] のセクションまでスクロールダウンし、編集アイコン ( ) を選択します。
-
[New or existing log group] (新規または既存のロググループ)にロググループの名前 (
CloudTrail/MyCloudWatchLogGroup
) を入力します。 -
[IAM role] (IAM ロール) には、CloudTrail_CloudWatchLogs_Role というデフォルトのロールを使用できます。このロールには、CloudTrail イベントをロググループに配信するために必要なアクセス許可を持つ、デフォルトロールポリシーがあります。
-
[Continue] (続行) を選択して設定を保存します。
-
[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 アラームを作成する
Secrets Manager の GetSecretValue
API オペレーションリクエストが、削除保留中のシークレットにアクセスした場合に通知を受け取るには、CloudWatch アラームを作成し、通知を設定する必要があります。
CloudWatch アラームを作成するには
-
次の場所から CloudWatch コンソールにサインインします (https://console.aws.amazon.com/cloudwatch/
)。 -
上部のナビゲーションバーで、シークレットを監視する AWS リージョンを選択します。
-
左のナビゲーションペインで [Logs] (ログ) を選択します。
-
[Log Groups] (ロググループ) のリストで、以前の手順で作成したロググループ (CloudTrail/MyCloudWatchLogGroupなど) の横にあるチェックボックスを選択します。その後、[Create Metric Filter] (メトリクスフィルタの作成) を選択します。
-
[Filter Pattern] (フィルタパターン) に、以下を入力するか貼り付けます。
{ $.eventName = "GetSecretValue" && $.errorMessage = "*secret because it was marked for deletion*" }
[Assign Metric] (メトリクスの割り当て) を選択します。
-
[Create Metric Filter and Assign a Metric] (メトリクスフィルタの作成とメトリクスの割り当て) ページで、次の操作を実行します。
-
[Metric Namespace] (メトリクス名前空間) に「
CloudTrailLogMetrics
」と入力します。 -
[Metric Name] (メトリクス名) に「
AttemptsToAccessDeletedSecrets
」と入力します。 -
[Show advanced metric settings] (メトリクスの詳細設定の表示) を選択した後、必要に応じて [Metric Value] (メトリクス値) に「
1
」と入力します。 -
[Create Filter] (フィルタの作成) を選択します。
-
-
フィルタボックスで、[Create Alarm] (アラームの作成) を選択します。
-
[Create Alarm] (アラームの作成) ウィンドウで、以下の操作を行います。
-
[Name] (名前) に、「
AttemptsToAccessDeletedSecretsAlarm
」と入力します。 -
[Whenever:] (次の時:) の [is:] (が:) で [>=] を選択し、「
1
」と入力します。 -
[Send notification to:] (通知の送信:) の横で、次のいずれかを実行します。
-
新しい Amazon SNS トピックを作成し使用するには、[New list] (新しいリスト) を選択し、新しいトピック名を入力します。[Email list:] (E メールリスト:) に、E メールアドレスを少なくとも 1 つ入力します。カンマで区切って、複数の E メールアドレスを入力できます。
-
既存の Amazon SNS トピックを使用するには、使用するトピックの名前を選択します。リストが存在しない場合は、[Select list] (リストの選択) を選択します。
-
-
[Create Alarm] (アラームの作成) を選択します。
-
ステップ 3: CloudWatch アラームをテストする
アラームをテストするには、シークレットを作成し、それを削除用にスケジュールします。次に、シークレット値の取得を試みます。 アラームで設定したアドレスに間もなく E メールが届きます。これは、削除予定のシークレットの使用について警告します。