Sebagian besar operasi yang Anda jalankan di Cloud Storage harus
diautentikasi. Satu-satunya pengecualian adalah operasi pada resource yang mengizinkan
akses anonim. Resource memiliki akses anonim jika grup allUsers
disertakan dalam ACL untuk resource atau jika grup allUsers
disertakan dalam
kebijakan IAM yang berlaku untuk resource tersebut. Grup allUsers
mencakup semua orang di Internet.
Autentikasi OAuth 2.0
Cloud Storage menggunakan OAuth 2.0 untuk autentikasi dan otorisasi API. Otentikasi adalah proses untuk menentukan identitas klien. Detail autentikasi dapat bervariasi tergantung pada cara Anda mengakses Cloud Storage, tetapi terbagi dalam dua jenis umum:
Alur yang berfokus pada server memungkinkan aplikasi menyimpan kredensial akun layanan secara langsung untuk menyelesaikan autentikasi. Gunakan alur ini jika aplikasi Anda menggunakan datanya sendiri, bukan data pengguna. Project Google Cloud memiliki akun layanan default yang dapat Anda gunakan, atau Anda dapat membuat akun layanan baru.
Alur yang berfokus pada pengguna memungkinkan aplikasi mendapatkan kredensial dari pengguna akhir. Pengguna login untuk menyelesaikan autentikasi. Gunakan alur ini jika aplikasi Anda perlu mengakses data pengguna. Lihat Kredensial akun pengguna untuk mengetahui skenario yang sesuai dengan alur yang berfokus pada pengguna.
Perlu diingat bahwa Anda dapat menggunakan kedua jenis autentikasi secara bersamaan dalam satu aplikasi. Untuk mengetahui informasi latar belakang selengkapnya tentang autentikasi, lihat Panduan Autentikasi Google Cloud.
Autentikasi antarmuka command line
Jika bekerja dengan Cloud Storage menggunakan Google Cloud CLI, Anda biasanya harus melakukan autentikasi dengan kredensial akun pengguna. Untuk melakukannya, jalankan perintah gcloud auth login
dan ikuti petunjuknya, termasuk login ke akun pengguna Anda. Untuk mengetahui opsi autentikasi tambahan, lihat Mengautentikasi penggunaan gcloud CLI.
Autentikasi library klien
Library klien dapat menggunakan Kredensial Default Aplikasi untuk dengan mudah melakukan autentikasi dengan Google API dan mengirim permintaan ke API tersebut. Dengan Kredensial Default Aplikasi, Anda dapat menguji aplikasi secara lokal dan men-deploy aplikasi tanpa mengubah kode yang mendasarinya. Untuk informasi selengkapnya, lihat Lakukan autentikasi untuk menggunakan library klien.
Google Cloud
Jika Anda menjalankan aplikasi pada layanan yang mendukung akun layanan terlampir, seperti App Engine, Cloud Functions, Cloud Run, atau Compute Engine, lingkungan ini sudah menyediakan informasi otentikasi akun layanan, maka tidak diperlukan pengaturan lebih lanjut. Untuk Compute Engine, cakupan akun layanan bergantung pada cara Anda membuat instance. Lihat Cakupan akses dalam dokumentasi Compute Engine. Untuk App Engine, digunakan cakupan
cloud-platform
.Lingkungan lain
Untuk melakukan inisialisasi lingkungan produksi atau pengembangan lokal Anda, buat akun layanan Google Cloud, download kuncinya, lalu tetapkan variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
untuk menggunakan kunci tersebut. Untuk mengetahui informasi langkah demi langkah, lihat Menyiapkan autentikasi dengan library klien Cloud Storage.
Autentikasi API
Untuk membuat permintaan menggunakan OAuth 2.0 ke XML API
atau JSON API Cloud Storage, sertakan token akses aplikasi Anda dalam
header Authorization
di setiap permintaan yang membutuhkan autentikasi. Anda dapat
membuat token akses dari OAuth 2.0 Playground:
Di Playground OAuth 2.0, klik Cloud Storage API v1, lalu pilih tingkat akses untuk aplikasi Anda (
full_control
,read_only
, atauread_write
).Klik Authorize APIs.
Login ke akun Anda saat diminta. Pada dialog yang muncul, klik Allow.
Pada Langkah 2 playground, klik Exchange authorization code for tokens untuk kode otorisasi yang muncul.
Salin token akses dan sertakan di header
Authorization
permintaan Anda:Authorization: Bearer OAUTH2_TOKEN
Berikut ini adalah contoh permintaan yang mencantumkan objek di bucket.
JSON API
Gunakan metode daftar pada resource Objects.
GET /storage/v1/b/example-bucket/o HTTP/1.1 Host: www.googleapis.com Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg
Untuk mengizinkan permintaan dari command line atau untuk pengujian, Anda dapat menggunakan perintah curl dengan sintaksis berikut:
curl -H "Authorization: Bearer OAUTH2_TOKEN""https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o"
Untuk pengujian lokal, Anda dapat menggunakan
perintah gcloud auth application-default print-access-token
untuk menghasilkan
token.
XML API
Gunakan permintaan Daftar objek.
GET / HTTP/1.1 Host: example-bucket.storage.googleapis.com Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg
Untuk mengizinkan permintaan dari command line atau untuk pengujian, Anda dapat menggunakan perintah curl dengan sintaksis berikut:
curl -H "Authorization: Bearer OAUTH2_TOKEN""https://BUCKET_NAME.storage.googleapis.com"
Untuk pengujian lokal, Anda dapat menggunakan
perintah gcloud auth application-default print-access-token
untuk menghasilkan
token.
Karena rumitnya mengelola dan memuat ulang token akses serta risiko keamanan saat berhadapan langsung dengan aplikasi kriptografi, kami sangat menganjurkan Anda untuk menggunakan library klien terverifikasi.
Jika Anda mencari kunci HMAC untuk digunakan dengan XML API untuk akses interoperabilitas dengan Amazon S3, lihat Mengelola kunci HMAC untuk akun layanan.
Langkah selanjutnya
- Pelajari download berbasis browser menggunakan autentikasi cookie.
- Pelajari cara akun layanan digunakan umumnya di Google Cloud dan khususnya di Cloud Storage
- Pelajari kunci API, yang dapat digunakan untuk mengidentifikasi aplikasi.
- Pelajari cakupan OAuth 2.0 Cloud Storage.