¿Cómo puedo encontrar la dirección IP externa asociada a cada carga a mi bucket de Amazon S3?

3 minutos de lectura
0

Cuando mi equipo o un tercero suban archivos a mi bucket de Amazon Simple Storage Service (Amazon S3), quiero conocer la dirección IP externa que utilizan. Es posible que mi política de buckets permita el acceso solo a direcciones IP específicas. ¿Cómo puedo conocer la dirección IP externa que se utiliza en cada carga?

Breve descripción

Para encontrar las direcciones IP de las solicitudes enviadas a Amazon S3 a nivel de los objetos (cargas y descargas), primero debe iniciar uno de los siguientes métodos de registro:

  • El registro de acceso al servidor de Amazon S3 captura todos los eventos a nivel de buckets y de objetos. Estos registros utilizan un formato similar al de los registros del servidor web Apache.
  • Los eventos de datos CloudTrail de AWS capturan los últimos 90 días de eventos a nivel de buckets (por ejemplo, PutBucketPolicy y DeleteBucketPolicy). Estos registros utilizan un formato JSON.

Resolución

Importante: Se recomienda crear un nuevo bucket específico para los registros, que esté separado del depósito que quiere supervisar. Un bucket independiente para los registros evita el riesgo de obtener registros sobre los registros.

Activación del registro de acceso al servidor de Amazon S3

Para activar el registro de acceso al servidor de Amazon S3, consulte Habilitación del registro de acceso al servidor de Amazon S3.

Nota: Amazon S3 puede tardar unas horas en empezar a crear registros.

Después de activar el registro de acceso al servidor, revise los registros para encontrar las direcciones IP utilizadas en cada carga al bucket. Por ejemplo, en el siguiente registro de una solicitud PutObject, la dirección IP aparece después de la marca de tiempo [07/Dec/2018:07:03:01 +0000]:

82a7646e61f102aa3e17exampleef08969060fa39927b8232b5a4166d279dcc7 exampleawsbucket [07/Dec/2018:07:03:01 +0000] <b>205.251.233.256</b> arn:aws:sts::111111111111:assumed-role/admin/myuser 07F2D340F08E7171 REST.PUT.OBJECT my_object.jpg "PUT /exampleawsbucket/my_object.jpg?X-Amz-Security-Token=AgoGb3JpZ2luEF.......woa2o4AU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20181207T070301Z&X-Amz-SignedHeaders=content-md5%3Bcontent-type%3Bhost%3Bx-amz-acl%3Bx-amz-storage-class&X-Amz-Expires=300&X-Amz-Credential=ASIA5BQEXAMPLEGB3S7U%2F20181207%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX HTTP/1.1" 200 - - 1347 29 11 "https://s3.console.aws.amazon.com/s3/buckets/exampleawsbucket/?region=us-west-2&tab=overview" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36" -

Activación del registro a nivel de objetos con eventos de datos CloudTrail de AWS

Para activar los eventos de datos CloudTrail de AWS, consulte Habilitación del registro de eventos de CloudTrail para buckets y objetos de S3.

Nota: CloudTrail puede tardar unas horas en empezar a crear registros.

Después de activar los registros a nivel de objetos con eventos de datos, revise los registros para encontrar las direcciones IP utilizadas en cada carga al bucket. Por ejemplo, en el siguiente registro de una solicitud PutObject, la dirección IP aparece como «sourceIPAddress»:

{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAI63YEXAMPLEAP4M5O:myuser",
        "arn": "arn:aws:sts::111111111111:assumed-role/admin/myuser",
        "accountId": "111111111111",
        "accessKeyId": "ASIA5BQEXAMPLEGB3S7U",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAI63YEXAMPLEAP4M5O",
                "arn": "arn:aws:iam::111111111111:role/admin",
                "accountId": "111111111111",
                "userName": "admin"
            },
            "attributes": {
                "creationDate": "2018-12-07T06:43:45Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2018-12-07T07:23:19Z",
    "eventSource": "s3.amazonaws.com",
    "eventName": "PutObject",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "205.251.233.256",
    "userAgent": "[Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36]",
    "requestParameters": {
        "X-Amz-Date": "20181207T072319Z",
        "bucketName": "exampleawsbucket",
        "X-Amz-Algorithm": "AWS4-HMAC-SHA256",
        "x-amz-acl": "private",
        "X-Amz-SignedHeaders": "content-md5;content-type;host;x-amz-acl;x-amz-storage-class",
        "X-Amz-Expires": "300",
        "key": "my_object.jpg",
        "x-amz-storage-class": "STANDARD"
    },
    "responseElements": null,
    "additionalEventData": {
        "x-amz-id-2": "8KQRGXIqWzLGiCV67PY8CHyh81yPjaVu7nkq3gK4ZuMYXo1THZhmbu5J/ck+Di+VHIixb18hRoU="
    },
    "requestID": "9B9842C4FFAAA3E8",
    "eventID": "af0615fa-1d25-4e04-b280-b1e73b558aaa",
    "readOnly": false,
    "resources": [
        {
            "type": "AWS::S3::Object",
            "ARN": "arn:aws:s3:::exampleawsbucket/my_object.jpg"
        },
        {
            "accountId": "111111111111",
            "type": "AWS::S3::Bucket",
            "ARN": "arn:aws:s3:::exampleawsbucket"
        }
    ],
    "eventType": "AwsApiCall",
    "recipientAccountId": "111111111111"
},

Información relacionada

Creación y configuración de un bucket S3

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año