Halaman ini menjelaskan cara membuat, menonaktifkan, dan menghapus kunci Hash-based Message Authentication Code (HMAC) yang terkait dengan akun layanan dalam project Anda.
Sebelum memulai
Sebelum menggunakan fitur ini di Cloud Storage, Anda harus memenuhi persyaratan berikut:
Memiliki izin yang memadai untuk menangani kunci HMAC dalam project yang dipilih:
Jika Anda adalah pemilik project, kemungkinan besar izin yang diperlukan sudah Anda miliki.
Anda harus memiliki izin IAM yang diawali dengan
storage.hmacKeys
untuk project tersebut. Lihat Menggunakan Izin IAM untuk petunjuk tentang cara mendapatkan peran, seperti Admin Kunci HMAC Penyimpanan, yang memiliki izin ini.
Memiliki akun layanan dalam project tempat Anda ingin membuat kunci HMAC. Lihat Membuat akun layanan jika saat ini Anda belum memilikinya.
Menonaktifkan batasan
restrictAuthTypes
untuk autentikasi kunci HMAC. Lihat Membuat dan mengelola kebijakan organisasi untuk petunjuk tentang cara memeriksa dan menonaktifkan batasan.
Membuat kunci HMAC
Cara membuat kunci HMAC untuk akun layanan:
Konsol
- Di konsol Google Cloud, buka halaman Setelan Cloud Storage.
Pilih tab Interoperabilitas.
Klik add_box Buat kunci untuk akun layanan.
Pilih akun layanan yang ingin Anda kaitkan dengan kunci HMAC.
Klik Buat kunci.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di Konsol Google Cloud, lihat Pemecahan masalah.
Command line
Gunakan perintah hmac create
:
gcloud storage hmac create SERVICE_ACCOUNT_EMAIL
Dengan SERVICE_ACCOUNT_EMAIL
yang menjadi alamat email
dari akun layanan Anda. Contohnya,
service-7550275089395@my-pet-project.iam.gserviceaccount.com
.
Jika berhasil, respons akan berisi resource kunci HMAC,
termasuk nilai untuk accessId
dan secret
.
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.
Terraform
Anda dapat menggunakan resource Terraform untuk membuat kunci HMAC. Contoh ini juga menyertakan resource untuk membuat akun layanan.
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 hmacKeysPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys?serviceAccountEmail=SERVICE_ACCOUNT_EMAIL"
Dengan keterangan:
PROJECT_IDENTIFIER
adalah ID atau nomor untuk project yang terkait dengan kunci yang ingin Anda buat. Contohnya,my-pet-project
.SERVICE_ACCOUNT_EMAIL
adalah alamat email dari akun layanan Anda. Contohnya,service-7550275089395@my-pet-project.iam.gserviceaccount.com
.
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 Kunci HMACPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=CreateAccessKey&UserName=SERVICE_ACCOUNT_EMAIL"
Dengan
SERVICE_ACCOUNT_EMAIL
yang menjadi alamat email dari akun layanan Anda. Contoh,service-7550275089395@my-pet-project.iam.gserviceaccount.com
.
Mendapatkan informasi kunci HMAC
Cara menampilkan daftar kunci HMAC untuk project, dan mendapatkan informasi tentang kuncinya:
Konsol
- Di konsol Google Cloud, buka halaman Setelan Cloud Storage.
Pilih tab Interoperabilitas.
Akun layanan yang memiliki kunci HMAC yang terkait akan muncul di subbagian Kunci akses untuk akun layanan di bagian HMAC akun layanan.
Klik nama akun layanan tertentu untuk melihat kunci HMAC yang terkait dengannya dan status kunci tersebut.
Command line
Gunakan perintah
hmac list
untuk menampilkan daftar kunci hmac yang ada dalam project Anda:gcloud storage hmac list
Jika berhasil, perintah tersebut akan menampilkan daftar ID akses kunci hmac, beserta status setiap kunci dan akun layanan yang terkait dengannya.
Gunakan perintah
hmac describe
agar dapat mengambil metadata untuk kunci tertentu:gcloud storage hmac describe KEY_ACCESS_ID
Dengan
KEY_ACCESS_ID
yang menjadi ID akses untuk kunci yang diinginkan.
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.
Contoh berikut mengambil daftar kunci HMAC yang terkait dengan project:
Contoh berikut mengambil informasi untuk kunci HMAC tertentu:
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.
Contoh berikut mengambil daftar kunci HMAC yang terkait dengan project:
Contoh berikut mengambil informasi untuk kunci HMAC tertentu:
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.
Contoh berikut mengambil daftar kunci HMAC yang terkait dengan project:
Contoh berikut mengambil informasi untuk kunci HMAC tertentu:
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.
Contoh berikut mengambil daftar kunci HMAC yang terkait dengan project:
Contoh berikut mengambil informasi untuk kunci HMAC tertentu:
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.
Contoh berikut mengambil daftar kunci HMAC yang terkait dengan project:
Contoh berikut mengambil informasi untuk kunci HMAC tertentu:
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.
Contoh berikut mengambil daftar kunci HMAC yang terkait dengan project:
Contoh berikut mengambil informasi untuk kunci HMAC tertentu:
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.
Contoh berikut mengambil daftar kunci HMAC yang terkait dengan project:
Contoh berikut mengambil informasi untuk kunci HMAC tertentu:
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.
Contoh berikut mengambil daftar kunci HMAC yang terkait dengan project:
Contoh berikut mengambil informasi untuk kunci HMAC tertentu:
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 hmacKeysLIST
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys"
Dengan
PROJECT_IDENTIFIER
adalah ID atau nomor untuk project yang terkait dengan kunci yang ingin Anda tampilkan dalam daftar. Contoh,my-pet-project
.
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 Kunci HMACGET
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=ListAccessKeys&UserName=SERVICE_ACCOUNT_EMAIL"
Dengan
SERVICE_ACCOUNT_EMAIL
yang menjadi alamat email dari akun layanan Anda. Contoh,service-7550275089395@my-pet-project.iam.gserviceaccount.com
.
Memperbarui status kunci HMAC
Cara mengubah status kunci HMAC menjadi aktif atau nonaktif:
Konsol
- Di konsol Google Cloud, buka halaman Setelan Cloud Storage.
Pilih tab Interoperabilitas.
Di subbagian Kunci akses untuk akun layanan, klik nama akun layanan yang terkait dengan kunci HMAC yang statusnya ingin Anda perbarui.
Klik status kunci yang ingin diperbarui.
Jika Anda mengubah status kunci dari Tidak Aktif menjadi Aktif, klik Nonaktifkan di jendela yang muncul.
Jika Anda mengubah status kunci dari Aktif menjadi Tidak aktif, tidak ada langkah tambahan yang diperlukan.
Command line
Gunakan perintah hmac update
:
gcloud storage hmac update ACCESS_KEY_ID STATE
Dengan keterangan:
ACCESS_KEY_ID
adalah ID akses dari kunci yang ingin Anda perbarui statusnya.STATE
adalah--activate
atau--deactivate
.
Jika berhasil, perintah tersebut akan menampilkan metadata kunci HMAC yang telah diperbarui.
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.
Contoh berikut menonaktifkan kunci HMAC:
Contoh berikut mengaktifkan kunci HMAC:
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.
Contoh berikut menonaktifkan kunci HMAC:
Contoh berikut mengaktifkan kunci HMAC:
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.
Contoh berikut menonaktifkan kunci HMAC:
Contoh berikut mengaktifkan kunci HMAC:
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.
Contoh berikut menonaktifkan kunci HMAC:
Contoh berikut mengaktifkan kunci HMAC:
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.
Contoh berikut menonaktifkan kunci HMAC:
Contoh berikut mengaktifkan kunci HMAC:
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.
Contoh berikut menonaktifkan kunci HMAC:
Contoh berikut mengaktifkan kunci HMAC:
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.
Contoh berikut menonaktifkan kunci HMAC:
Contoh berikut mengaktifkan kunci HMAC:
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.
Contoh berikut menonaktifkan kunci HMAC:
Contoh berikut mengaktifkan kunci HMAC:
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Buat file JSON yang berisi informasi berikut:
{"state": "STATE"}
Dengan
STATE
adalah status yang diinginkan untuk kunci. Contohnya,INACTIVE
Gunakan
cURL
untuk memanggil JSON API dengan permintaan hmacKeysPUT
:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys/ACCESS_KEY_ID"
Dengan keterangan:
JSON_FILE_NAME
adalah jalur untuk file yang Anda buat di Langkah 2.PROJECT_IDENTIFIER
adalah ID atau nomor untuk project yang terkait dengan kunci yang ingin Anda perbarui statusnya. Contohnya,my-pet-project
.ACCESS_KEY_ID
adalah ID akses dari kunci yang ingin Anda perbarui statusnya.
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 Kunci HMACPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=UpdateAccessKey&AccessKeyId=ACCESS_KEY_ID&Status=STATUS"
Dengan keterangan:
ACCESS_KEY_ID
adalah ID akses dari kunci yang ingin Anda perbarui statusnya.STATUS
adalah status yang diinginkan untuk kunci. Contohnya,Inactive
.
Setelah status kunci HMAC diubah, perlu waktu hingga 3 menit sebelum status terbaru diterapkan sepenuhnya di sistem Cloud Storage. Oleh sebab itu, Anda harus memberi jeda setidaknya 3 menit antara menonaktifkan kunci HMAC dan menghapus kunci tersebut.
Menghapus kunci HMAC
Kunci HMAC harus berstatus nonaktif agar dapat dihapus Berikut cara menghapus kunci HMAC berstatus nonaktif:
Konsol
- Di konsol Google Cloud, buka halaman Setelan Cloud Storage.
Pilih tab Interoperabilitas.
Di subbagian Kunci akses untuk akun layanan, klik nama akun layanan yang terkait dengan kunci HMAC yang ingin Anda hapus.
Klik ikon Sampah yang terkait dengan kunci yang ingin Anda hapus.
Di dialog yang muncul, masukkan 10 karakter pertama ID kunci akses seperti yang ditampilkan pada jendela.
Klik Hapus.
Command line
Gunakan perintah hmac delete
:
gcloud storage hmac delete ACCESS_KEY_ID
Dengan ACCESS_KEY_ID
yang menjadi ID akses dari
kunci yang ingin Anda hapus.
Jika berhasil, perintah tersebut tidak akan menampilkan respons apa pun.
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 hmacKeysDELETE
:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys/ACCESS_KEY_ID"
Dengan keterangan:
PROJECT_IDENTIFIER
adalah ID atau nomor untuk project yang terkait dengan kunci yang ingin Anda hapus. Contohnya,my-pet-project
.ACCESS_KEY_ID
adalah ID akses dari kunci yang ingin Anda hapus.
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 Kunci HMACPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=DeleteAccessKey&AccessKeyId=ACCESS_KEY_ID"
Dengan
ACCESS_KEY_ID
sebagai ID akses yang terkait dengan kunci yang ingin Anda hapus.
Langkah selanjutnya
- Ikuti panduan untuk bermigrasi dari kunci HMAC akun pengguna ke kunci HMAC akun layanan.
- Gunakan kunci HMAC dalam permintaan terautentikasi.