CloudTrail registro para aplicaciones web Transfer Family - AWS Transfer Family

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

CloudTrail registro para aplicaciones web Transfer Family

CloudTrail es uno Servicio de AWS que crea un registro de las acciones realizadas dentro de su Cuenta de AWS. Supervisa y registra continuamente las operaciones de la API para actividades como los inicios de sesión en la consola, AWS Command Line Interface los comandos y SDK/API las operaciones. Esto te permite llevar un registro de quién realizó qué acción, cuándo y desde dónde. CloudTrail contribuye a la auditoría, la gestión del acceso y el cumplimiento de las normas, ya que proporciona un historial de todas las actividades de su AWS entorno.

En el caso de las aplicaciones web Transfer Family, puede realizar un seguimiento tanto de los eventos de autenticación como de las operaciones de acceso a los datos realizadas por sus usuarios. Para habilitar un registro completo, debes:

  1. Configure CloudTrail para registrar los eventos de administración a fin de rastrear las actividades de autenticación.

  2. Habilite los eventos de datos de Amazon S3 para realizar un seguimiento de las operaciones de archivos realizadas a través de su aplicación web.

Véase también

Habilitación de eventos de datos de Amazon S3

Para realizar un seguimiento de las operaciones de archivos realizadas a través de las aplicaciones web Transfer Family en sus buckets de Amazon S3, debe habilitar los eventos de datos para esos buckets. Los eventos de datos proporcionan actividad de API a nivel de objeto y son particularmente útiles para rastrear las cargas y descargas de archivos y otras operaciones realizadas por los usuarios de aplicaciones web.

Para habilitar los eventos de datos de Amazon S3 en su aplicación web Transfer Family:

  1. Abre la CloudTrail consola en https://console.aws.amazon.com/cloudtrail/.

  2. En el panel de navegación, elija Rutas y, a continuación, seleccione una ruta existente o cree una nueva.

  3. En los selectores de eventos avanzados, selecciona Editar.

  4. Selecciona Añadir un selector de eventos avanzado.

  5. Para el primer selector de campos:

    • Defina el campo como eventCategory

    • Defina el operador como igual

    • Establezca el valor en Data

  6. Seleccione Añadir campo y, para el segundo selector de campos:

    • Defina el campo como resources.type

    • Defina el operador como igual

    • Establezca el valor en AWS::S3::Object

  7. (Opcional) Para registrar eventos solo para grupos específicos, selecciona Agregar campo y agrega:

    • Defina el campo como resources.ARN

    • Defina el operador para que comience con

    • Establezca el valor en arn:aws:s3:::your-bucket-name/

  8. Seleccione Save changes (Guardar cambios).

Como alternativa, puede usar la configuración de eventos de datos heredada:

  1. En Eventos de datos, selecciona Editar.

  2. En el tipo de evento de datos, seleccione Eventos de bucket y objeto de S3.

  3. Elija los buckets de Amazon S3 para registrar los eventos de datos. Puede seleccionar Todos los depósitos S3 actuales y futuros o especificar depósitos individuales.

  4. Elija si desea registrar los eventos de lectura, de escritura o ambos.

  5. Seleccione Save changes (Guardar cambios).

Tras habilitar los eventos de datos, puede acceder a estos registros en el bucket de Amazon S3 configurado para CloudTrail. Los registros incluyen detalles como el usuario que realizó la acción, la marca temporal de la acción, el objeto específico afectado y el onBehalfOf campo que ayuda a rastrear las acciones realizadas a través userId de las aplicaciones web Transfer Family.

Buscar y ver tus registros

Hay varias formas de buscar y ver CloudTrail los registros de la aplicación web Transfer Family:

Uso de la CloudTrail consola

La forma más rápida de ver los eventos recientes:

  1. Abre la CloudTrail consola en https://console.aws.amazon.com/cloudtrail/.

  2. Elija Historial de eventos.

  3. Filtrar eventos por:

    • Origen del evento: signin.amazonaws.com para eventos de aplicaciones web

    • Origen del evento: s3.amazonaws.com para operaciones con archivos

  4. Haga clic en cualquier evento para ver información detallada.

Acceso a los registros en Amazon S3

