View a markdown version of this page

での監査ログへのアクセス AWS CloudTrail - Amazon Managed Workflows for Apache Airflow

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

での監査ログへのアクセス AWS CloudTrail

AWS CloudTrail は、作成 AWS アカウント 時に で有効になります。CloudTrail は、CloudTrail イベントとして記録される Amazon Managed Workflows for Apache Airflow などの IAM エンティティまたは AWS サービスによって実行されたアクティビティを記録します。CloudTrail コンソールでは、過去 90 日間のイベント履歴を表示、検索、ダウンロードできます。CloudTrail は Amazon MWAA コンソールのすべてのイベントと Amazon MWAA API へのすべての呼び出しをキャプチャします。GetEnvironment などの読み取り専用アクションや PublishMetrics アクションはキャプチャされません。このページでは、CloudTrail を使用して Amazon MWAA のイベントをモニタリングする方法について説明します。

CloudTrail で追跡を作成する

Amazon MWAA のイベントなど AWS アカウント、 のイベントの継続的な記録にアクセスするには、証跡を作成する必要があります。証跡により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。証跡を作成しない場合でも、CloudTrail コンソールで入手可能なイベント履歴にアクセスできます。例えば、CloudTrail により収集された情報を使用して、Amazon MWAA に対して行われたリクエスト、リクエスト元の IP アドレス、リクエスト者、リクエストが行われた日時、および追加の詳細を特定することができます。詳細については、AWS アカウントの証跡の作成 を参照してください。

データプレーンイベントのログ記録

Amazon MWAA API アクションはInvokeRestApi、、CreateWebLoginToken、および のデータプレーンイベントですCreateCliToken。管理イベントとは異なり、 AWS CloudTrail はデフォルトではデータイベントを記録せず、CloudTrail イベント履歴には表示されません。データイベントを明示的に含む証跡を設定する必要があります。別途料金がかかります。詳細については、「 AWS CloudTrail ユーザーガイド」の「データイベントのログ記録」を参照してください。

データプレーンイベントをログに記録するには
  1. CloudTrail コンソールを開きます。

  2. ナビゲーションペインで、証跡を選択し、証跡の作成を選択します。

  3. 証跡名を入力し、ログファイル用に Amazon S3 バケットを設定します。

  4. ログイベントの選択ページで、データイベントを選択します。

  5. データイベントタイプで、マネージド Apache Airflow を選択します。

  6. 設定を確認し、証跡の作成を選択します。

証跡がアクティブになると、CloudTrail は InvokeRestApiCreateWebLoginToken、 などのデータプレーンイベントを Amazon S3 バケットCreateCliTokenに約 15 分以内に配信します。Amazon CloudWatch Logs を設定した場合は、次のフィルターパターンを使用してこれらのイベントを見つけます。

{ ($.eventName = "InvokeRestApi") || ($.eventName = "CreateWebLoginToken") || ($.eventName = "CreateCliToken") }
レスポンスペイロードがログに記録されない

CloudTrail は、ログエントリの RestApiResponseフィールドを編集します。CloudTrail は呼び出しとそのステータスコードを記録しますが、レスポンスペイロードは記録しません。

CloudTrail Event 履歴でのイベントへのアクセス

CloudTrail コンソールで過去 90 日間の運用およびセキュリティインシデントのトラブルシューティングを行うには、[イベント履歴] を表示します。たとえば、 内のリソース (IAM ユーザーや他の AWS リソースなど) の作成、変更、または削除に関連するイベントに AWS アカウント 、リージョンごとにアクセスできます。詳細については、Accessing Events with CloudTrail Event History (CloudTrail イベント履歴でのイベントのアクセス) を参照してください。

  1. CloudTrail コンソールを開きます。

  2. イベント履歴 を選択します。

  3. 表示したいイベントを選択し、イベントの詳細を比較 を選択します。

CreateEnvironment のトレイルの例

「トレイル」は、指定した Amazon S3 バケットにイベントをログファイルとして配信するように設定できます。

