

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.

# Identificación de solicitudes prefirmadas
<a name="identifying-requests"></a>

## Identificar las solicitudes que utilizaban una URL prefirmada
<a name="requests"></a>

Amazon S3 proporciona [dos mecanismos integrados para supervisar el uso a nivel de solicitud](https://docs.aws.amazon.com/AmazonS3/latest/userguide/logging-with-S3.html): los registros de acceso al servidor Amazon S3 y AWS CloudTrail los eventos de datos. Ambos mecanismos pueden identificar el uso de URL prefirmadas. 

Para filtrar los registros en función del uso de URL prefirmadas, puede utilizar el tipo de autenticación. Para los registros de acceso al servidor, examine el [campo Tipo de autenticación](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#:~:text=Authentication%20Type), que normalmente se denomina [authtype](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-s3-access-logs-to-identify-requests.html#:~:text=authtype) cuando se define en una tabla de Amazon Athena. Para CloudTrail, examine [AuthenticationMethod](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cloudtrail-logging-understanding-s3-entries.html#:~:text=AuthenticationMethod)en el `additionalEventData` campo. En ambos casos, el valor del campo para las solicitudes que utilizan direcciones URL prefirmadas es`QueryString`, mientras que `AuthHeader` es el valor para la mayoría de las demás solicitudes.

`QueryString`el uso no siempre está asociado a las URL prefirmadas. Para restringir la búsqueda únicamente al uso de URL prefirmadas, busca las solicitudes que contengan el parámetro de cadena de consulta. `X-Amz-Expires` Para los registros de acceso al servidor, examina el [URI de la solicitud](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#:~:text=Request%2DURI) y busca las solicitudes que tengan un `X-Amz-Expires` parámetro en la cadena de consulta. Para CloudTrail, examine el `requestParameters` elemento en busca de un `X-Amz-Expires` elemento.

```
{"Records": [{…, "requestParameters": {…, "X-Amz-Expires": "300"}}, …]}
```

La siguiente consulta de Athena aplica este filtro:

```
SELECT * FROM {athena-table} WHERE
  authtype = 'QueryString' AND 
  request_uri LIKE '%X-Amz-Expires=%';
```

Para AWS CloudTrail Lake, la siguiente consulta aplica este filtro:

```
SELECT * FROM {data-store-event-id} WHERE 
  additionalEventData['AuthenticationMethod'] = 'QueryString' AND 
  requestParameters['X-Amz-Expires'] IS NOT NULL
```

## Identificar otros tipos de solicitudes prefirmadas
<a name="other"></a>

La solicitud POST también tiene un tipo de autenticación único`HtmlForm`, en los registros de acceso al servidor Amazon S3 y CloudTrail. Este tipo de autenticación es menos común, por lo que es posible que no encuentre estas solicitudes en su entorno.

La siguiente consulta de Athena aplica el filtro para: `HtmlForm`

```
SELECT * FROM {athena-table} WHERE 
  authtype = 'HtmlForm';
```

En el caso de CloudTrail Lake, la siguiente consulta aplica el filtro:

```
SELECT * FROM {data-store-event-id} WHERE 
  additionalEventData['AuthenticationMethod'] = 'HtmlForm'
```

## Identificar los patrones de solicitud
<a name="patterns"></a>

Puede encontrar las solicitudes prefirmadas mediante las técnicas descritas en la sección anterior. Sin embargo, para que esos datos sean útiles, querrás buscar patrones. `TOP 10`Los resultados simples de la consulta pueden proporcionarte una idea, pero si eso no es suficiente, usa las opciones de agrupación de la siguiente tabla.


| **Opción de agrupamiento** | **Registros de acceso al servidor** | **CloudTrailLago** | **Descripción** | 
| --- | --- | --- | --- | 
| **Agente usuario** | `GROUP BY useragent` | `GROUP BY userAgent` | Esta opción de agrupación le ayuda a encontrar el origen y el propósito de las solicitudes. El agente de usuario lo proporciona el usuario y no es fiable como mecanismo de autenticación o autorización. Sin embargo, puede revelar muchas cosas si se buscan patrones, ya que la mayoría de los clientes utilizan una cadena única que es, al menos parcialmente, legible por humanos. | 
| **Solicitante** | `GROUP BY requester` | `GROUP BY userIdentity['arn']` | Esta opción de agrupación ayuda a encontrar a los directores de IAM que firmaron las solicitudes. Si su objetivo es bloquear estas solicitudes o crear una excepción para las solicitudes existentes, estas consultas proporcionan suficiente información para ello. Si utilizas los roles de acuerdo con las mejores prácticas de IAM, el rol tiene un propietario claramente identificado y puedes usar esa información para obtener más información. | 
| **Dirección IP de origen** | `GROUP BY remoteip` | `GROUP BY sourceIPAddress` | Esta opción se agrupa por el último salto de traducción de red antes de llegar a Amazon S3.[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)<br />Estos datos son útiles si su objetivo es imponer controles de red. Puede que tengas que combinar esta opción con datos como `endpoint` (para los registros de acceso al servidor) o `vpcEndpointId` (para CloudTrail Lake) para aclarar la fuente, ya que diferentes redes pueden duplicar las direcciones IP privadas. | 
| **Nombre del bucket de S3** | `GROUP BY bucket_name` | `GROUP BY requestParameters['bucketName']` | Esta opción de agrupación ayuda a encontrar los depósitos que recibieron solicitudes. Esto le ayuda a identificar la necesidad de excepciones. | 