Para acceder a los archivos de registro completos almacenados en Amazon S3:

  1. Identifica el bucket de Amazon S3 de tu CloudTrail ruta:

    aws cloudtrail describe-trails --query 'trailList[*].[Name,S3BucketName]' --output table
  2. Navegue hasta los archivos de registro en Amazon S3:

    aws s3 ls s3://your-cloudtrail-bucket/AWSLogs/account-id/CloudTrail/region/YYYY/MM/DD/
  3. Descargue y busque archivos de registro para su ID de aplicación web:

    aws s3 cp s3://your-cloudtrail-bucket/AWSLogs/account-id/CloudTrail/region/YYYY/MM/DD/ . --recursive gunzip *.json.gz grep -l "webapp-1a2b3c4d5e6f7g8h9" *.json

Se utiliza AWS CLI para buscar eventos

Busque eventos específicos de aplicaciones web mediante AWS CLI:

aws logs filter-log-events \ --log-group-name /aws/cloudtrail/your-trail-name \ --filter-pattern "webapp-1a2b3c4d5e6f7g8h9" \ --start-time $(date -d "1 day ago" +%s)000

O busque eventos de autenticación:

aws logs filter-log-events \ --log-group-name /aws/cloudtrail/your-trail-name \ --filter-pattern "UserAuthentication" \ --start-time $(date -d "1 day ago" +%s)000

Ejemplos de registros de autenticación

CloudTrail registra los eventos de autenticación de las aplicaciones web Transfer Family, lo que puede ayudarte a realizar un seguimiento de los intentos de inicio de sesión correctos y fallidos. Estos registros son especialmente útiles para la supervisión de la seguridad y el cumplimiento.

Ejemplo de entrada de registro para la verificación de credenciales

El siguiente ejemplo muestra una entrada de CloudTrail registro para un evento de verificación de credenciales que se produce durante el proceso de autenticación.

