View a markdown version of this page

を使用した AWS Lake Formation API コールのログ記録 AWS CloudTrail - AWS Lake Formation

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

を使用した AWS Lake Formation API コールのログ記録 AWS CloudTrail

AWS Lake Formation は AWS CloudTrail、Lake Formation のユーザー、ロール、または のサービスによって実行されたアクションを記録する AWS サービスである と統合されています。CloudTrail は、すべての Lake Formation API コールをイベントとしてキャプチャします。キャプチャされた呼び出しには、Lake Formation コンソールからの呼び出し、 AWS Command Line Interface、Lake Formation API アクションへのコード呼び出しが含まれます。証跡を作成する場合は、Lake Formation のイベントを含めた CloudTrail イベントの Amazon S3 バケットへの継続的な配信を有効にすることができます。追跡を設定しない場合でも、CloudTrail コンソールの [Event history] (イベント履歴) で最新のイベントを表示できます。CloudTrail によって収集された情報を使用して、Lake Formation に対して行われたリクエスト、リクエスト元の IP アドレス、リクエスト者、リクエストが行われた日時、および追加の詳細を確認することができます。

CloudTrail の詳細については、「AWS CloudTrail ユーザーガイド」を参照してください。

CloudTrail 内の Lake Formation 情報

CloudTrail は、新しい AWS アカウントを作成するとデフォルトで有効になります。Lake Formation でアクティビティが発生すると、そのアクティビティはイベント履歴の他の AWS サービスイベントとともに CloudTrail イベントとして記録されます。イベントは、あらゆるソースからの単一のリクエストを表し、リクエストされたアクション、アクションの日時、およびリクエストパラメータに関する情報が含まれています。さらに、すべてのイベントまたはログエントリには、リクエストの生成元に関する情報も含まれています。アイデンティティ情報は、以下を判断するために役立ちます。

  • リクエストがルートまたは AWS Identity and Access Management (IAM) ユーザー認証情報を使用して行われたかどうか。

  • リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。

  • リクエストが別の AWS サービスによって行われたかどうか。

詳細については、「CloudTrail userIdentity エレメント」を参照してください。

AWS アカウントの最近のイベントを表示、検索、ダウンロードできます。詳細については、「CloudTrail イベント履歴でのイベントの表示」を参照してください。

Lake Formation のイベントなど、 AWS アカウント内のイベントの継続的な記録については、証跡を作成します。追跡を有効にすることで、CloudTrail でログファイルを Amazon S3 バケットに送信できるようになります。デフォルトでは、コンソールで追跡を作成すると、すべての AWS リージョンに追跡が適用されます。証跡は、 AWS パーティション内のすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集されたイベントデータをさらに分析して処理 Amazon Athenaするように、 などの他の AWS サービスを設定できます。CloudTrail は、Amazon CloudWatch Logs および CloudWatch Events にログファイルを配信することもできます。

詳細については、以下を参照してください。

Lake Formation イベントについて

Lake Formation のすべての API アクションは CloudTrail によってログに記録され、 AWS Lake Formation デベロッパーガイドに記載されています。例えば PutDataLakeSettingsGrantPermissions、および RevokePermissions アクションに対する呼び出しは、CloudTrail ログファイルにエントリを生成します。

以下は、GrantPermissions アクションに対する CloudTrail イベントを示す例です。このエントリには、許可を付与したユーザー (datalake_admin)、許可が付与されたプリンシパル (datalake_user1)、および付与された許可 (CREATE_TABLE) が含まれています。このエントリは、resource 引数にターゲットデータベースが指定されていなかったために、付与が失敗したことも示しています。

{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIDAZKE67KM3P775X74U2", "arn": "arn:aws:iam::111122223333:user/datalake_admin", "accountId": "111122223333", "accessKeyId": "...", "userName": "datalake_admin" }, "eventTime": "2021-02-06T00:43:21Z", "eventSource": "lakeformation.amazonaws.com", "eventName": "GrantPermissions", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.198.65", "userAgent": "aws-cli/1.19.0 Python/3.6.12 Linux/4.9.230-0.1.ac.223.84.332.metal1.x86_64 botocore/1.20.0", "errorCode": "InvalidInputException", "errorMessage": "Resource must have one of the have either the catalog, table or database field populated.", "requestParameters": { "principal": { "dataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1" }, "resource": {}, "permissions": [ "CREATE_TABLE" ] }, "responseElements": null, "requestID": "b85e863f-e75d-4fc0-9ff0-97f943f706e7", "eventID": "8d2ccef0-55f3-42d3-9ede-3a6faedaa5c1", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }

