Mengonfigurasi autentikasi origin pribadi

Halaman ini memberikan ringkasan tentang autentikasi origin pribadi dan petunjuk untuk menggunakannya dengan Cloud CDN.

Autentikasi origin pribadi memberi Cloud CDN akses resource jangka panjang ke bucket Amazon S3 pribadi atau penyimpanan objek lain yang kompatibel. Menggunakan origin pribadi mencegah klien mengabaikan Cloud CDN dan mengakses origin Anda secara langsung.

Fitur ini didukung untuk Cloud CDN dengan Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik.

Autentikasi origin pribadi bersifat origin-facing, sedangkan URL yang ditandatangani dan cookie yang ditandatangani bersifat client-facing. Anda dapat mengaktifkan keduanya untuk konten yang sama. Autentikasi origin pribadi membatasi akses non-CDN ke origin dan konten Anda. URL dan cookie yang ditandatangani mengontrol pengguna mana yang dapat mengakses Cloud CDN.

Sebelum memulai

Mengonfigurasi autentikasi untuk origin pribadi

Untuk mengonfigurasi autentikasi origin pribadi, gunakan petunjuk berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman Cloud CDN.

    Buka Cloud CDN

  2. Klik nama origin yang ingin Anda konfigurasi. Asalnya harus berjenis Asal kustom.

  3. Di halaman Detail origin, klik tombol Edit.

  4. Untuk membuka bagian Host and path rules, klik Next.

  5. Untuk membuka bagian Performa cache, klik Berikutnya.

  6. Di bagian Private origin authentication, pilih Authenticate requests to this origin with AWS Signature Version 4. Kemudian, tentukan informasi berikut:

    • ID Kunci: kunci akses untuk bucket Amazon S3 atau penyimpanan objek kompatibel lainnya.
    • Kunci: kunci rahasia yang digunakan untuk mengautentikasi ke penyimpanan objek. Jika Anda menggunakan bucket Cloud Storage pribadi, tentukan kunci HMAC.
    • Versi kunci: nama unik untuk mewakili versi kunci.
    • Region: region tempat object store Anda berada—misalnya, us-east-1.
  7. Klik Done.

gcloud

  1. Ekspor konfigurasi backend untuk origin pribadi Anda ke dalam file YAML menggunakan perintah gcloud compute backend-services export:

    gcloud compute backend-services export BACKEND_SERVICE_NAME \
       [--destination=DESTINATION]
    

    Ganti DESTINATION dengan nama file YAML—misalnya, my-private-origin.yaml.

  2. Untuk mengautentikasi permintaan backend menggunakan kunci HMAC, tentukan opsi konfigurasi tambahan ini di bagian securitySettings dari backendServices:

    securitySettings:
      awsV4Authentication:
        accessKeyId: ACCESS_KEY_ID
        accessKey: ACCESS_KEY
        [accessKeyVersion: ACCESS_KEY_VERSION]
        originRegion: REGION
    …]
    

    Ganti kode berikut:

    • ACCESS_KEY_ID: ID kunci akses HMAC
    • ACCESS_KEY: kunci akses HMAC
    • ACCESS_KEY_VERSION (opsional): nama unik yang dapat Anda tetapkan untuk mewakili versi kunci
    • REGION: region yang valid untuk penyedia penyimpanan Anda. Untuk Amazon S3, nilainya bukan region Google Cloud.

    Cuplikan berikut menunjukkan isi file my-private-origin.yaml contoh:

     name: shopping-cart-services
     backends:
       - description: cart-backend-1
         group: 'https://www.googleapis.com/compute/v1/projects/my-project-id/global/networkEndpointGroups/my-network-origin-group'
     securitySettings:
       awsV4Authentication:
         accessKeyId: AKIDEXAMPLE
         accessKey: c4afb1cc5771d871763a393e44b703571b55cc28424d1a5e86da6ed3c154a4b9
         accessKeyVersion: prod-access-key-v1.2
         originRegion: us-east-2
    
  3. Untuk memperbarui origin pribadi, impor konfigurasi ke layanan backend menggunakan perintah gcloud compute backend-services import:

    gcloud compute backend-services import BACKEND_SERVICE_NAME \
       [--source=SOURCE]
    

    Ganti SOURCE dengan nama file YAML.

API

Untuk mengautentikasi permintaan backend menggunakan kunci HMAC, tentukan opsi konfigurasi tambahan ini di bagian securitySettings dari backendServices.

Gunakan panggilan API Method: backendServices.insert atau Method: backendServices.update.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE

Tambahkan cuplikan berikut ke isi permintaan JSON:

securitySettings: {
  awsV4Authentication: {
    accessKeyId: ACCESS_KEY_ID,
    accessKey: ACCESS_KEY,
    [accessKeyVersion: ACCESS_KEY_VERSION],
    originRegion: REGION
  }
}

Ganti kode berikut:

  • ACCESS_KEY_ID: ID kunci akses HMAC
  • ACCESS_KEY: kunci akses HMAC
  • ACCESS_KEY_VERSION (opsional): nama unik yang dapat Anda tetapkan untuk mewakili versi kunci
  • REGION: region yang valid untuk penyedia penyimpanan Anda. Untuk Amazon S3, nilainya bukan region Google Cloud.

Cuplikan berikut menunjukkan isi contoh isi permintaan JSON:

securitySettings: {
  awsV4Authentication: {
    accessKeyId: "AKIDEXAMPLE",
    accessKey: "c4afb1cc5771d871763a393e44b703571b55cc28424d1a5e86da6ed3c154a4b9",
    accessKeyVersion: "prod-access-key-v1.2",
    originRegion: "us-east-2"
  }
}

Nama layanan secara otomatis ditetapkan ke s3 untuk membuat tanda tangan. Setelah konfigurasi ini diterapkan, Cloud CDN akan membuat header Otorisasi HTTP untuk semua permintaan ke origin Anda.

Menyimpan respons yang diautentikasi secara pribadi ke dalam cache

Sebaiknya pastikan konten yang diautentikasi secara pribadi di-cache oleh Cloud CDN.

Untuk melakukannya, tetapkan mode cache ke Paksa cache semua konten dan tentukan TTL, sehingga semua konten yang ditayangkan dari origin akan di-cache.

Atau, jika Anda tidak ingin memaksa semua konten di-cache dengan cara yang sama, ubah mode cache ke Gunakan setelan origin berdasarkan header Cache-Control atau Simpan konten statis dalam cache dan pastikan header Cache-Control ditetapkan dengan benar pada konten yang ditayangkan dari origin Anda.

Langkah selanjutnya