{ "eventVersion": "1.09", "userIdentity": { "type": "Unknown", "principalId": "123456789012", "arn": "", "accountId": "123456789012", "accessKeyId": "", "userName": "demo-user-2", "onBehalfOf": { "userId": "f12bb510-a011-702f-10dd-5607e2776dbc", "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9a670c546e" }, "credentialId": "58138a11-87e5-401d-8f0b-7161c9389112" }, "eventTime": "2025-08-08T15:29:30Z", "eventSource": "signin.amazonaws.com", "eventName": "CredentialVerification", "awsRegion": "us-east-2", "sourceIPAddress": "192.0.2.224", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36", "requestParameters": null, "responseElements": null, "additionalEventData": { "AuthWorkflowID": "f304a48b-7b6d-41c8-b136-4f49c91c1f31", "CredentialType": "PASSWORD" }, "requestID": "ff936828-4a81-453c-802d-81368b6bca1a", "eventID": "70cb7008-493d-42c2-a9eb-38bf168af6a8", "readOnly": false, "eventType": "AWS ServiceEvent", "managementEvent": true, "recipientAccountId": "123456789012", "serviceEventDetails": { "CredentialVerification": "Success" }, "eventCategory": "Management" }

Este evento proporciona detalles adicionales sobre el paso de verificación de credenciales del proceso de autenticación y muestra el identificador de credencial específico y el identificador del flujo de trabajo de autenticación utilizados.

Ejemplo de entrada de registro para la autenticación de inicio de sesión

En el siguiente ejemplo, se muestra una entrada de CloudTrail registro de un evento de autenticación de usuario correcto durante el inicio de sesión en una aplicación web mediante el IAM Identity Center.

{ "eventVersion": "1.09", "userIdentity": { "type": "Unknown", "principalId": "123456789012", "arn": "", "accountId": "123456789012", "accessKeyId": "", "userName": "demo-user-2", "onBehalfOf": { "userId": "f12bb510-a011-702f-10dd-5607e2776dbc", "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9a670c546e" }, "credentialId": "b41f0a02-1635-4d07-a414-aecf9e14b906" }, "eventTime": "2025-08-07T14:09:07Z", "eventSource": "signin.amazonaws.com", "eventName": "UserAuthentication", "awsRegion": "us-east-2", "sourceIPAddress": "192.0.2.14", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36", "requestParameters": null, "responseElements": null, "additionalEventData": { "AuthWorkflowID": "7a4ef12c-7c4b-4bc3-b5bd-c2469afcc795", "LoginTo": "https://example.awsapps.com/start/", "CredentialType": "PASSWORD" }, "requestID": "fc91bcf0-ac53-4454-a1a0-fb911eacc095", "eventID": "18522007-1e60-4a71-b2b5-150baf504ab3", "readOnly": false, "eventType": "AWS ServiceEvent", "managementEvent": true, "recipientAccountId": "123456789012", "serviceEventDetails": { "UserAuthentication": "Success" }, "eventCategory": "Management" }

En este ejemplo, anote los siguientes campos importantes:

  • eventSource: Muestra «signin.amazonaws.com», lo que indica que se trata de un evento de autenticación del IAM Identity Center.

  • userIdentity.onBehalfOf: Contiene el ID de usuario y el ARN del almacén de identidades del usuario de la aplicación web.

  • additionalEventData.LoginTo: Muestra la URL de la aplicación del Centro de Identidad de IAM a la que se accede.

  • additionalEventData.CredentialType: Indica el método de autenticación utilizado (CONTRASEÑA).

  • serviceEventDetails: Muestra el resultado de la autenticación (correcto).

Ejemplo de entrada de registro para ListCallerAccessGrants

El siguiente ejemplo muestra una entrada de CloudTrail registro de un ListCallerAccessGrants evento, que se produce cuando la aplicación web Transfer Family consulta las concesiones de acceso disponibles para un usuario.

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROAEXAMPLEID:aws-transfer", "arn": "arn:aws:sts::123456789012:assumed-role/AWS TransferWebAppIdentityBearer-us-east-2/aws-transfer", "accountId": "123456789012", "accessKeyId": "ASIAEXAMPLEKEY", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAEXAMPLEID", "arn": "arn:aws:iam::123456789012:role/service-role/AWS TransferWebAppIdentityBearer-us-east-2", "accountId": "123456789012", "userName": "AWS TransferWebAppIdentityBearer-us-east-2" }, "attributes": { "creationDate": "2025-08-08T15:29:34Z", "mfaAuthenticated": "false" } }, "invokedBy": "transfer.amazonaws.com", "onBehalfOf": { "userId": "f12bb510-a011-702f-10dd-5607e2776dbc", "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9a670c546e" } }, "eventTime": "2025-08-08T15:29:35Z", "eventSource": "s3.amazonaws.com", "eventName": "ListCallerAccessGrants", "awsRegion": "us-east-2", "sourceIPAddress": "transfer.amazonaws.com", "userAgent": "transfer.amazonaws.com", "requestParameters": { "Host": "123456789012.s3-control.dualstack.us-east-2.amazonaws.com", "allowedByApplication": "true", "maxResults": "100" }, "responseElements": null, "additionalEventData": { "SignatureVersion": "SigV4", "CipherSuite": "TLS_AES_128_GCM_SHA256", "bytesTransferredIn": 0, "AuthenticationMethod": "AuthHeader", "x-amz-id-2": "1g34AaAELn/fntxwrifVsr41VDl8dp5ygWFasHJFNVq5FDCWYfX0ye7s4tWHEJC8ppI5lLePYLIcw3iTXAgn5Q==", "bytesTransferredOut": 462 }, "requestID": "48485MTZEDWT0ANT", "eventID": "3de5dd60-b7cf-474c-a1ab-631467c1a5c3", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS:S3::AccessGrantsInstance", "ARN": "arn:aws:s3:us-east-2:123456789012:access-grants/default" } ], "eventType": "AWS ApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management" }

En este ejemplo, anote los siguientes campos importantes:

  • eventName: Muestra que se trata de un ListCallerAccessGrants evento que consulta las concesiones de acceso a S3 disponibles.

  • requestParameters.allowedByApplication: Indica que la consulta se filtra para incluir las concesiones permitidas por la aplicación.

  • requestParameters.maxResults: Muestra el número máximo de concesiones que se pueden devolver en la respuesta.

  • userIdentity.onBehalfOf: vincula la solicitud al usuario específico de la aplicación web.

Este evento ayuda a rastrear cuándo la aplicación web Transfer Family consulta a qué recursos de S3 tiene acceso un usuario, lo que proporciona visibilidad de las operaciones de descubrimiento de concesiones de acceso.

Ejemplo de entrada de registro para GetDataAccess un evento

