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 elemenAllowedOrigin
lainnya. -
Metode permintaan (misalnya, GET atau PUT) atau header
Access-Control-Request-Method
jika terjadi permintaanOPTIONS
preflight harus merupakan salah satu elemenAllowedMethod
. -
Setiap header yang tercantum dalam header
Access-Control-Request-Headers
permintaan pada permintaan preflight harus sesuai dengan elemenAllowedHeader
.
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.