

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengidentifikasi permintaan yang telah ditetapkan sebelumnya
<a name="identifying-requests"></a>

## Mengidentifikasi permintaan yang menggunakan URL presigned
<a name="requests"></a>

Amazon S3 menyediakan [dua mekanisme bawaan untuk memantau penggunaan pada tingkat permintaan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/logging-with-S3.html): log AWS CloudTrail akses server Amazon S3 dan peristiwa data. Kedua mekanisme tersebut dapat mengidentifikasi penggunaan URL yang telah ditentukan sebelumnya. 

Untuk memfilter log untuk penggunaan URL yang telah ditetapkan sebelumnya, Anda dapat menggunakan jenis otentikasi. Untuk log akses server, periksa [bidang Jenis Otentikasi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#:~:text=Authentication%20Type), yang biasanya diberi nama [authtype](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-s3-access-logs-to-identify-requests.html#:~:text=authtype) saat didefinisikan dalam tabel Amazon Athena. Untuk CloudTrail, periksa [AuthenticationMethod](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cloudtrail-logging-understanding-s3-entries.html#:~:text=AuthenticationMethod)di `additionalEventData` lapangan. Dalam kedua kasus, nilai bidang untuk permintaan yang menggunakan URL presigned adalah`QueryString`, sedangkan `AuthHeader` nilai untuk sebagian besar permintaan lainnya.

`QueryString`penggunaan tidak selalu dikaitkan dengan URL yang telah ditetapkan sebelumnya. Untuk membatasi penelusuran Anda hanya menggunakan URL yang telah ditentukan sebelumnya, temukan permintaan yang berisi parameter string kueri. `X-Amz-Expires` Untuk log akses server, periksa [request-URI](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#:~:text=Request%2DURI) dan cari permintaan yang memiliki `X-Amz-Expires` parameter dalam string kueri. Untuk CloudTrail, periksa `requestParameters` elemen untuk `X-Amz-Expires` elemen.

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

Kueri Athena berikut menerapkan filter ini:

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

Untuk AWS CloudTrail Lake, kueri berikut menerapkan filter ini:

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

## Mengidentifikasi jenis permintaan presigned lainnya
<a name="other"></a>

Permintaan POST juga memiliki jenis otentikasi unik,`HtmlForm`, di log akses server Amazon S3 dan. CloudTrail Jenis otentikasi ini kurang umum, jadi Anda mungkin tidak menemukan permintaan ini di lingkungan Anda.

Kueri Athena berikut menerapkan filter untuk: `HtmlForm`

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

Untuk CloudTrail Lake, kueri berikut menerapkan filter:

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

## Mengidentifikasi pola permintaan
<a name="patterns"></a>

Anda dapat menemukan permintaan yang telah ditentukan sebelumnya dengan menggunakan teknik yang dibahas di bagian sebelumnya. Namun, untuk membuat data itu berguna, Anda akan ingin menemukan pola. `TOP 10`Hasil sederhana untuk kueri Anda mungkin memberikan wawasan, tetapi jika itu tidak cukup, gunakan opsi pengelompokan dalam tabel berikut.


| **Opsi pengelompokan** | **Log akses server** | **CloudTrailDanau** | **Deskripsi** | 
| --- | --- | --- | --- | 
| **Agen pengguna** | `GROUP BY useragent` | `GROUP BY userAgent` | Opsi pengelompokan ini membantu Anda menemukan sumber dan tujuan permintaan. Agen pengguna disediakan oleh pengguna dan tidak dapat diandalkan sebagai mekanisme otentikasi atau otorisasi. Namun, ini dapat mengungkapkan banyak hal jika Anda mencari pola, karena sebagian besar klien menggunakan string unik yang setidaknya sebagian dapat dibaca manusia. | 
| **Pemohon** | `GROUP BY requester` | `GROUP BY userIdentity['arn']` | Opsi pengelompokan ini membantu menemukan kepala sekolah IAM yang menandatangani permintaan. Jika tujuan Anda adalah untuk memblokir permintaan ini atau membuat pengecualian untuk permintaan yang ada, kueri ini memberikan informasi yang cukup untuk tujuan itu. Ketika Anda menggunakan peran sesuai dengan praktik terbaik IAM, peran tersebut memiliki pemilik yang diidentifikasi dengan jelas, dan Anda dapat menggunakan informasi tersebut untuk mengetahui lebih lanjut. | 
| **Alamat IP sumber** | `GROUP BY remoteip` | `GROUP BY sourceIPAddress` | Opsi ini dikelompokkan berdasarkan lompatan terjemahan jaringan terakhir sebelum mencapai Amazon S3.[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/presigned-url-best-practices/identifying-requests.html)<br />Data ini berguna jika tujuan Anda adalah memaksakan kontrol jaringan. Anda mungkin harus menggabungkan opsi ini dengan data seperti `endpoint` (untuk log akses server) atau `vpcEndpointId` (untuk CloudTrail Lake) untuk memperjelas sumbernya, karena jaringan yang berbeda mungkin menduplikasi alamat IP pribadi. | 
| **Nama ember S3** | `GROUP BY bucket_name` | `GROUP BY requestParameters['bucketName']` | Opsi pengelompokan ini membantu menemukan bucket yang menerima permintaan. Ini membantu Anda mengidentifikasi kebutuhan akan pengecualian. | 