Halaman ini menjelaskan cara menggunakan kunci enkripsi Anda sendiri, yang disebut sebagai kunci enkripsi yang disediakan pelanggan, dengan Cloud Storage. Untuk opsi enkripsi lainnya di Cloud Storage, lihat Opsi Enkripsi Data.
Membuat kunci enkripsi Anda sendiri
Ada banyak cara untuk membuat kunci enkripsi AES-256 berenkode Base64. Berikut beberapa contohnya:
C++
Untuk informasi selengkapnya, lihat dokumentasi referensi C++ API Cloud Storage.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Mengupload dengan kunci enkripsi
Cara menggunakan kunci enkripsi yang disediakan pelanggan untuk mengupload objek:
Konsol
Konsol Google Cloud tidak dapat digunakan untuk mengupload objek dengan kunci enkripsi yang disediakan pelanggan. Untuk itu, gunakan Google Cloud CLI atau library klien
Command line
Gunakan perintah gcloud storage cp
dengan flag --encryption-key
:
gcloud storage cp SOURCE_DATA gs://BUCKET_NAME/OBJECT_NAME --encryption-key=YOUR_ENCRYPTION_KEY
Dengan keterangan:
SOURCE_DATA
adalah lokasi sumber dari data yang Anda enkripsi. Lokasi ini dapat berupa lokasi sumber mana pun yang didukung oleh perintahcp
. Contohnya, file lokal sepertiDesktop/dogs.png
, atau objek Cloud Storage lainnya sepertigs://my-bucket/pets/old-dog.png
.BUCKET_NAME
adalah nama bucket tujuan untuk perintah penyalinan ini. Contohnya,my-bucket
.OBJECT_NAME
adalah nama objek terenkripsi akhir. Contohnya,pets/new-dog.png
.YOUR_ENCRYPTION_KEY
adalah kunci AES-256 yang ingin Anda gunakan untuk mengenkripsi objek yang diupload.
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaan ObjekPOST
:curl -X POST --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME"
Dengan keterangan:
OBJECT
adalah jalur ke objek yang Anda upload. Contoh,Desktop/dogs.png
.OBJECT_CONTENT_TYPE
adalah jenis konten objek. Contohnya,image/png
.YOUR_ENCRYPTION_KEY
adalah kunci AES-256 yang digunakan untuk mengenkripsi objek yang diupload.HASH_OF_YOUR_KEY
adalah hash SHA-256 untuk kunci AES-256 Anda.BUCKET_NAME
adalah nama bucket tempat Anda mengupload objek. Contohnya,my-bucket
.OBJECT_NAME
adalah nama berenkode URL dari objek yang Anda upload. Contohnya,pets/dog.png
, yang berenkode URL menjadipets%2Fdog.png
.
Lihat Header permintaan enkripsi untuk mendapatkan informasi lebih lanjut tentang header khusus enkripsi.
XML API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Gunakan
cURL
untuk memanggil XML API dengan permintaan OBJEKPUT
:curl -X -i PUT --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Dengan keterangan:
OBJECT
adalah jalur ke objek yang Anda upload. Contoh,Desktop/dogs.png
.OBJECT_CONTENT_TYPE
adalah jenis konten objek. Contohnya,image/png
.YOUR_ENCRYPTION_KEY
adalah kunci AES-256 yang digunakan untuk mengenkripsi objek yang diupload.HASH_OF_YOUR_KEY
adalah hash SHA-256 untuk kunci AES-256 Anda.BUCKET_NAME
adalah nama bucket tempat Anda mengupload objek. Contohnya,my-bucket
.OBJECT_NAME
adalah nama berenkode URL dari objek yang Anda upload. Contohnya,pets/dog.png
, yang berenkode URL menjadipets%2Fdog.png
.
Lihat Header permintaan enkripsi untuk mendapatkan informasi lebih lanjut tentang header khusus enkripsi.
Mendownload objek yang telah dienkripsi
Cara mendownload objek dari Cloud Storage yang dienkripsi dengan kunci enkripsi yang disediakan pelanggan:
Konsol
Konsol Google Cloud tidak dapat digunakan untuk mendownload objek yang dienkripsi dengan kunci enkripsi yang disediakan pelanggan. Untuk itu, gunakan Google Cloud CLI atau library klien
Command line
Gunakan perintah gcloud storage cp
dengan flag --decryption-keys
:
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME OBJECT_DESTINATION --decryption-keys=YOUR_ENCRYPTION_KEY
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi objek yang akan Anda download. Contohnya,my-bucket
.OBJECT_NAME
adalah nama objek yang Anda download. Contohnya,pets/dog.png
.OBJECT_DESTINATION
adalah lokasi tempat Anda ingin menyimpan objek. Contohnya,Desktop
.YOUR_ENCRYPTION_KEY
adalah kunci AES-256 yang digunakan untuk mengenkripsi objek saat diupload.
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaan ObjekGET
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
Dengan keterangan:
YOUR_ENCRYPTION_KEY
adalah kunci AES-256 yang digunakan untuk mengenkripsi objek.HASH_OF_YOUR_KEY
adalah hash SHA-256 untuk kunci AES-256 Anda.SAVE_TO_LOCATION
adalah lokasi tempat Anda ingin menyimpan objek. Contohnya,Desktop/dog.png
.BUCKET_NAME
adalah nama bucket tempat Anda mendownload objek. Contohnya,my-bucket
.OBJECT_NAME
adalah nama berenkode URL dari objek yang Anda download. Contohnya,pets/dog.png
, yang berenkode URL menjadipets%2Fdog.png
.
Lihat Header permintaan enkripsi untuk mendapatkan informasi lebih lanjut tentang header khusus enkripsi.
XML API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Gunakan
cURL
untuk memanggil XML API dengan permintaan OBJEKGET
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Dengan keterangan:
YOUR_ENCRYPTION_KEY
adalah kunci AES-256 yang digunakan untuk mengenkripsi objek.HASH_OF_YOUR_KEY
adalah hash SHA-256 untuk kunci AES-256 Anda.SAVE_TO_LOCATION
adalah lokasi tempat Anda ingin menyimpan objek. Contohnya,Desktop/dog.png
.BUCKET_NAME
adalah nama bucket tempat Anda mendownload objek. Contohnya,my-bucket
.OBJECT_NAME
adalah nama berenkode URL dari objek yang Anda download. Contohnya,pets/dog.png
, yang berenkode URL menjadipets%2Fdog.png
.
Lihat Header permintaan enkripsi untuk mendapatkan informasi lebih lanjut tentang header khusus enkripsi.
Mengganti kunci enkripsi secara rutin
Cara mengganti kunci enkripsi yang disediakan pelanggan:
Konsol
Konsol Google Cloud tidak dapat digunakan untuk mengganti kunci enkripsi yang disediakan pelanggan. Untuk itu, gunakan Google Cloud CLI atau library klien
Command line
Gunakan perintah gcloud storage objects update
dengan
flag yang sesuai:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --encryption-key=NEW_KEY --decryption-keys=OLD_KEY
Dengan keterangan:
BUCKET_NAME
adalah nama bucket tempat objek yang kuncinya Anda ganti. Contohnya,my-bucket
.OBJECT_NAME
adalah nama objek yang kuncinya Anda diganti. Contohnya,pets/dog.png
.NEW_KEY
adalah kunci enkripsi baru yang disediakan pelanggan yang akan digunakan untuk mengenkripsi objek.OLD_KEY
adalah kunci enkripsi lama yang disediakan pelanggan yang digunakan untuk mengenkripsi objek.
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaan ObjekPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Length: 0" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: NEW_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_NEW_KEY" \ -H "x-goog-copy-source-encryption-algorithm: AES256" \ -H "x-goog-copy-source-encryption-key: OLD_ENCRYPTION_KEY" \ -H "x-goog-copy-source-encryption-key-sha256: HASH_OF_OLD_KEY" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/rewriteTo/b/BUCKET_NAME/o/OBJECT_NAME"
Dengan keterangan:
NEW_ENCRYPTION_KEY
adalah kunci AES-256 baru yang digunakan untuk mengenkripsi objek Anda.HASH_OF_NEW_KEY
adalah hash SHA-256 untuk kunci AES-256 baru Anda.OLD_ENCRYPTION_KEY
adalah kunci AES-256 lama yang digunakan untuk mengenkripsi objek Anda.HASH_OF_OLD_KEY
adalah hash SHA-256 lama untuk kunci AES-256 Anda.BUCKET_NAME
adalah nama bucket tempat objek yang relevan berada. Contohnya,my-bucket
.OBJECT_NAME
adalah nama berenkode URL dari objek yang ingin Anda ganti kuncinya. Contohnya,pets/dog.png
, yang berenkode URL menjadipets%2Fdog.png
.
Lihat Header permintaan enkripsi untuk mendapatkan informasi lebih lanjut tentang header khusus enkripsi.
XML API
XML API tidak mendukung penggantian kunci enkripsi yang disediakan pelanggan melalui penulisan ulang objek. Untuk menerapkan kunci baru yang disediakan pelanggan ke objek menggunakan XML API, Anda harus:
Langkah selanjutnya
Pelajari lebih lanjut tentang kunci enkripsi yang disediakan pelanggan.
Pelajari cara mengganti kunci enkripsi yang disediakan pelanggan ke kunci Cloud KMS