

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

# Elemen konfigurasi CORS
<a name="ManageCorsUsing"></a>

Untuk mengonfigurasi bucket Anda agar permintaan lintas asal dapat dilakukan, Anda membuat konfigurasi CORS. Konfigurasi CORS adalah dokumen dengan elemen yang mengidentifikasi asal yang akan Anda izinkan untuk mengakses bucket, operasi (metode HTTP) yang akan Anda dukung untuk setiap asal, dan informasi spesifik operasi lainnya. Anda dapat menambahkan hingga 100 aturan ke konfigurasi. Anda dapat menambahkan konfigurasi CORS sebagai sub-sumber daya `cors` ke bucket.

Jika Anda mengonfigurasi CORS di konsol S3, Anda harus menggunakan JSON untuk membuat konfigurasi CORS. Konsol S3 baru hanya mendukung konfigurasi JSON CORS. 

Untuk informasi lebih lanjut tentang konfigurasi CORS dan unsur-unsur di dalamnya, lihat topik di bawah ini. Untuk petunjuk tentang cara menambahkan konfigurasi CORS, lihat [Berbagi sumber daya lintas asal (CORS)](enabling-cors-examples.md).

**penting**  
Pada konsol S3, konfigurasi CORS harus merupakan JSON. 

**Topics**
+ [Elemen `AllowedMethods`](#cors-allowed-methods)
+ [Elemen `AllowedOrigins`](#cors-allowed-origin)
+ [Elemen `AllowedHeaders`](#cors-allowed-headers)
+ [Elemen `ExposeHeaders`](#cors-expose-headers)
+ [Elemen `MaxAgeSeconds`](#cors-max-age)
+ [Contoh konfigurasi CORS](#cors-example-1)

## Elemen `AllowedMethods`
<a name="cors-allowed-methods"></a>

Dalam konfigurasi CORS, Anda dapat menentukan nilai berikut untuk elemen `AllowedMethods` lainnya.
+ GET
+ PUT
+ POST
+ HAPUS
+ HEAD

## Elemen `AllowedOrigins`
<a name="cors-allowed-origin"></a>

Di elemen `AllowedOrigins`, Anda menentukan asal yang ingin Anda izinkan permintaan lintas domainnya, misalnya, ` http://www.example.com`. String asal hanya dapat berisi satu karakter wildcard `*`, seperti `http://*.example.com`. Anda secara opsional dapat menentukan `*` sebagai asal untuk mengaktifkan semua asal untuk mengirim permintaan lintas asal. Anda juga dapat menentukan `https` untuk hanya memungkinkan asal yang aman.

## Elemen `AllowedHeaders`
<a name="cors-allowed-headers"></a>

Elemen `AllowedHeaders` menentukan header yang diizinkan dalam permintaan preflight melalui header `Access-Control-Request-Headers`. Setiap nama header di `Access-Control-Request-Headers` header harus cocok dengan entri yang sesuai dalam elemen. Amazon S3 hanya akan mengirimkan header yang diizinkan dalam respons yang diminta. Untuk daftar sampel header yang dapat digunakan dengan permintaan ke Amazon S3, kunjungi [Header Permintaan Umum](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html) dalam panduan *Referensi API Amazon Simple Storage Service*.

Setiap AllowedHeaders string dalam konfigurasi Anda dapat berisi paling banyak satu karakter wildcard. Misalnya, `<AllowedHeader>x-amz-*</AllowedHeader>` akan mengaktifkan semua header kustom Amazon.

## Elemen `ExposeHeaders`
<a name="cors-expose-headers"></a>

Setiap `ExposeHeader` elemen mengidentifikasi header dalam respons yang Anda ingin pelanggan dapat mengakses dari aplikasi mereka (misalnya, dari JavaScript `XMLHttpRequest` objek). Untuk daftar header respons Amazon S3 umum, kunjungi [Header Respons Umum](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html) dalam panduan *Referensi API Amazon Simple Storage Service*.

## Elemen `MaxAgeSeconds`
<a name="cors-max-age"></a>

Elemen `MaxAgeSeconds` menentukan waktu dalam hitungan detik bahwa browser Anda dapat menyimpan respons untuk permintaan preflight sebagaimana diidentifikasi oleh sumber daya, metode HTTP, dan asal.

## Contoh konfigurasi CORS
<a name="cors-example-1"></a>

Alih-alih mengakses situs web dengan menggunakan titik akhir situs web Amazon S3, Anda dapat menggunakan domain Anda sendiri, seperti `example1.com` untuk melayani konten Anda. Untuk informasi tentang menggunakan domain Anda sendiri, lihat [Tutorial: Mengonfigurasi situs web statis menggunakan domain kustom yang terdaftar di Route 53](website-hosting-custom-domain-walkthrough.md). 

Contoh konfigurasi CORS berikut memiliki tiga aturan, yang ditentukan sebagai `CORSRule` elemen:
+ Aturan pertama mengizinkan permintaan PUT, POST, dan DELETE lintas asal dari asal `http://www.example1.com`. Aturan ini juga memungkinkan semua header dalam permintaan OPSI preflight melalui header `Access-Control-Request-Headers`. Menanggapi permintaan OPTIONS preflight, Amazon S3 mengembalikan header yang diminta.
+ Aturan kedua mengizinkan permintaan lintas asal yang sama seperti aturan pertama, tetapi aturan tersebut berlaku untuk asal lain, `http://www.example2.com`. 
+ Aturan ketiga memungkinkan permintaan GET lintas asal dari semua asal. Karakter wildcard `*` mengacu pada semua asal. 

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

```
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "http://www.example1.com"
        ],
        "ExposeHeaders": []
    },
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "http://www.example2.com"
        ],
        "ExposeHeaders": []
    },
    {
        "AllowedHeaders": [],
        "AllowedMethods": [
            "GET"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": []
    }
]
```

------
#### [ XML ]

```
<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>http://www.example1.com</AllowedOrigin>

   <AllowedMethod>PUT</AllowedMethod>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>DELETE</AllowedMethod>

   <AllowedHeader>*</AllowedHeader>
 </CORSRule>
 <CORSRule>
   <AllowedOrigin>http://www.example2.com</AllowedOrigin>

   <AllowedMethod>PUT</AllowedMethod>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>DELETE</AllowedMethod>

   <AllowedHeader>*</AllowedHeader>
 </CORSRule>
 <CORSRule>
   <AllowedOrigin>*</AllowedOrigin>
   <AllowedMethod>GET</AllowedMethod>
 </CORSRule>
</CORSConfiguration>
```

------

Konfigurasi CORS juga memungkinkan parameter konfigurasi opsional, seperti ditunjukkan dalam konfigurasi CORS berikut. Dalam contoh ini, konfigurasi CORS memungkinkan permintaan PUT, POST, dan DELETE lintas asal dari asal `http://www.example.com`.

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

```
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "http://www.example.com"
        ],
        "ExposeHeaders": [
            "x-amz-server-side-encryption",
            "x-amz-request-id",
            "x-amz-id-2"
        ],
        "MaxAgeSeconds": 3000
    }
]
```

------
#### [ XML ]

```
<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>http://www.example.com</AllowedOrigin>
   <AllowedMethod>PUT</AllowedMethod>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>DELETE</AllowedMethod>
   <AllowedHeader>*</AllowedHeader>
  <MaxAgeSeconds>3000</MaxAgeSeconds>
  <ExposeHeader>x-amz-server-side-encryption</ExposeHeader>
  <ExposeHeader>x-amz-request-id</ExposeHeader>
  <ExposeHeader>x-amz-id-2</ExposeHeader>
 </CORSRule>
</CORSConfiguration>
```

------

Elemen `CORSRule` dalam konfigurasi sebelumnya mencakup elemen opsional berikut:
+ `MaxAgeSeconds`—Menentukan jumlah waktu dalam detik (dalam contoh ini, 3000) saat browser menyimpan respons Amazon S3 terhadap permintaan OPTIONS preflight untuk sumber daya yang ditentukan. Dengan menyimpan respons, browser tidak perlu mengirim permintaan preflight ke Amazon S3 jika permintaan awal akan diulang. 
+ `ExposeHeaders`—Mengidentifikasi header respons (dalam contoh ini,, `x-amz-server-side-encryption``x-amz-request-id`, dan`x-amz-id-2`) yang dapat diakses pelanggan dari aplikasi mereka (misalnya, dari objek). JavaScript `XMLHttpRequest`