AWS Glue による AWS CloudTrail API コールのログ記録 - AWS Glue

AWS Glue による AWS CloudTrail API コールのログ記録

AWS Glue は AWS CloudTrail という、AWS Glue の ユーザー、ロール、または AWS のサービスが実行したアクションを記録するサービスと統合しています。CloudTrail は、AWS Glue のすべての API コールをイベントとしてキャプチャします。キャプチャされたコールには、AWS Glue コンソールのコールと、AWS Glue API オペレーションへのコードのコールが含まれます。証跡を作成する場合は、AWS Glue のイベントなど、Amazon S3 バケットへの CloudTrail イベントの継続的な配信を有効にすることができます 証跡を設定しない場合でも、「CloudTrail」 コンソールの 「イベント履歴」 で最新のイベントを表示できます。CloudTrail が収集した情報を使用して、AWS Glue に対して行われた要求、要求が行われた IP アドレス、要求を行った人、要求が行われた日時、および追加の詳細を判別できます。

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

CloudTrail の AWS Glue 情報

CloudTrailは、アカウントを作成するとAWSアカウントで有効になります。AWS Glue でアクティビティが発生すると、そのアクティビティは Event history イベント履歴で AWS のその他のサービスのイベントと共に CloudTrail イベントに記録されます。最近のイベントは、AWSアカウントで表示、検索、ダウンロードできます。詳細については、「CloudTrailイベント履歴でのイベントの表示」を参照してください。

AWSのイベントなど、AWS Glueアカウントのイベントの継続的なレコードについては、追跡を作成します。証跡により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。デフォルトでは、コンソールで証跡を作成すると、すべての AWS リージョンに証跡が適用されます。証跡は、AWSパーティションのすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集したイベントデータをより詳細に分析し、それに基づいて対応するため、他の AWS サービスを構成できます。詳細については、次を参照してください:

すべての AWS Glue アクションは CloudTrail によってログに記録され、AWS Glue API に記録されます。例えば、CreateDatabaseCreateTableCreateScript の各アクションを呼び出すと、CloudTrail ログファイルにエントリが生成されます。

各イベントまたはログエントリには、誰がリクエストを生成したかという情報が含まれます。同一性情報は次の判断に役立ちます。

  • リクエストが、ルートと IAM ユーザー認証情報のどちらを使用して送信されたか。

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

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

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

ただし、CloudTrail は呼び出しに関するすべての情報は記録しません。たとえば、接続リクエストで使用される ConnectionProperties などの機密情報は記録せず、次の API によって返される応答の代わりに null を記録します。

BatchGetPartition GetCrawlers GetJobs GetTable CreateScript GetCrawlerMetrics GetJobRun GetTables GetCatalogImportStatus GetDatabase GetJobRuns GetTableVersions GetClassifier GetDatabases GetMapping GetTrigger GetClassifiers GetDataflowGraph GetObjects GetTriggers GetConnection GetDevEndpoint GetPartition GetUserDefinedFunction GetConnections GetDevEndpoints GetPartitions GetUserDefinedFunctions GetCrawler GetJob GetPlan

AWS Glue ログファイルエントリの理解

追跡は、指定したAmazon S3バケットにイベントをログファイルとして配信するように設定できます。CloudTrail のログファイルは、単一か複数のログエントリを含みます。イベントは任意ソースからの単一リクエストを表し、リクエストされたアクション、アクションの日時、リクエストパラメータなどの情報を含みます。CloudTrail ログファイルは、パブリック API コールの順序付けられたスタックトレースではないため、特定の順序では表示されません。

以下の例は、DeleteCrawler アクションを示す CloudTrail ログエントリです。

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:user/johndoe", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "johndoe" }, "eventTime": "2017-10-11T22:29:49Z", "eventSource": "glue.amazonaws.com", "eventName": "DeleteCrawler", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.198.64", "userAgent": "aws-cli/1.11.148 Python/3.6.1 Darwin/16.7.0 botocore/1.7.6", "requestParameters": { "name": "tes-alpha" }, "responseElements": null, "requestID": "b16f4050-aed3-11e7-b0b3-75564a46954f", "eventID": "e73dd117-cfd1-47d1-9e2f-d1271cad838c", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

この例では、CreateConnection アクションを表す CloudTrail ログエントリを示しています。

{ "eventVersion": "1.05", "userIdentity": { "type": "IAMUser", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:user/johndoe", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "johndoe" }, "eventTime": "2017-10-13T00:19:19Z", "eventSource": "glue.amazonaws.com", "eventName": "CreateConnection", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.198.66", "userAgent": "aws-cli/1.11.148 Python/3.6.1 Darwin/16.7.0 botocore/1.7.6", "requestParameters": { "connectionInput": { "name": "test-connection-alpha", "connectionType": "JDBC", "physicalConnectionRequirements": { "subnetId": "subnet-323232", "availabilityZone": "us-east-1a", "securityGroupIdList": [ "sg-12121212" ] } } }, "responseElements": null, "requestID": "27136ebc-afac-11e7-a7d6-ab217e5c3f19", "eventID": "e8b3baeb-c511-4597-880f-c16210c60a4a", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }