AWS KMS による AWS CloudTrail API 呼び出しのログ記録
AWS KMS は、ユーザー、ロール、その他の AWS のサービスが AWS KMS へのすべての呼び出しを記録するサービスである AWS CloudTrail と統合されています。CloudTrail は、AWS KMS コンソールからの呼び出し、AWS KMS API、AWS Command Line Interface (AWS CLI)、AWS Tools for PowerShell を含むイベントとして、AWS KMS へのすべての API コールをキャプチャします。
CloudTrail は、ListAliases や GetKeyRotationStatus などの読み取り専用オペレーション、CreateKey や PutKeyPolicy などの KMS キーを管理するオペレーション、GenerateDataKey や Decrypt などの暗号化オペレーションを含む、すべての AWS KMS オペレーションを記録します。
CloudTrail は成功したオペレーションと失敗した呼び出しの試行 (発信者がリソースへのアクセスを拒否された場合など) を記録します。他のアカウントの KMS キーに対するオペレーションは、発信者のアカウントと KMS キー所有者のアカウントの両方にログ記録されます。ただし、アクセスが拒否されたために拒否されたクロスアカウント AWS KMS リクエストは、呼び出し元のアカウントにのみ記録されます。
セキュリティ上の理由から、AWS KMS ログエントリ (Encrypt リクエストの Plaintext
パラメータ、GetKeyPolicy への応答、すべての暗号化オペレーションなど) から省略されるフィールドもあります。
デフォルトでは、すべての AWS KMS アクションが CloudTrail イベントとして記録されますが、CloudTrail 追跡から AWS KMS アクションを除外できます。詳細については、「」を参照してください証跡からの AWS KMS イベントの除外
CloudTrail でのログ記録イベント
CloudTrail は、アカウント作成時に AWS アカウント で有効になります。AWS KMS でアクティビティが発生すると、そのアクティビティは [Event history] (イベント履歴) の他の AWS のサービスのイベントとともに CloudTrail イベントに記録されます。最近のイベントは、 で表示、検索、ダウンロードできますAWS アカウント 詳細については、「CloudTrail イベント履歴でのイベントの表示」を参照してください。
AWS KMS のイベントなど、AWS アカウント のイベントの継続的な記録については、追跡を作成します。追跡により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。デフォルトでは、コンソールで追跡を作成するときに、追跡がすべてのリージョンに適用されます。証跡は AWS パーティションのすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集したイベントデータをより詳細に分析し、それに基づく対応するためにその他の AWS のサービスを設定できます。詳細については、次を参照してください。
CloudTrail の詳細については、AWS CloudTrail ユーザーガイドを参照してください。KMS キーの使用をモニタリングするその他の方法については、AWS KMS keys のモニタリング を参照してください。
各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。同一性情報は次の判断に役立ちます。
-
リクエストが、ルートまたは IAM ユーザー認証情報を使用して送信されたか。
-
リクエストが、ロールまたはフェデレーティッドユーザーの一時的なセキュリティ認証情報を使用して送信されたか。
-
リクエストが、別の AWS のサービスによって行われたか。
詳細については、「CloudTrail userIdentity Element」(CloudTrail userIdentity 要素) を参照してください。
証跡からの AWS KMS イベントの除外
ほとんどの AWS KMS ユーザーは、AWS KMS リソースの使用と管理のレコードを提供するために、CloudTrail 追跡内のイベントに依存します。追跡は、AWS KMS keys の作成、無効化、削除、およびキーポリシーの変更、ユーザーに代わって AWS のサービスが行う KMS キーの使用など、重要なイベントを監査するための貴重なデータソースになります。場合によっては、CloudTrail ログエントリのメタデータ (暗号化オペレーションの暗号化コンテキストなど) が、エラーを回避または解決するために役立ちます。
ただし、AWS KMS では多数のイベントを生成できるため、AWS CloudTrail では証跡から AWS KMS イベントを除外できます。この証跡単位の設定では、すべての AWS KMS イベントが除外されます。特定の AWS KMS イベントを除外することはできません。
CloudTrail ログから AWS KMS イベントを除外すると、KMS キーを使用するアクションが隠されることがあります。このオペレーションを実行するために必要な cloudtrail:PutEventSelectors
アクセス許可をプリンシパルに与えるときは注意してください。
証跡から AWS KMS イベントを除外するには:
-
CloudTrail コンソールでは、追跡の作成時または追跡の更新時に、[Log Key Management Service events] (Key Management Service のイベントを記録) 設定を使用します。手順については、AWS CloudTrail ユーザーガイドの Logging Management Events with the AWS Management Console を参照してください。
-
CloudTrail API では、PutEventSelectors オペレーションを実行します。
ExcludeManagementEventSources
属性をkms.amazonaws.com
の値でイベントセレクタに追加します。例については、AWS CloudTrail ユーザーガイドのExample: A trail that does not log AWS Key Management Service events を参照してください。
この除外は、コンソール設定または証跡のイベントセレクタを変更することでいつでも無効にできます。その後、証跡は AWS KMS イベントの記録を開始します。ただし、除外が有効である間に発生した AWS KMS イベントはリカバリできません。
コンソールまたは API を使用して AWS KMS イベントを除外すると、それにより実行される CloudTrail PutEventSelectors
の API オペレーションも CloudTrail ログに記録されます。AWS KMS イベントが CloudTrail ログに表示されない場合は、ExcludeManagementEventSources
属性が kms.amazonaws.com
に設定されている PutEventSelectors
イベントを探します。