

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

# AWS CloudTrail のログ記録 AWS Transfer Family
<a name="cloudtrail-logging"></a>

AWS Transfer Family は、 AWS CloudTrail と Amazon CloudWatch の両方と統合されます。CloudTrail と CloudWatch は、異なるが補完的な目的を果たします。
+ このトピックでは、 内で実行されたアクションの記録を作成する AWS サービスである CloudTrail との統合について説明します AWS アカウント。コンソールのサインイン、 AWS Command Line Interface コマンド、SDK/API オペレーションなどのアクティビティの API オペレーションを継続的にモニタリングして記録します。これにより、誰がどのようなアクションを実行したか、いつ、どこから行ったかのログを保持できます。CloudTrail は、環境内のすべてのアクティビティの履歴を提供することで、監査、アクセス管理、規制コンプライアンスに役立ちます AWS 。詳細については、[AWS CloudTrail 「 ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)」を参照してください。
+ [AWS Transfer Family サーバーの Amazon CloudWatch ログ記録](structured-logging.md) では、 AWS リソースとアプリケーションのモニタリングサービスである CloudWatch との統合について説明します。メトリクスとログを収集して、リソースの使用率、アプリケーションのパフォーマンス、全体的なシステムの状態を可視化します。CloudWatch は、問題のトラブルシューティング、アラームの設定、自動スケーリングなどの運用タスクに役立ちます。詳細については、[Amazon CloudWatch ユーザーガイド](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)」を参照してください。

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

 のイベントなど、 AWS アカウント内のイベントの継続的な記録については AWS Transfer Family、証跡を作成します。*証跡*により、ログファイルを CloudTrail で Amazon S3 バケットに配信できます。デフォルトでは、コンソールで証跡を作成すると、すべての AWS リージョンに証跡が適用されます。証跡は、 AWS パーティション内のすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集したイベントデータをより詳細に分析し、それに基づいて対応するため、他の AWS サービスを構成できます。詳細については、次を参照してください: 
