View a markdown version of this page

Membatasi akses ke asal Titik Multi-Region Akses Amazon S3 - Amazon CloudFront

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

Membatasi akses ke asal Titik Multi-Region Akses Amazon S3

Anda dapat menggunakan kontrol akses asal (OAC) untuk membatasi akses ke asal Titik Akses Amazon S3 Multi-Region. S3 Multi-Region Access Points menyediakan titik akhir global yang merutekan permintaan ke bucket S3 terdekat berdasarkan latensi jaringan.

catatan

OAC dengan S3 Multi-Region Access Points tidak didukung untuk titik akhir MRAP yang didukung oleh bucket di Wilayah opt-in. Permintaan yang dialihkan ke bucket di Wilayah opt-in akan gagal. Semua bucket yang terkait dengan Multi-Region Access Point harus berada di Wilayah yang diaktifkan secara default.

Untuk informasi tentang menggunakan OAC dengan sumber bucket Amazon S3 standar, lihatBatasi akses ke asal Amazon S3.

Prasyarat

Sebelum membuat dan mengatur OAC, Anda harus memiliki CloudFront distribusi dengan asal Titik Multi-Region Akses Amazon S3. Nama domain asal harus menggunakan format nama Multi-Region host S3 Access Point:

multi-region-access-point-alias.accesspoint.s3-global.amazonaws.com

Untuk informasi selengkapnya tentang membuat Titik Multi-Region Akses S3, lihat Membuat T Multi-Region itik Ak ses di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Mem CloudFront berikan izin untuk mengakses S3 Multi-Region Access Point

Perbarui kebijakan Multi-Region Access Point untuk mengizinkan CloudFront layanan principal (cloudfront.amazonaws.com) mengakses Multi-Region Access Point. Gunakan Condition elemen dalam kebijakan CloudFront untuk mengizinkan akses Multi-Region Titik Akses hanya jika permintaan atas nama CloudFront distribusi yang berisi asal.

Untuk informasi tentang menambahkan atau memodifikasi kebijakan Multi-Region Access Point, lihat contoh kebijakan Multi-Region Access Point di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

contoh Multi-Region Kebijakan Access Point untuk CloudFront OAC
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontOACAccess", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3::111122223333:accesspoint/Multi-Region-Access-Point-Alias.mrap/object/*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront distribution ID" } } } ] }

Berikan CloudFront izin untuk mengakses bucket S3 yang mendasarinya

Selain kebijakan Multi-Region Access Point, Anda juga harus memberikan CloudFront izin untuk mengakses setiap bucket S3 dasar yang terkait dengan Multi-Region Access Point. Anda dapat melakukannya dengan salah satu dari dua cara berikut:

penting

Anda harus menambahkan kebijakan bucket ini ke setiap bucket S3 yang terkait dengan Multi-Region Access Point. Jika ada bucket yang tidak memiliki kebijakan, CloudFront permintaan yang dialihkan ke bucket tersebut akan ditolak.

Opsi 1: Berikan akses hanya untuk CloudFront

Tambahkan kebijakan bucket ke setiap bucket S3 yang memungkinkan CloudFront prinsipal layanan mengakses bucket. Gunakan opsi ini ketika Anda juga perlu mengizinkan akses langsung ke bucket dari sumber lain.

contoh Kebijakan bucket S3 untuk bucket yang mendasarinya
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontOACAccessViaMRAP", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-us-east-1/*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront distribution ID" } } } ] }

Opsi 2: Delegasikan akses bucket penuh ke Multi-Region Access Point

Berikan Multi-Region Access Point akses penuh ke setiap bucket yang mendasarinya. Dengan pendekatan ini, semua akses ke bucket dikendalikan oleh kebijakan Multi-Region Access Point, yang menyederhanakan manajemen akses. Kami merekomendasikan opsi ini untuk kasus penggunaan yang tidak memerlukan akses langsung ke bucket.