以下は、GetDataAccess アクションに対する CloudTrail ログエントリを示す例です。プリンシパルは、この API を直接コール呼び出しません。むしろ、プリンシパルまたは統合 AWS サービスGetDataAccessが、Lake Formation に登録されているデータレイクロケーション内のデータにアクセスするための一時的な認証情報をリクエストするたびに、 がログに記録されます。

{ "eventVersion": "1.05", "userIdentity": { "type": "AWSAccount", "principalId": "AROAQGFTBBBGOBWV2EMZA:GlueJobRunnerSession", "accountId": "111122223333" }, "eventSource": "lakeformation.amazonaws.com", "eventName": "GetDataAccess", ... ... "additionalEventData": { "requesterService": "GLUE_JOB", "lakeFormationPrincipal": "arn:aws:iam::111122223333:role/ETL-Glue-Role", "lakeFormationRoleSessionName": "AWSLF-00-GL-111122223333-G13T0Rmng2" }, ... }

Lake Formation を使用した CloudTrail のデータアクセスのトレース

Lake Formation は、、Amazon EMR、Amazon S3 のテーブルデータロケーションにアクセスするためのクエリエンジン AWS Glueに対して、スコープダウンされた一時的な認証情報を発行します。 Amazon S3 Lake Formation は、データロケーションを Lake Formation に登録するときに指定した IAM ロールを使用して、これらの認証情報を提供します。

CloudTrail のログ記録動作の変更 (2026 年 2 月)

2026 年 2 月以前は、クエリエンジンがクエリデータを取得するためのs3:GetObject呼び出しを行ったときに、CloudTrail ログに Lake Formation 登録 IAM ロールがプリンシパルとして表示されていました。

2026 年 2 月以降s3:GetObject呼び出しの CloudTrail ログには、クエリを開始した IAM ロールの IAM 一意の識別子 ( 以降AROA) も含まれます。この識別子は、クエリ、Amazon EMR ジョブ、または ETL ジョブを開始した IAM AWS Glue ロールに対応します。

クエリ開始から Amazon S3 へのデータアクセスのトレース

CloudTrail の各s3:GetObject呼び出しは、lakeformation:GetDataAccess呼び出しに対応します。両方のログエントリに存在する IAM ロール識別子を使用して、クエリの開始から Amazon S3 のデータアクセスまで、呼び出し元の IAM ロールを追跡できます。

Amazon S3 データイベント CloudTrail ログでソース ID の情報を有効にするには、以下の手順に従います。CloudTrail で Amazon S3 データイベントを有効にするには、Amazon S3バケットとオブジェクトの CloudTrail イベントログ記録を有効にする」を参照してください。

重要

CloudTrail で Amazon S3 データイベントを有効にすると、追加料金が発生します。

CloudTrail ログでソース ID の追跡を有効にするには
  1. を使用して、 get-data-lake-settings コマンドを実行します。レスポンスで、 Parametersフィールドを編集して を追加します"SET_SOURCE_IDENTITY": "TRUE"

    put-data-lake-settings コマンドを実行します。

    "Parameters": { "CROSS_ACCOUNT_VERSION": "4", "SET_SOURCE_IDENTITY": "TRUE" },
  2. Amazon S3 データロケーションを Lake Formation に登録するために使用される IAM ロールの信頼ポリシーで、 を追加しますsts:SetSourceIdentity

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "lakeformation.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity" ] } ] }

次のログは、s3:GetObjectCloudTrail ログの例のソース ID 情報を示しています。

"sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA2EXAMPLEXYZ3AB6CDKLM", "arn": "arn:aws:iam::111122223333:role/LFRegistrationRole", "accountId": "111122223333", "userName": "LFRegistrationRole" }, "sourceIdentity": "V2.111122223333.AROA3EXAMPLEPQR7ST9UVWXY" }, "invokedBy": "glue.amazonaws.com"
以下の資料も参照してください。
Amazon Redshift フェデレーティッドカタログアクセスのモニタリング

の Amazon Redshift フェデレーティッドカタログは、Lake Formation CloudTrail ログにGetDataAccessイベントを生成 AWS Glue Data Catalog しません。データカタログ内の Amazon Redshift テーブルのデータアクセスを追跡するには、GetTable イベントと BatchGetTableイベントをモニタリングします。これにより、テーブル名、データベース名、カタログ ID 情報など、Redshift フェデレーティッドテーブルのメタデータアクセスパターンがキャプチャされます。

以下の資料も参照してください。