+ [追跡を作成するための概要](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ 「[CloudTrail がサポートされているサービスと統合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)」
+ 「[CloudTrail の Amazon SNS 通知の設定](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)」
+ [複数のリージョンから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)および[複数のアカウントから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

すべての AWS Transfer Family アクションは CloudTrail によってログに記録され、 [https://docs.aws.amazon.com/transfer/latest/APIReference/API_Operations.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_Operations.html) に文書化されます[https://docs.aws.amazon.com/transfer/latest/APIReference/api_welcome.html](https://docs.aws.amazon.com/transfer/latest/APIReference/api_welcome.html)。例えば、`CreateServer`、`ListUsers`、`StopServer` の各アクションを呼び出すと、CloudTrail ログファイルにエントリが生成されます。

各イベントまたはログエントリには、誰がリクエストを生成したかという情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます。
+ リクエストがルート認証情報または AWS Identity and Access Management ユーザー認証情報を使用して行われたかどうか。
+ リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。
+ リクエストが別の AWS サービスによって行われたかどうか。

詳細については、「[CloudTrail userIdentity エレメント](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)」を参照してください。

証跡を作成する場合は、イベントを含む Amazon S3 バケットへの CloudTrail イベントの継続的な配信を有効にすることができます AWS Transfer Family。追跡を設定しない場合でも、CloudTrail コンソールの [**Event history (イベント履歴)**] で最新のイベントを表示できます。

CloudTrail が収集した情報を使用して、 AWS Transfer Familyに対して行われた要求、要求が行われた IP アドレス、要求を行った人、要求が行われた日時、および追加の詳細を判別できます。

CloudTrail の詳細については、「[AWS CloudTrail ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)」を参照してください。

**Topics**
+ [AWS CloudTrail ログ記録を有効にする](#monitoring-enable-cloudtrail)
+ [サーバーを作成するためのログエントリの例](#create-server-ct-example)
+ [データアクセスログの例](#data-access-log-examples)

## AWS CloudTrail ログ記録を有効にする
<a name="monitoring-enable-cloudtrail"></a>

を使用して AWS Transfer Family API オペレーションをモニタリングできます AWS CloudTrail。API オペレーションをモニタリングすることで、有用なセキュリティおよび運用情報を取得できます。[Amazon S3 オブジェクトレベルのログ記録が有効](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-cloudtrail-events.html)になっている場合、`RoleSessionName` は [Requeser] (リクエスタ) フィールドに `[AWS:Role Unique Identifier]/username.sessionid@server-id` として含まれます。 AWS Identity and Access Management (IAM) ロールの一意の識別子の詳細については、*AWS Identity and Access Management 「 ユーザーガイド*」の[「一意の識別子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids)」を参照してください。

**重要**  
`RoleSessionName` の最大長は 64 文字です。`RoleSessionName` が長い場合、`server-id` は切り詰められます。

### Amazon S3 データイベントの有効化
<a name="enable-s3-data-events"></a>

Amazon S3 バケット AWS Transfer Family で を介して実行されたファイルオペレーションを追跡するには、それらのバケットのデータイベントを有効にする必要があります。データイベントはオブジェクトレベルの API アクティビティを提供し、 AWS Transfer Family ユーザーが実行したファイルのアップロード、ダウンロード、その他のオペレーションの追跡に特に役立ちます。

 AWS Transfer Family サーバーの Amazon S3 データイベントを有効にするには：

1. CloudTrail コンソールの [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/) を開いてください。

1. ナビゲーションペインで、**証跡**を選択し、既存の証跡を選択するか、新しい証跡を作成します。

1. **データイベント**で、**編集** を選択します。

1. **データイベントタイプ**で、**S3** を選択します。

1. データイベントを記録する Amazon S3 バケットを選択します。すべてのバケットのデータイベントをログに記録することも、個々のバケットを指定することもできます。

1. **読み取り**イベント、**書き込み**イベント、またはその両方をログに記録するかどうかを選択します。

1. **[Save changes]** (変更の保存) をクリックします。

データイベントを有効にしたら、CloudTrail 証跡用に設定された Amazon S3 バケットでこれらのログにアクセスできます。ログには、アクションを実行したユーザー、アクションのタイムスタンプ、影響を受ける特定のオブジェクト、実行されたアクション`userId`の の追跡に役立つ `onBehalfOf`フィールドなどの詳細が含まれます AWS Transfer Family。

## サーバーを作成するためのログエントリの例
<a name="create-server-ct-example"></a>

次の例は、 `CreateServer`アクションを示す CloudTrail ログエントリ (JSON 形式) を示しています。

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AAAA4FFF5HHHHH6NNWWWW:user1",
        "arn": "arn:aws:sts::123456789102:assumed-role/Admin/user1",
        "accountId": "123456789102",
        "accessKeyId": "AAAA52C2WWWWWW3BB4Z",
        "sessionContext": {
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2018-12-18T20:03:57Z"
            },
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AAAA4FFF5HHHHH6NNWWWW",
                "arn": "arn:aws:iam::123456789102:role/Admin",
                "accountId": "123456789102",
                "userName": "Admin"
            }
        }
    },
    "eventTime": "2024-02-05T19:18:53Z",
    "eventSource": "transfer.amazonaws.com",
    "eventName": "CreateServer",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "11.22.1.2",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36",
    "requestParameters": {
        "domain": "S3",
        "hostKey": "HIDDEN_DUE_TO_SECURITY_REASONS",
        "protocols": [
            "SFTP"
        ],
        "protocolDetails": {
            "passiveIp": "AUTO",
            "tlsSessionResumptionMode": "ENFORCED",
            "setStatOption": "DEFAULT"
        },
        "securityPolicyName": "TransferSecurityPolicy-2020-06",
        "s3StorageOptions": {
            "directoryListingOptimization": "ENABLED"
        }
    },
    "responseElements": {
        "serverId": "s-1234abcd5678efghi"
    },
    "requestID": "6fe7e9b1-72fc-45b0-a7f9-5840268aeadf",
    "eventID": "4781364f-7c1e-464e-9598-52d06aa9e63a",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789102",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.3",
        "cipherSuite": "TLS_AES_128_GCM_SHA256",
        "clientProvidedHostHeader": "transfer.us-east-1.amazonaws.com"
    },
    "sessionCredentialFromConsole": "true"
}
```

## データアクセスログの例
<a name="data-access-log-examples"></a>

CloudTrail 証跡の Amazon S3 データイベントを有効にすると、実行されるファイルオペレーションを追跡できます AWS Transfer Family。これらのログは、誰がどのデータ、いつ、どのようにアクセスしたかをモニタリングするのに役立ちます。

### データアクセスを成功させるためのログエントリの例
<a name="successful-data-access-example"></a>

次の例は、ファイルのダウンロードオペレーションが成功するための CloudTrail ログエントリを示しています AWS Transfer Family。

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAEXAMPLEID:TransferSessionUser",
        "arn": "arn:aws:sts::123456789012:assumed-role/TransferS3AccessRole/TransferSessionUser",
        "accountId": "123456789012",
        "accessKeyId": "ASIAEXAMPLEKEY",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAEXAMPLEID",
                "arn": "arn:aws:iam::123456789012:role/TransferS3AccessRole",
                "accountId": "123456789012",
                "userName": "TransferS3AccessRole"
            },
            "attributes": {
                "creationDate": "2025-07-15T16:12:05Z",
                "mfaAuthenticated": "true"
            }
        },
        "invokedBy": "transfer.amazonaws.com"
    },
    "eventTime": "2025-07-15T16:15:22Z",
    "eventSource": "s3.amazonaws.com",
    "eventName": "GetObject",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "transfer.amazonaws.com",
    "userAgent": "transfer.amazonaws.com",
    "requestParameters": {
        "bucketName": "my-transfer-bucket",
        "key": "users/john.doe/reports/quarterly-report-2025-Q2.pdf",
        "Host": "my-transfer-bucket.s3.amazonaws.com",
        "x-amz-request-payer": "requester"
    },
    "responseElements": null,
    "additionalEventData": {
        "SignatureVersion": "SigV4",
        "CipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
        "bytesTransferredIn": 0,
        "bytesTransferredOut": 2458732,
        "x-amz-id-2": "EXAMPLE123456789+abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ="
    },
    "requestID": "EXAMPLE123456789",
    "eventID": "example12-3456-7890-abcd-ef1234567890",
    "readOnly": true,
    "resources": [
        {
            "type": "AWS::S3::Object",
            "ARN": "arn:aws:s3:::my-transfer-bucket/users/john.doe/reports/quarterly-report-2025-Q2.pdf"
        },
        {
            "accountId": "123456789012",
            "type": "AWS::S3::Bucket",
            "ARN": "arn:aws:s3:::my-transfer-bucket"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": false,
    "recipientAccountId": "123456789012",
    "eventCategory": "Data",
    "requestParameters": {
        "x-amz-onBehalfOf": "john.doe.sessionid@s-abcd1234efgh5678"
    }
}
```

この例では、次の重要なフィールドに注意してください。
+ `eventName`: 実行された S3 API オペレーションを示します (ファイルダウンロード用の GetObject)。
+ `requestParameters.bucketName` および `requestParameters.key`: アクセスされた S3 オブジェクトを表示します。
+ `additionalEventData.bytesTransferredOut`: ダウンロードしたファイルのサイズをバイト単位で表示します。
+ `requestParameters.x-amz-onBehalfOf`: AWS Transfer Family ユーザー名とセッション ID が含まれ、アクションを実行した AWS Transfer Family ユーザーを追跡できます。

`x-amz-onBehalfOf` フィールドは、S3 API コールをアクションを開始した特定の AWS Transfer Family ユーザーにリンクするため、特に重要です。このフィールドは `username.sessionid@server-id`の形式に従います。
+ `username` は AWS Transfer Family ユーザー名です。
+ `sessionid` は、ユーザーのセッションの一意の識別子です。
+ `server-id` は AWS Transfer Family サーバーの ID です。

### 一般的なデータアクセスオペレーション
<a name="data-access-operations"></a>

を介してデータアクセスをモニタリングする場合 AWS Transfer Family、通常、CloudTrail ログに次の S3 API オペレーションが表示されます。


**AWS Transfer Family ログの一般的な S3 オペレーション**  

| S3 API オペレーション | AWS Transfer Family アクション | 説明 | 
| --- | --- | --- | 
| GetObject | ファイルのダウンロード | ユーザーがサーバーからファイルをダウンロードしました | 
| PutObject | ファイルのアップロード | ユーザーがファイルをサーバーにアップロードした | 
| DeleteObject | ファイルの削除 | ユーザーがサーバーからファイルを削除しました | 
| ListObjects または ListObjectsV2 | ディレクトリのリスト | ディレクトリ内のユーザーがリストしたファイル | 
| CopyObject | ファイルのコピー | ユーザーがサーバー内でファイルをコピーした | 

CloudTrail ログでこれらのオペレーションをモニタリングすることで、 AWS Transfer Family サーバーを通じて実行されたすべてのファイルアクティビティを追跡できるため、コンプライアンス要件を満たし、不正アクセスを検出できます。