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

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

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

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

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

の Lake Formation 情報 CloudTrail

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

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

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

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

詳細については、CloudTrail userIdentity 要素」を参照してください。

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

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

詳細については、次を参照してください:

Lake Formation イベントについて

Lake Formation のすべての API アクションは によってログに記録 CloudTrail され、 AWS Lake Formation デベロッパーガイドに記載されています。例えば、PutDataLakeSettings、、および RevokePermissionsアクションを呼び出すとGrantPermissions、 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" }, ... }
以下の資料も参照してください。