View a markdown version of this page

Batasi akses ke asal Titik Akses Multi-Wilayah Amazon S3 - Amazon CloudFront

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

Batasi akses ke asal Titik Akses Multi-Wilayah Amazon S3

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

Untuk informasi tentang penggunaan OAC dengan asal bucket Amazon S3 standar, lihat. Batasi akses ke asal Amazon S3

Prasyarat

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

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

Untuk informasi selengkapnya tentang membuat Titik Akses Multi-Wilayah S3, lihat Membuat Titik Akses Multi-Wilayah di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Berikan CloudFront izin untuk mengakses Titik Akses Multi-Wilayah S3

Perbarui kebijakan Titik Akses Multi-Wilayah untuk memungkinkan prinsipal CloudFront layanan (cloudfront.amazonaws.com) mengakses Titik Akses Multi-Wilayah. Gunakan Condition elemen dalam kebijakan CloudFront untuk mengizinkan mengakses Titik Akses Multi-Wilayah hanya jika permintaan tersebut atas nama CloudFront distribusi yang berisi asal.

Untuk informasi tentang menambahkan atau memodifikasi kebijakan Titik Akses Multi-Wilayah, lihat contoh kebijakan Titik Akses Multi-Wilayah di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

contoh Kebijakan Titik Akses Multi-Wilayah 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 Titik Akses Multi-Wilayah, Anda juga harus memberikan CloudFront izin untuk mengakses setiap bucket S3 yang mendasari yang terkait dengan Titik Akses Multi-Wilayah. Anda dapat melakukannya dengan salah satu dari dua cara berikut:

Opsi 1: Berikan akses hanya ke CloudFront

Tambahkan kebijakan bucket ke setiap bucket S3 yang memungkinkan kepala CloudFront layanan mengakses bucket. Gunakan opsi ini ketika Anda juga perlu mengizinkan akses langsung ke ember 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 Titik Akses Multi-Wilayah

Berikan Akses Point Multi-Wilayah akses penuh ke setiap bucket yang mendasarinya. Dengan pendekatan ini, semua akses ke bucket dikendalikan oleh kebijakan Titik Akses Multi-Wilayah, 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 Titik Akses Multi-Wilayah
{ "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 Titik Akses Multi-Wilayah di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

penting

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

SSE-KMS

Jika objek dalam bucket S3 yang mendasarinya dienkripsi menggunakan enkripsi sisi server dengan AWS KMS (SSE-KMS), Anda harus memastikan bahwa distribusi memiliki izin untuk menggunakan kunci. CloudFront AWS KMS Karena Titik Akses Multi-Wilayah S3 dapat merutekan permintaan ke bucket di beberapa Wilayah, Anda harus menambahkan pernyataan ke kebijakan kunci KMS di setiap Wilayah di mana bucket yang mendasarinya menggunakan SSE-KMS. Untuk informasi tentang cara mengubah kebijakan kunci, lihat Mengubah kebijakan kunci di Panduan AWS Key Management Service Pengembang.

contoh Pernyataan kebijakan kunci 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 di mana bucket S3 yang mendasarinya menggunakan enkripsi SSE-KMS.

Buat kontrol akses asal

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

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 Akses asal.

  3. Pilih Buat pengaturan kontrol.

  4. Pada formulir pengaturan Create control, 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 (Permintaan tanda tangan (disarankan)). Untuk informasi selengkapnya, lihat Pengaturan lanjutan untuk kontrol akses asal.

  5. Pilih S3 Multi-Region Access Point dari dropdown tipe Origin.

  6. Pilih Buat.

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

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

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

  3. Pilih asal S3 Multi-Region Access Point yang ingin Anda tambahkan OAC, lalu pilih Edit.

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

  5. Dari menu tarik-turun kontrol akses Origin, pilih OAC yang ingin Anda gunakan.

  6. Pilih Simpan perubahan.

Distribusi mulai menyebar ke semua lokasi CloudFront tepi. Ketika lokasi tepi menerima konfigurasi baru, ia menandatangani semua permintaan yang dikirim ke asal Titik Akses Multi-Wilayah 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": "s3mrap" }'
CloudFormation

Tentukan nilai berikut diOriginAccessControlConfig:

  • SigningProtocol: sigv4a

  • SigningBehavior:always,never, atau no-override

  • OriginAccessControlOriginType: s3mrap

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

Perilaku penandatanganan

Opsi perilaku penandatanganan untuk asal Titik Akses Multi-Wilayah S3 sama dengan opsi untuk asal bucket Amazon S3 biasa. Untuk informasi selengkapnya, lihat Pengaturan lanjutan untuk kontrol akses asal di Membatasi akses ke asal Amazon S3.