Berbagi sumber daya lintas asal (CORS) - Amazon Simple Storage Service

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

Berbagi sumber daya lintas asal (CORS)

Cross-origin resource sharing (CORS) menentukan cara aplikasi web klien yang dimuat di dalam satu domain untuk berinteraksi dengan sumber daya di domain yang berbeda. Dengan dukungan CORS, Anda dapat membangun aplikasi web sisi klien yang kaya dengan Amazon S3, dan secara selektif mengizinkan akses lintas asal ke sumber daya Amazon S3 Anda.

Bagian ini memberikan ikhtisar tentang CORS. Subtopik menjelaskan bagaimana Anda dapat mengaktifkan CORS menggunakan konsol Amazon S3, atau secara terprogram menggunakan Amazon S3 REST API dan SDK. AWS

Berbagi sumber daya lintas asal: Skenario kasus penggunaan

Berikut adalah contoh skenario untuk menggunakan CORS.

Skenario 1

Misalkan Anda menyelenggarakan situs web di bucket Amazon S3 dengan nama website sebagaimana dijelaskan dalam Hosting situs web statis menggunakan Amazon S3. Pengguna Anda memuat titik akhir situs web:

http://website.s3-website.us-east-1.amazonaws.com

Sekarang Anda ingin menggunakan JavaScript pada halaman web yang disimpan di bucket ini untuk dapat membuat permintaan GET dan PUT yang diautentikasi terhadap bucket yang sama dengan menggunakan titik akhir API Amazon S3 untuk bucket,. website.s3.us-east-1.amazonaws.com Browser biasanya akan memblokir JavaScript agar tidak mengizinkan permintaan tersebut, tetapi dengan CORS Anda dapat mengonfigurasi bucket Anda untuk secara eksplisit mengaktifkan permintaan lintas asal. website.s3-website.us-east-1.amazonaws.com

Skenario 2

Misalkan, Anda ingin menghosting font web dari bucket S3. Sekali lagi, browser memerlukan pemeriksaan CORS (juga disebut pemeriksaan preflight) untuk memuat font web. Anda harus mengonfigurasi bucket yang menghosting font web untuk memungkinkan asal dari mana pun untuk membuat permintaan ini.

Bagaimana Amazon S3 mengevaluasi konfigurasi CORS pada bucket?

Saat Amazon S3 menerima permintaan preflight dari browser, itu akan mengevaluasi konfigurasi CORS untuk bucket dan menggunakan aturan CORSRule pertama yang sesuai dengan permintaan browser yang masuk untuk mengaktifkan permintaan lintas asal. Agar aturan dapat dicocokkan, ketentuan berikut harus dipenuhi:

  • Header Origin permintaan harus cocok dengan elemen AllowedOrigin lainnya.

  • Metode permintaan (misalnya, GET atau PUT) atau header Access-Control-Request-Method jika terjadi permintaan OPTIONS preflight harus merupakan salah satu elemen AllowedMethod.

  • Setiap header yang tercantum dalam header Access-Control-Request-Headers permintaan pada permintaan preflight harus sesuai dengan elemen AllowedHeader.

catatan

ACL dan kebijakan terus berlaku saat Anda mengaktifkan CORS di bucket.

Bagaimana Titik Akses Lambda Objek mendukung CORS

Ketika S3 Lambda Objek menerima permintaan dari browser atau permintaannya menyertakan header Origin, S3 Lambda Objek selalu menambahkan bidang header “AllowedOrigins":"*".

Untuk informasi lebih lanjut menggunakan CORS, lihat topik berikut.