CloudTrail のログファイルには、ログエントリが 1 つ以上あります。イベントは、あらゆるソースからの単一のリクエストを表し、リクエストされたアクション、アクションの日時、およびリクエストパラメータなどに関する情報が含まれています。CloudTrail ログファイルは、公開 API コールの順序付けられたスタックトレースではなく、特定の順序でリストされていません。次の例では、アクセス許可がないために拒否された CreateEnvironment アクションのログエントリを示します。AirflowConfigurationOptions 内の値は、プライバシー保護のために編集されています。

{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "00123456ABC7DEF8HIJK", "arn": "arn:aws:sts::012345678901:assumed-role/root/myuser", "accountId": "012345678901", "accessKeyId": "", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "00123456ABC7DEF8HIJK", "arn": "arn:aws:iam::012345678901:role/user", "accountId": "012345678901", "userName": "user" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2020-10-07T15:51:52Z" } } }, "eventTime": "2020-10-07T15:52:58Z", "eventSource": "airflow.amazonaws.com", "eventName": "CreateEnvironment", "awsRegion": "us-west-2", "sourceIPAddress": "205.251.233.178", "userAgent": "PostmanRuntime/7.26.5", "errorCode": "AccessDenied", "requestParameters": { "SourceBucketArn": "arn:aws:s3:::my-bucket", "ExecutionRoleArn": "arn:aws:iam::012345678901:role/AirflowTaskRole", "AirflowConfigurationOptions": "***", "DagS3Path": "sample_dag.py", "NetworkConfiguration": { "SecurityGroupIds": [ "sg-01234567890123456" ], "SubnetIds": [ "subnet-01234567890123456", "subnet-65432112345665431" ] }, "Name": "test-cloudtrail" }, "responseElements": { "message": "Access denied." }, "requestID": "RequestID", "eventID": "EventID", "readOnly": false, "eventType": "AwsApiCall", "recipientAccountId": "012345678901" }

InvokeRestApi ログエントリの例

以下は、 InvokeRestApiアクションの完全なログエントリの例です。CloudTrail は RestApiResponseフィールドを編集します。

本番環境で一時的な認証情報を使用する

この例では、引き受けたロールからの一時的な認証情報を示しています。これは推奨されるアプローチです。本番ワークロードでは、長期アクセスキーの代わりに、 または AWS Security Token Service (AWS STS) の一時的な認証情報を使用します。

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "00123456ABC7DEF8HIJK:MySession", "arn": "arn:aws:sts::012345678901:assumed-role/MyRole/MySession", "accountId": "012345678901", "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "00123456ABC7DEF8HIJK", "arn": "arn:aws:iam::012345678901:role/MyRole", "accountId": "012345678901", "userName": "MyRole" }, "attributes": { "creationDate": "2024-01-20T12:00:00Z", "mfaAuthenticated": "false" } } }, "eventTime": "2024-01-20T12:15:00Z", "eventSource": "airflow.amazonaws.com", "eventName": "InvokeRestApi", "awsRegion": "us-west-2", "sourceIPAddress": "203.0.113.10", "userAgent": "Boto3/1.28.0 Python/3.11.0", "requestParameters": { "Name": "MyAirflowEnvironment", "Path": "/dags", "Method": "GET" }, "responseElements": { "RestApiStatusCode": 200, "RestApiResponse": "***" }, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "readOnly": false, "resources": [ { "accountId": "012345678901", "type": "AWS::MWAA::Environment", "ARN": "arn:aws:airflow:us-west-2:012345678901:environment/MyAirflowEnvironment" } ], "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "012345678901", "eventCategory": "Data" }

次のステップ

  • CloudTrail がサポートする AWS サービスと統合の CloudTrail ログで収集されたイベントデータに対して他の サービスを設定する方法について説明します。 CloudTrail

  • CloudTrail が Amazon S3 バケットに新しいログファイルを発行するときに通知を受け取る方法については、CloudTrail 用の Amazon SNS 通知の設定 をご参照ください。