AWS Key Management Service
開発者ガイド

Amazon CloudWatch によるモニタリング

Amazon CloudWatch を使用して、カスタマーマスターキー (CMK) を監視することで、AWS KMS から未加工データを収集し、リアルタイムに近い読み取り可能なメトリクスに加工することができます。これらのデータは、履歴情報にアクセスして、時間の経過に伴う CMK の使用や変更に関する理解を深められるように 2 週間記録されます。Amazon CloudWatch の詳細については、『Amazon CloudWatch ユーザーガイド』を参照してください。

AWS KMS のメトリクスとディメンション

キーマテリアルを CMK にインポートし、有効期限を設定すると、メトリクスとディメンションが AWS KMS から CloudWatch に送信されます。AWS マネジメントコンソール や Amazon CloudWatch API を使用して AWS KMS メトリクスを表示できます。

AWS KMS メトリクス

AWS/KMS 名前空間には、次のメトリクスが含まれます。

SecondsUntilKeyMaterialExpiration

このメトリクスはインポートしたキーマテリアルの有効期限までの残りの秒数を追跡します。このメトリクスは、オリジンが EXTERNAL でキーマテリアルの有効期限が設定された CMK に対してのみ有効です。このメトリクスで最も有用な統計は Minimum で、指定した統計期間のすべてのデータポイントの最小残り時間を示します。このメトリクスの唯一の有効な単位は Seconds です。

このメトリクスを使用して、インポートしたキーマテリアルの有効期限までの残り時間を追跡します。その時間が定義したしきい値を下回った場合は、新しい有効期限を使用してキーマテリアルを再インポートするなどのアクションを実行できます。これが発生したときに通知する CloudWatch アラームを作成できます。詳細については、「CloudWatch アラームを作成して AWS KMS メトリクスをモニタリングする」を参照してください。

AWS KMS メトリクスのディメンション

AWS KMS メトリクスは AWS/KMS 名前空間を使用し、有効なディメンション: KeyId は 1 つだけです。このディメンションを使用して、特定の CMK のメトリクスデータまたは CMK の設定を表示できます。

AWS KMS メトリクスの表示方法

AWS マネジメントコンソール や Amazon CloudWatch API を使用して AWS KMS メトリクスを表示できます。

CloudWatch コンソールを使用してメトリクスを表示するには

  1. https://console.aws.amazon.com/cloudwatch/にある CloudWatch コンソールを開きます。

  2. 必要に応じてリージョンを変更します。ナビゲーションバーから、AWS リソースがあるリージョンを選択します。

  3. ナビゲーションペインで メトリクスを選択します。

  4. コンテンツペインで、[All metrics] タブを選択します。次に、[AWS の名前空間] で [KMS] を選択します。

  5. [Per-Key Metrics] を選択して、個別のメトリクスとディメンションを選択します。

Amazon CloudWatch API を使ってメトリクスを表示するには

CloudWatch API を使用して AWS KMS メトリクスを表示するには、NamespaceAWS/KMS に設定して ListMetrics リクエストを送信します。次の例では、AWS Command Line Interface (AWS CLI) を使用してこの操作を行う方法を示します。

$ aws cloudwatch list-metrics --namespace AWS/KMS

CloudWatch アラームを作成して AWS KMS メトリクスをモニタリングする

メトリクスの値を変更し、アラームが変更状態になると、CloudWatch アラームを作成して Amazon SNS メッセージを送信できます。アラームは、指定期間にわたって単一のメトリクスを監視し、その値と複数期間に対するしきい値との比較結果に基づいて 1 つ以上のアクションを実行します。アクションは、Amazon SNS トピックまたは Auto Scaling ポリシーに送信される通知です。アラームは、持続している状態変化に対してのみアクションを呼び出します。CloudWatch アラームは、単に特定の状態にあるというだけでアクションを呼び出すわけではありません。状態が変わり、それが指定した数の期間にわたって持続している必要があります。

CloudWatch アラームを作成して、インポートされたキーマテリアルの有効期限をモニタリングする

キーマテリアルを CMK にインポートすると、キーマテリアルの有効期限を任意で指定することができます。キーマテリアルが有効期限切れになると、AWS KMS はキーマテリアルを削除し、CMK は使用不可能になります。CMK を再び使用するには、キーマテリアルを再インポートする必要があります。インポートしたキーマテリアルが定義したしきい値 (例:10 日) を下回るまでの日数を通知する CloudWatch アラームを作成できます。このようなアラームから通知を受け取った場合、新しい有効期限でキーマテリアルを再インポートするなどのアクションを実行する場合があります。

