Halaman ini menyediakan ringkasan autentikasi asal pribadi dan petunjuk untuk menggunakannya dengan Cloud CDN.
Autentikasi asal pribadi memberi Cloud CDN akses resource jangka panjang ke bucket Amazon S3 pribadi atau penyimpanan objek lain yang kompatibel. Menggunakan origin pribadi mencegah klien melewati 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 mengarah ke origin, sedangkan URL bertanda tangan dan cookie bertanda tangan ditampilkan kepada klien. 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 yang dapat mengakses Cloud CDN.
Sebelum memulai
Buat kunci kode autentikasi pesan berbasis hash (HMAC) untuk mengautentikasi permintaan dan mengaitkannya dengan akun layanan. Catat kunci akses dan rahasianya.
Lihat artikel Mengakses AWS menggunakan kredensial AWS: Akses Terprogram dalam dokumentasi AWS.
Mengonfigurasi load balancer dengan backend eksternal.
Jika penyimpanan objek Anda mengharapkan nilai tertentu untuk header
Host
permintaan HTTP, pastikan nilai tersebut dikonfigurasi di layanan backend. Jika Anda tidak mengonfigurasi header permintaan kustom, layanan backend akan mempertahankan headerHost
yang digunakan klien untuk terhubung ke Load Balancer Aplikasi eksternal.Untuk mengetahui langkah-langkah konfigurasi, lihat Menangani header permintaan kustom. Untuk contoh spesifik, lihat Mengonfigurasi load balancer dengan backend eksternal.
Jika perlu, update Google Cloud CLI ke versi terbaru:
gcloud components update
Mengonfigurasi autentikasi untuk origin pribadi
Untuk mengonfigurasi autentikasi asal pribadi, gunakan petunjuk berikut:
gcloud
Ekspor konfigurasi backend untuk origin pribadi Anda ke dalam file
.yaml
menggunakan perintahgcloud 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
.Untuk mengautentikasi permintaan backend menggunakan kunci HMAC, tentukan opsi konfigurasi tambahan ini di bagian
securitySettings
padabackendServices
:securitySettings: awsV4Authentication: accessKeyId: ACCESS_KEY_ID accessKey: ACCESS_KEY [accessKeyVersion: ACCESS_KEY_VERSION] originRegion: REGION …]
Ganti kode berikut:
ACCESS_KEY_ID
: ID kunci akses HMACACCESS_KEY
: kunci akses HMACACCESS_KEY_VERSION
(opsional): nama unik yang dapat Anda tetapkan untuk mewakili versi kunciREGION
: region yang valid untuk penyedia penyimpanan Anda. Untuk Amazon S3, nilainya bukan region Google Cloud.
Cuplikan berikut menunjukkan isi contoh file
my-private-origin.yaml
: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
Untuk memperbarui origin pribadi Anda, 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
pada 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 HMACACCESS_KEY
: kunci akses HMACACCESS_KEY_VERSION
(opsional): nama unik yang dapat ditetapkan untuk mewakili versi kunciREGION
: region yang valid untuk penyedia penyimpanan Anda. Untuk Amazon S3, nilainya bukan region Google Cloud.
Cuplikan berikut menampilkan isi contoh isi permintaan JSON:
securitySettings: { awsV4Authentication: { accessKeyId: "AKIDEXAMPLE", accessKey: "c4afb1cc5771d871763a393e44b703571b55cc28424d1a5e86da6ed3c154a4b9", accessKeyVersion: "prod-access-key-v1.2", originRegion: "us-east-2" } }
Nama layanan akan otomatis ditetapkan ke s3
untuk membuat tanda tangan.
Setelah konfigurasi ini diterapkan, Cloud CDN akan menghasilkan header Otorisasi HTTP untuk semua permintaan ke origin Anda.
Menyimpan respons yang diautentikasi secara pribadi di cache
Anda mungkin ingin memastikan bahwa konten yang diautentikasi secara pribadi disimpan dalam cache oleh Cloud CDN.
Untuk melakukannya, tetapkan mode cache ke Paksa cache semua konten dan tentukan TTL, sehingga semua konten yang disajikan dari asal akan di-cache.
Atau, jika Anda tidak ingin memaksa semua konten untuk di-cache dengan cara yang sama,
ubah mode cache menjadi Gunakan setelan asal berdasarkan header Cache-Control
atau Cache konten statis dan pastikan bahwa header Cache-Control
disetel dengan benar pada konten yang disajikan dari asal Anda.