contoh Kebijakan bucket S3 yang mendelegasikan akses ke Multi-Region Access Point
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegateAccessToMRAP", "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-us-east-1", "arn:aws:s3:::amzn-s3-demo-bucket-us-east-1/*" ], "Condition": { "StringEquals": { "s3:DataAccessPointArn": "arn:aws:s3::111122223333:accesspoint/Multi-Region-Access-Point-Alias.mrap" } } } ] }

Untuk informasi selengkapnya, lihat contoh kebijakan Multi-Region Access Point di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

SSE-KMS

Jika objek dalam bucket S3 yang mendasarinya dienkripsi menggunakan enkripsi sisi server dengan AWS KMS (SSE-KMS), Anda harus memastikan bahwa CloudFront distribusi memiliki izin untuk menggunakan kunci. AWS KMS Karena S3 Multi-Region Access Points dapat merutekan permintaan ke bucket di beberapa Wilayah, Anda harus menambahkan pernyataan ke kebijakan kunci KMS di setiap Wilayah tempat bucket yang mendasarinya digunakan. SSE-KMS Untuk informasi tentang cara mengubah kebijakan kunci, lihat Meng ubah kebijakan kunci di Panduan Peng AWS Key Management Service embang.

contoh Pernyataan kebijakan utama KMS

Contoh berikut menunjukkan pernyataan kebijakan kunci KMS yang memungkinkan CloudFront distribusi dengan OAC untuk mengakses kunci KMS untuk. SSE-KMS

{ "Sid": "AllowCloudFrontServicePrincipalSSE-KMS", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront distribution ID" } } }
penting

Anda harus menambahkan pernyataan kebijakan kunci ini ke kunci KMS di setiap Wilayah tempat bucket S3 yang mendasarinya menggunakan SSE-KMS enkripsi.

Buat kontrol akses asal

Untuk membuat kontrol akses asal (OAC), Anda dapat menggunakan Konsol Manajemen AWS, CloudFormation, AWS CLI, atau CloudFront API.

catatan

Pemicu permintaan asal Lambda @Edge tidak kompatibel dengan asal yang menggunakan OAC SigV4a, apakah asal diakses secara langsung atau melalui grup asal.

Console
Untuk membuat kontrol akses asal
  1. Masuk ke Konsol Manajemen AWS dan buka CloudFront konsol dihttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Di panel navigasi, pilih Ak ses Asal.

  3. Pilih Buat pengaturan kontrol.

  4. Pada formulir Buat pengaturan kontrol, lakukan hal berikut:

    1. Di panel Detail, masukkan Nama dan (opsional) Deskripsi untuk kontrol akses asal.

    2. Di panel Pengaturan, kami sarankan Anda meninggalkan pengaturan default (T anda tangani permintaan (disarankan)). Untuk informasi selengkapnya, lihat Pengaturan lanjutan untuk kontrol akses asal.

  5. Pilih S3 dari dropdown tipe Origin dan pilih opsi Gunakan protokol penandatanganan Sigv4a.

  6. Pilih Buat.

    Setelah OAC dibuat, catat Nama. Anda membutuhkan ini dalam prosedur berikut.

Untuk menambahkan kontrol akses asal ke asal T Multi-Region itik Akses S3 dalam distribusi
  1. Buka CloudFront konsol dihttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Pilih distribusi dengan asal T Multi-Region itik Akses S3 yang ingin Anda tambahkan OAC, lalu pilih tab Origins.

  3. Pilih asal T Multi-Region itik Akses S3 yang ingin Anda tambahkan OAC, lalu pilih Edit.

  4. Untuk akses Origin, pilih pengaturan kontrol akses Origin (disarankan).

  5. Dari menu dropdown kontrol akses Origin, pilih OAC yang ingin Anda gunakan.

  6. Pilih Simpan perubahan.

Distribusi mulai digunakan ke semua lokasi CloudFront tepi. Ketika lokasi tepi menerima konfigurasi baru, ia menandatangani semua permintaan yang dikirim ke asal Titik Multi-Region Akses S3.

CLI

Gunakan create-origin-access-control perintah:

aws cloudfront create-origin-access-control \ --origin-access-control-config '{ "Name": "my-s3-mrap-oac", "Description": "OAC for S3 Multi-Region Access Point", "SigningProtocol": "sigv4a", "SigningBehavior": "always", "OriginAccessControlOriginType": "s3" }'
CloudFormation

Tentukan nilai-nilai berikut diOriginAccessControlConfig:

  • SigningProtocol: sigv4a

  • SigningBehavior:always,never, atau no-override

  • OriginAccessControlOriginType: s3

contoh CloudFormation templat
Type: AWS::CloudFront::OriginAccessControl Properties: OriginAccessControlConfig: Description: An optional description for the origin access control Name: my-s3-mrap-oac OriginAccessControlOriginType: s3 SigningBehavior: always SigningProtocol: sigv4a

Perilaku penandatanganan

Opsi perilaku penandatanganan untuk asal Titik Multi-Region Akses S3 sama dengan yang untuk sumber bucket Amazon S3 biasa. Untuk informasi selengkapnya, lihat Pengaturan lanjutan untuk kontrol akses asal Batasi akses ke asal Amazon S3.