

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Identificação de solicitações pré-assinadas
<a name="identifying-requests"></a>

## Identificação de solicitações que usaram um URL pré-assinado
<a name="requests"></a>

O Amazon S3 fornece [dois mecanismos integrados para monitorar o uso em um nível de solicitação](https://docs.aws.amazon.com/AmazonS3/latest/userguide/logging-with-S3.html): registros AWS CloudTrail de acesso ao servidor Amazon S3 e eventos de dados. Ambos os mecanismos podem identificar o uso de URL pré-assinado. 

Para filtrar os registros de uso de URL pré-assinada, você pode usar o tipo de autenticação. Para registros de acesso ao servidor, examine o [campo Tipo de autenticação](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#:~:text=Authentication%20Type), que normalmente é denominado [authtype](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-s3-access-logs-to-identify-requests.html#:~:text=authtype) quando definido em uma tabela do Amazon Athena. Pois CloudTrail, examine [AuthenticationMethod](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cloudtrail-logging-understanding-s3-entries.html#:~:text=AuthenticationMethod)em `additionalEventData` campo. Em ambos os casos, o valor do campo para solicitações que usam URLs preassinadas é`QueryString`, enquanto `AuthHeader` é o valor para a maioria das outras solicitações.

`QueryString`o uso nem sempre está associado a URLs pré-assinados. Para restringir sua pesquisa somente ao uso de URL pré-assinada, encontre solicitações que contenham o parâmetro `X-Amz-Expires` da sequência de caracteres de consulta. Para registros de acesso ao servidor, examine [Request-URI](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#:~:text=Request%2DURI) e procure solicitações que tenham um `X-Amz-Expires` parâmetro na string de consulta. Para CloudTrail, examine o `requestParameters` elemento em busca de um `X-Amz-Expires` elemento.

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

A seguinte consulta do Athena aplica esse filtro:

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

Para AWS CloudTrail Lake, a consulta a seguir aplica esse filtro:

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

## Identificação de outros tipos de solicitações pré-assinadas
<a name="other"></a>

A solicitação POST também tem um tipo de autenticação exclusivo,`HtmlForm`, nos registros de acesso ao servidor Amazon S3 e. CloudTrail Esse tipo de autenticação é menos comum, então talvez você não encontre essas solicitações em seu ambiente.

A consulta do Athena a seguir aplica o filtro para: `HtmlForm`

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

Para CloudTrail Lake, a consulta a seguir aplica o filtro:

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

## Identificação de padrões de solicitação
<a name="patterns"></a>

Você pode encontrar solicitações pré-assinadas usando as técnicas discutidas na seção anterior. No entanto, para tornar esses dados úteis, você deve encontrar padrões. `TOP 10`Os resultados simples da sua consulta podem fornecer uma visão, mas se isso não for suficiente, use as opções de agrupamento na tabela a seguir.


| **Opção de agrupamento** | **Registros de acesso ao servidor** | **CloudTrailLago** | **Descrição** | 
| --- | --- | --- | --- | 
| **Agente de usuário** | `GROUP BY useragent` | `GROUP BY userAgent` | Essa opção de agrupamento ajuda você a encontrar a origem e a finalidade das solicitações. O agente do usuário é fornecido pelo usuário e não é confiável como mecanismo de autenticação ou autorização. No entanto, isso pode revelar muito se você estiver procurando por padrões, porque a maioria dos clientes usa uma string exclusiva que é pelo menos parcialmente legível por humanos. | 
| **Solicitante** | `GROUP BY requester` | `GROUP BY userIdentity['arn']` | Essa opção de agrupamento ajuda a encontrar diretores do IAM que assinaram solicitações. Se sua meta é bloquear essas solicitações ou criar uma exceção para solicitações existentes, essas consultas fornecem informações suficientes para essa finalidade. Quando você usa funções de acordo com as melhores práticas do IAM, a função tem um proprietário claramente identificado, e você pode usar essas informações para saber mais. | 
| **Endereço IP de origem** | `GROUP BY remoteip` | `GROUP BY sourceIPAddress` | Essa opção é agrupada pelo último salto de tradução de rede antes de chegar ao Amazon S3.[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)<br />Esses dados são úteis se seu objetivo é impor controles de rede. Talvez seja necessário combinar essa opção com dados como `endpoint` (para registros de acesso ao servidor) ou `vpcEndpointId` (para CloudTrail Lake) para esclarecer a origem, pois redes diferentes podem duplicar endereços IP privados. | 
| **Nome do bucket S3** | `GROUP BY bucket_name` | `GROUP BY requestParameters['bucketName']` | Essa opção de agrupamento ajuda a encontrar buckets que receberam solicitações. Isso ajuda você a identificar a necessidade de exceções. | 