スキップしてコンテンツを表示

Lambda 関数を呼び出したユーザーを確認する方法を教えてください。

所要時間1分
0

AWS Lambda 関数を呼び出したユーザーに関する情報 (userIdentity、sourceIPAddress、userAgent などの詳細) を把握したいです。

解決策

Lambda 関数を呼び出したユーザーに関する情報を確認するには、AWS CloudTrail でデータイベントのログ記録を有効にする必要があります。デフォルトでは、CloudTrail は Lambda Invoke API コールをログに記録せず、CloudTrail のイベント履歴にもその記録は行われません。

CloudTrail でのデータイベントに対する料金の詳細については、「AWS CloudTrail の料金」を参照してください。

データイベントのログ記録を有効にするには、新しい証跡を作成するか、既存の証跡を更新してから、データイベント設定を構成します。[データイベントタイプ] の [ソース] で [Lambda] を選択し、[ログセレクターテンプレート] で [すべてのイベントをログに記録する] を選択します。

次のサンプルログは、Invoke API コールの詳細を示しています。

{
  "eventVersion": "1.06",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDAIOR74VCJ2M3NB8U4M",
    "arn": "arn:aws:iam::999999999999:user/kyle",
    "accountId": "999999999999",
    "accessKeyId": "AK2IU7DKE7U2KOI8CCBP",
    "userName": "kyle"
  },
  "eventTime": "2017-11-29T08:47:45Z",
  "eventSource": "lambda.amazonaws.com",
  "eventName": "Invoke",
  "awsRegion": "us-west-2",
  "sourceIPAddress": "[IP_ADDRESS]",
  "userAgent": "aws-cli/1.11.129 Python/2.7.8 Linux/3.1.56-0.6.839hdh3.x86_64 botocore/1.5.92",
  "requestParameters": {
    "invocationType": "RequestResponse",
    "functionName": "arn:aws:lambda:us-west-2:999999999999:function:BlogFunction:prod",
    "clientContext": "ew0KICAiY29udGV4dGtleSIgOiAiY29udGV4dHZhbHVlIg0KfQ==",
    "qualifier": "prod"
  },
  "responseElements": null,
  "additionalEventData": {
    "functionVersion": "arn:aws:lambda:us-west-2:999999999999:function:BlogFunction:4"
  },
  "requestID": "eaccb900-8f45-11e7-b60d-179cdf501g92",
  "eventID": "0e205f1d-3929-4803-b887-0d2aca122148",
  "readOnly": false,
  "resources": [{
    "accountId": "999999999999",
    "type": "AWS::Lambda::Function",
    "ARN": "arn:aws:lambda:us-west-2:999999999999:function:BlogFunction"
  }],
  "eventType": "AwsApiCall",
  "managementEvent": false,
  "recipientAccountId": "999999999999",
  "sharedEventID": "6159da59-ad2f-4e04-9669-cf0a6b6b4827"
}

上記の例で Lambda 関数を呼び出したユーザーに関する情報を確認するには、次のフィールドを確認します。

  • userIdentity は、リクエストを行ったユーザーに関する情報を示します。
  • sourceIPAddress は、ユーザーがリクエストを行った IP アドレスを示します。
    注: このフィールドには、IPv4 アドレスも IPv6 アドレスも使用できます。
  • userAgent は、ユーザーがリクエストを行う際に使用したエージェントを示します。

関連情報

Gain visibility into the execution of your AWS Lambda functions with AWS CloudTrail (AWS CloudTrail を使用して AWS Lambda 関数の実行状況を可視化する)

AWS CloudTrail を使用した AWS Lambda API コールのロギング

Understanding the CloudTrail Lake event schema (CloudTrail Lake イベントスキーマについて)

CloudTrail record contents for management, data, and network activity events (管理、データ、ネットワークアクティビティイベントに関する CloudTrail レコードのコンテンツ)

AWS公式更新しました 6ヶ月前
1コメント

This article was reviewed and updated on 2026-02-27.

エキスパート

応答済み 1ヶ月前