

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

# Kunci Kebijakan Khusus Otentikasi Tanda Tangan Amazon S3 Versi 4
<a name="bucket-policy-s3-sigv4-conditions"></a>

Tabel berikut menunjukkan kunci kebijakan terkait otentikasi Amazon S3 Signature Versi 4 yang dapat ada di kebijakan Amazon S3. Dalam kebijakan bucket, Anda dapat menambahkan kondisi ini untuk menerapkan perilaku tertentu saat permintaan diautentikasi menggunakan Signature Versi 4. Untuk kebijakan-kebijakan contoh, lihat [Contoh kebijakan bucket menggunakan kunci kondisi terkait Signature Versi 4](#bucket-policy-sig-v4-condition-key-example). 


| Kunci yang Berlaku | Deskripsi | 
| --- | --- | 
| `s3:signatureversion` | Mengidentifikasi versi Tanda AWS Tangan yang ingin Anda dukung untuk permintaan yang diautentikasi. Untuk permintaan yang diautentikasi, Amazon S3 mendukung Tanda Tangan Versi 4 dan Tanda Tangan Versi 2. Anda dapat menambahkan kondisi ini dalam kebijakan bucket untuk memerlukan versi tanda tangan tertentu.<br />Nilai valid: <br />`"AWS"`mengidentifikasi Tanda Tangan Versi 2 <br /> `"AWS4-HMAC-SHA256"`mengidentifikasi Tanda Tangan Versi 4 | 
| `s3:authType` | Amazon S3 mendukung berbagai metode otentikasi (lihat[Permintaan Otentikasi (AWS Versi Tanda Tangan 4)](sig-v4-authenticating-requests.md). Anda dapat menggunakan kunci kondisi ini secara opsional untuk membatasi permintaan masuk untuk menggunakan metode otentikasi tertentu. Misalnya, Anda hanya dapat mengizinkan `Authorization` header HTTP untuk digunakan dalam otentikasi permintaan. <br />Nilai valid: <br />`REST-HEADER` <br />`REST-QUERY-STRING` <br />`POST` <br />  | 
| `s3:signatureAge` | Lamanya waktu, dalam milidetik, tanda tangan valid dalam permintaan autentikasi.<br />Kondisi ini berfungsi untuk:+ *URL yang ditandatangani * sebelumnya — di mana kondisi paling ketat menang. Untuk informasi selengkapnya, lihat Bek [ erja dengan URL ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html) yang ditandatangani sebelumnya.<br />+ *POST yang telah ditandatangani sebelumnya * — unggah file langsung ke S3 menggunakan POST yang telah ditandatangani sebelumnya. Untuk informasi selengkapnya, lihat Kebijakan POST [ Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-HTTPPOSTConstructPolicy.html).<br />Di Signature Version 2, nilai ini selalu disetel ke 0. <br />Di Signature Versi 4, kunci penandatangan berlaku hingga tujuh hari. Karena itu, tanda tangan juga berlaku hingga tujuh hari. Anda dapat menggunakan syarat ini untuk lebih lanjut membatasi umur tanda tangan. Untuk informasi selengkapnya, lihat [Pengantar Permintaan Penandatanganan](sig-v4-authenticating-requests.md#signing-request-intro).<br />Nilai contoh: `100` | 
| `s3:x-amz-content-sha256` | Anda dapat menggunakan kunci syarat ini untuk melarang konten yang tidak ditandatangani di bucket Anda.<br />Ketika Anda menggunakan Signature Version 4 untuk permintaan yang menggunakan `Authorization` header Authorization, Anda menambahka `x-amz-content-sha256` header x-amz-content-sha256 dalam perhitungan tanda tangan, lalu kemudian menetapkan nilainya ke muatan hash. Perhatikan bahwa kunci kondisi ini tidak mendukung `x-amz-content-sha256` header sebagai parameter string kueri.<br />Anda dapat menggunakan kunci kondisi ini dalam kebijakan bucket Anda untuk menolak unggahan apa pun yang tidak ditandatangani payload. Misalnya, Anda dapat menolak unggahan yang menggunakan `Authorization` header untuk mengotentikasi permintaan tetapi tidak menandatangani payload. Untuk informasi selengkapnya, lihat [Perhitungan Tanda Tangan untuk Header Otorisasi: Mentransfer Payload dalam Satu Potongan (AWS Versi Tanda Tangan 4)](sig-v4-header-based-auth.md).<br />Nilai valid: `UNSIGNED-PAYLOAD` | 

## Contoh kebijakan bucket menggunakan kunci kondisi terkait Signature Versi 4
<a name="bucket-policy-sig-v4-condition-key-example"></a>

Kebijakan bucket berikut menolak permintaan URL Amazon S3 yang telah ditandatangani sebelumnya pada objek `examplebucket` jika tanda tangan berusia lebih dari sepuluh menit. 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "Deny a presigned URL request if the signature is more than 10 min old",
         "Effect": "Deny",
         "Principal": "*",
         "Action": "s3:*",
         "Resource": "arn:aws:s3:::examplebucket3/*",
         "Condition": {
            "NumericGreaterThan": {
               "s3:signatureAge": 600000
            }
         }
      }
   ]
}
```

------

Kebijakan bucket berikut hanya mengizinkan permintaan yang menggunakan `Authorization` header untuk otentikasi permintaan. Setiap POST atau permintaan URL yang telah ditandatangani sebelumnya akan ditolak.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
         {
               "Sid": "Allow only requests that use Authorization header for request authentication. Deny POST or presigned URL requests.",
               "Effect": "Deny",
               "Principal": "*",
               "Action": "s3:*",
               "Resource": "arn:aws:s3:::examplebucket3/*",
               "Condition": {
                     "StringNotEquals": {
                           "s3:authType": "REST-HEADER"
                     }
               }
         }
   ]
}
```

------

Kebijakan bucket berikut menolak permintaan yang menggunakan URL yang telah ditandatangani sebelumnya untuk otentikasi permintaan:

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"DenyUploadsUsingPresignedURL",
         "Effect":"Deny",
         "Principal":"*",
         "Action":"s3:*",
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/*",
         "Condition":{
            "StringEquals":{
               "s3:authType":"{{REST-query-string}}"
            }
         }
      }
   ]
}
```

------

Kebijakan bucket berikut menolak upload dengan payload yang tidak ditandatangani:

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
         {
               "Sid": "Deny uploads with unsigned payloads that use the Authorization header.",
               "Effect": "Deny",
               "Principal": "*",
               "Action": "s3:*",
               "Resource": "arn:aws:s3:::examplebucket3/*",
               "Condition": {
                     "StringEquals": {
                           "s3:x-amz-content-sha256": "UNSIGNED-PAYLOAD"
                     }
               }
         }
   ]
}
```

------