インポートされたキーマテリアルの有効期限をモニタリングするアラームを作成するには (AWS マネジメントコンソール)

  1. https://console.aws.amazon.com/cloudwatch/にある CloudWatch コンソールを開きます。

  2. 必要に応じてリージョンを変更します。ナビゲーションバーから、AWS リソースがあるリージョンを選択します。

  3. ナビゲーションペインで、[Alarms] を選択します。次に [アラームの作成] を選択します。

  4. [Browse Metrics]、[KMS] の順に選択します。

  5. CMK のキー ID の横にあるチェックボックスを選択し、モニタリングします。

  6. 下部ペインのメニューから、統計を [Minimum]、期間を [1 分間] に変更します。続いて、[Next] を選択します。

  7. [Create Alarm] ウィンドウで、以下の操作を行います。

    1. [名前] には KeyMaterialExpiresSoon などの名前を入力します。

    2. [次の時:] に続く [が:] に、<= を選択して、しきい値に設定する秒数を入力します。たとえば、インポートしたキーマテリアルの有効期限までの残日数が 10 日またはそれ以下になると通知するには、864000 と入力します。

    3. 必要に応じて、[回連続した場合] に「1」と入力します。

    4. [Send notification to:] については、次のいずれかを実行します。

      • 新しい Amazon SNS トピックを使用するには、[新しいリスト] を選択して新しいトピック名を入力します。[Email list:] に、E メールアドレスを少なくとも 1 つ入力します。カンマで区切って、複数の E メールアドレスを入力できます。

      • 既存の Amazon SNS トピックを使用するには、使用するトピックの名前を選択します。

    5. [Create Alarm] を選択します。

  8. メールアドレスによる通知を選択した場合は、「AWS Notification - Subscription Confirmation」という件名の E メールメッセージが no-reply@sns.amazonaws.com から送信されます。 E メールメッセージ内の [Confirm subscription] リンクを選択し、E メールアドレスを確認します。

    重要

    E メールアドレスを確認しない限り、E メール通知は受け取れません。

削除保留中の CMK の使用をモニタリングする CloudWatch アラームを作成する

CMK のキー削除の予定を作成した場合、CMK は、AWS KMS で一定期間待機してから削除されます。待機期間を設定すれば、CMK が不要であり、今後も使用しないことを確認できます。待機期間中にユーザーまたはアプリケーションが CMK を使用しようとした場合に CloudWatch アラームで警告するように設定することもできます。このようなアラームから通知を受け取ると、CMK の削除をキャンセルする場合があります。

詳細については、「Amazon CloudWatch アラームを作成し、削除が保留中のカスタマーマスターキーの使用を検知する」を参照してください。

AWS KMS イベント

AWS KMS は Amazon CloudWatch Events と連携して、CMK に影響を及ぼす特定のイベントを通知します。各イベントは、JSON (JavaScript Object Notation) で表され、イベント名、イベント日時、影響を受ける CMK などが含まれています。CloudWatch イベント を使用して、これらのイベントを収集し、AWS Lambda 機能や Amazon SNS トピック、Amazon SQS キュー、Amazon Kinesis Data Streams のストリームなど複数のターゲットまたは組み込みターゲットに、そのイベントを経由するルールを設定できます。

read/write API リクエストを記録する際、AWS CloudTrail で出力されるイベントなど、その他の種類のイベントとともに CloudWatch イベント を使用する詳細については、『Amazon CloudWatch Events ユーザーガイド』を参照してください。

次のトピックでは、AWS KMS が作成する CloudWatch イベント を説明します。

KMS CMK ローテーション

顧客管理の CMK自動キーローテーションを有効にすると、AWS KMS により毎年 CMK の新しいキーマテリアルが作成されます。AWS 管理の CMKのキーマテリアルは 3 年ごとに自動的にローテーションされます。

AWS KMS がキーマテリアルをローテーションするたびに、KMS CMK ローテーションイベントが CloudWatch イベント に送信されます。このイベントの例を以下に示します。

{ "version": "0", "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718", "detail-type": "KMS CMK Rotation", "source": "aws.kms", "account": "111122223333", "time": "2016-08-25T21:05:33Z", "region": "us-west-2", "resources": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" ], "detail": { "key-id": "1234abcd-12ab-34cd-56ef-1234567890ab" } }

KMS でインポートされたキーマテリアルの有効期限

キーマテリアルを CMK にインポートすると、キーマテリアルの有効期限を任意で指定することができます。キーマテリアルの有効期限が切れると、AWS KMS によってキーマテリアルが削除され、イベントが CloudWatch イベント に送信されます。このイベントの例を以下に示します。

{ "version": "0", "id": "9da9af57-9253-4406-87cb-7cc400e43465", "detail-type": "KMS Imported Key Material Expiration", "source": "aws.kms", "account": "111122223333", "time": "2016-08-22T20:12:19Z", "region": "us-west-2", "resources": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" ], "detail": { "key-id": "1234abcd-12ab-34cd-56ef-1234567890ab" } }

KMS CMK 削除

CMK のキー削除の予定を作成した場合、CMK は、AWS KMS で一定期間待機してから削除されます。待機期間が終了すると、CMK は AWS KMS より削除され、そのイベントは CloudWatch イベント に送信されます。このイベントの例を以下に示します。

{ "version": "0", "id": "e9ce3425-7d22-412a-a699-e7a5fc3fbc9a", "detail-type": "KMS CMK Deletion", "source": "aws.kms", "account": "111122223333", "time": "2016-08-19T03:23:45Z", "region": "us-west-2", "resources": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" ], "detail": { "key-id": "1234abcd-12ab-34cd-56ef-1234567890ab" } }