El siguiente ejemplo muestra una entrada de CloudTrail registro de un GetDataAccess evento, que se produce cuando la aplicación web Transfer Family solicita permisos de acceso a los recursos de S3 en nombre de un usuario.

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROASEQRAEABP7ADWEZA5:aws-transfer", "arn": "arn:aws:sts::123456789012:assumed-role/AWSTransferWebAppIdentityBearer-ap-southeast-1/aws-transfer", "accountId": "123456789012", "accessKeyId": "ASIAEXAMPLEKEY", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROASEQRAEABP7ADWEZA5", "arn": "arn:aws:iam::123456789012:role/service-role/AWSTransferWebAppIdentityBearer-ap-southeast-1", "accountId": "123456789012", "userName": "AWSTransferWebAppIdentityBearer-ap-southeast-1" }, "attributes": { "creationDate": "2025-05-08T16:09:05Z", "mfaAuthenticated": "false" } }, "invokedBy": "transfer.amazonaws.com", "onBehalfOf": { "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9667b0da7a", "userId": "191a35ec-10a1-70c1-e4ab-e2802411e13e" } }, "eventTime": "2025-05-08T16:10:25Z", "eventSource": "s3.amazonaws.com", "eventName": "GetDataAccess", "awsRegion": "ap-southeast-1", "sourceIPAddress": "transfer.amazonaws.com", "userAgent": "transfer.amazonaws.com", "requestParameters": { "Host": "123456789012.s3-control.dualstack.ap-southeast-1.amazonaws.com", "durationSeconds": 900, "permission": "READWRITE", "target": "s3://amzn-s3-demo-bucket/users/john.doe/documents/*" }, "responseElements": null, "additionalEventData": { "AuthenticationMethod": "AuthHeader", "CipherSuite": "TLS_AES_128_GCM_SHA256", "SignatureVersion": "SigV4", "bytesTransferredIn": 0, "bytesTransferredOut": 2244, "x-amz-id-2": "8ce8sZOgNwsaj9w1mzagyA+csONjYl8FgEw4FGpE8DARi90aNC0RFWlTYNEn7ChqE9RCJrTzMvS+ru7Vz2xXHrkQt/1uQ9exZTZdlhX+/fM=" }, "requestID": "BXGSKKQXCWS5RAHB", "eventID": "c11db1d1-dfb8-431e-8625-48eba2ebadfe", "readOnly": true, "resources": [ { "type": "AWS:S3::AccessGrantsInstance", "ARN": "arn:aws:s3:ap-southeast-1:123456789012:access-grants/default", "accountId": "123456789012" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management" }

En este ejemplo, anote los siguientes campos importantes:

  • eventName: Muestra que se trata de un GetDataAccess evento que se produce cuando Transfer Family solicita permisos de acceso para los recursos de S3.

  • userIdentity.onBehalfOf: contiene el ARN y el ID de usuario del almacén de identidades, lo que vincula la solicitud de acceso al usuario específico de la aplicación web.

  • requestParameters.target: Muestra el patrón de ruta S3 para el que se solicitó el acceso.

  • requestParameters.permission: Indica el tipo de acceso solicitado (READWRITE, READ o WRITE).

  • requestParameters.durationSeconds: Muestra durante cuánto tiempo es válida la concesión de acceso (normalmente 900 segundos/15 minutos).

  • sourceIPAddressyuserAgent: ambos muestran «transfer.amazonaws.com», lo que indica que se trata de una solicitud de servicio interna.

GetDataAccess los eventos son especialmente útiles para rastrear cuándo los usuarios de la aplicación web Transfer Family tienen acceso a recursos específicos de S3, lo que ayuda a monitorear los patrones de acceso y garantizar la autorización adecuada.

Ver las entradas del CloudTrail registro

Hay varias formas de ver y analizar las entradas de CloudTrail registro de su aplicación web Transfer Family:

Uso de la CloudTrail consola

La CloudTrail consola proporciona una interfaz fácil de usar para ver y filtrar las entradas de registro:

  1. Abra la CloudTrail consola en https://console.aws.amazon.com/cloudtrail/.

  2. En el panel de navegación, elija Historial de eventos.

  3. Utilice las opciones de filtro para restringir los eventos:

    • Defina la fuente del evento en transfer.amazonaws.com para ver solo los eventos de Transfer Family.

    • Filtra por nombre de evento para ver operaciones específicas, comoUserAuthentication.

    • Use el rango de tiempo para centrarse en los eventos dentro de un período específico.

  4. Haga clic en cualquier evento para ver su información detallada.

Acceso a los registros en Amazon S3

Si ha configurado un registro para CloudTrail entregar los registros a un bucket de Amazon S3, puede acceder directamente a los archivos de registro sin procesar:

  1. Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. Navegue hasta el depósito y el prefijo donde están almacenados sus CloudTrail registros.

  3. Los registros están organizados por año, mes, día y región. Navegue hasta el directorio correspondiente.

  4. Descargue y abra los archivos de registro, que están en formato JSON.