Autentikasi Cloud Storage

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:

  1. Di Playground OAuth 2.0, klik Cloud Storage API v1, lalu pilih tingkat akses untuk aplikasi Anda (full_control, read_only, atau read_write).

  2. Klik Authorize APIs.

  3. Login ke akun Anda saat diminta. Pada dialog yang muncul, klik Allow.

  4. Pada Langkah 2 playground, klik Exchange authorization code for tokens untuk kode otorisasi yang muncul.

  5. 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