Halaman ini menjelaskan cara membuat dan mengelola kunci API menggunakan API Keys API.
Untuk mengetahui informasi tentang cara menggunakan kunci API dengan panggilan ke Cloud de Confiance by S3NS API, lihat Menggunakan kunci API.
Sebelum memulai
Halaman ini menggunakan curl dan Google Cloud CLI untuk mengirim permintaan ke
API Keys API. Lihat
Mulai menggunakan API Kunci API
untuk mengetahui detail tentang cara menyiapkan eksperimen dengan API.
Membuat kunci API
Anda dapat membuat kunci API menggunakan metode CreateKey. Metode ini memerlukan parameter
Key.
Anda hanya dapat menentukan kolom displayName dan restrictions dari objek Key.
CreateKey bukan metode sinkron. Sebagai gantinya, saat Anda melakukan panggilan
ke CreateKey, Anda akan memulai
operasi yang berjalan lama. Contoh berikut
mengeluarkan panggilan CreateKey untuk membuat kunci API tanpa batasan:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys -X POST -d '{"displayName" : "Example API key"}'Jika berhasil, metode ini akan menampilkan operasi yang berjalan lama dalam respons. Seperti
yang dijelaskan dalam
Polling operasi yang berjalan lama, Anda
berulang kali melakukan panggilan operations.get
dengan nilai dari kolom name. Jika respons dari operations.get
berisi "done": true, objek response berisi Key, mirip dengan
berikut:
{ "name": "operations/akmf.p7-103621867718-06f94db2-7e91-4c58-b826-e6b80e4dc3eb", "done": true, "response": { "@type": "type.googleapis.com/google.api.apikeys.v2.Key", "name": "projects/PROJECT_NUMBER/locations/global/keys/aecd7943-98ff-4ce2-a876-ec1b37c671ca", "displayName": "Example API key", "keyString": "----REDACTED----", "createTime": "2021-03-23T17:39:46.721099Z", "uid": "aecd7943-98ff-4ce2-a876-ec1b37c671ca", "updateTime": "2021-03-23T17:39:47.046746Z", "etag": "k0bsYGkIvSxDVwNxyw49NQ==" } }
Di objek response:
- Kolom
nameberisi ID unik untuk kunci API. Anda menggunakan nilai di kolomnamedalam metode lain yang memerlukan nama kunci. Nilai ini tidak ditampilkan di konsol Cloud de Confiance , tetapi Anda dapat memanggil metodeListKeysuntuk mendapatkannamesuntuk semua kunci API Anda. KolomKey.nameselalu dalam format berikut:projects/PROJECT_NUMBER/locations/global/keys/KEY_ID. - Kolom
displayNamedipetakan ke kolomNamedi konsol Cloud de Confiance , jadi sebaiknya Anda memberikandisplayNamesaat memanggilCreateKey. - Kolom
keyStringberisi string yang Anda kirim ke API yang memerlukan kunci API.keyStringdipetakan ke kolomAPI keydi konsolCloud de Confiance . Anda dapat memanggil metodeGetKeyStringuntuk mendapatkankeyStringuntuk kunci API. - Kolom
etagberisi checksum yang dihitung oleh server berdasarkan nilai kunci saat ini. Teruskan nilaietagsaat Anda memanggil metodeUpdateKeydanDeleteKey.
ID kunci yang ditentukan pengguna
Anda dapat menentukan
keyId
sebagai parameter kueri untuk metode CreateKey. Jika ditentukan, nilai akan menjadi komponen
terakhir dari Key.name.
Misalnya, pertimbangkan panggilan berikut ke CreateKey:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?keyId=my-test-key1 -X POST -d '{"displayName" : "Example API key"}'Untuk contoh ini, kolom Key.name memiliki nilai berikut:
"name": "projects/PROJECT_NUMBER/locations/global/keys/my-test-key1"
Memperbarui nama tampilan
Untuk mengubah displayName kunci API atau menambahkan displayName ke
kunci API yang dibuat tanpa displayName, panggil metode UpdateKey. Saat Anda
memanggil UpdateKey, Anda memulai operasi yang berjalan lama yang memperbarui kunci.
Contoh berikut mengilustrasikan cara memanggil UpdateKey:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID?updateMask=displayName -X PATCH -d '{"displayName": "New display name", "etag" : "ETAG"}'Jika respons dari operations.get berisi "done": true, response
berisi objek Key dengan displayName yang diperbarui.
Menghapus kunci API
Untuk menghapus kunci API, gunakan metode DeleteKey. Saat Anda
memanggil DeleteKey, Anda akan memulai operasi yang berjalan lama yang menandai kunci sebagai
DELETED.
Contoh berikut mengilustrasikan cara memanggil DeleteKey:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID?etag="ETAG" -X DELETE
Jika respons dari operations.get berisi "done": true, response
akan mirip dengan berikut ini:
{ "name": "operations/akmf.cdabc4df-cbff-4420-8c7e-65dc832c945d", "done": true, "response": { "@type": "type.googleapis.com/google.api.apikeys.v2.Key" "name": "projects/PROJECT_NUMBER/locations/global/keys/aecd7943-98ff-4ce2-a876-ec1b37c671ca", "displayName": "Example API key", "keyString": "----REDACTED----", "createTime": "2021-03-23T17:39:46.721099Z", "uid": "aecd7943-98ff-4ce2-a876-ec1b37c671ca", "updateTime": "2021-03-23T17:39:47.046746Z", "deleteTime": "2021-03-24T22:35:37.290544Z", "etag": "k0bsYGkIvSxDVwNxyw49NQ==" } }
Kunci API yang ditandai sebagai DELETED tidak dapat digunakan, tetapi juga tidak sepenuhnya
dihapus dari sistem kami. Untuk mencantumkan kunci API yang masih ada tetapi ditandai sebagai DELETED, tetapkan show_deleted ke benar (true) untuk metode ListKeys:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys?show_deleted=true
Setelah 30 hari, kunci API akan dihapus secara permanen.
Memulihkan kunci API
Untuk memulihkan kunci API sebelum dihapus secara permanen, panggil metode
UndeleteKey. Saat Anda
memanggil UndeleteKey, Anda akan memulai operasi yang berjalan lama yang menandai kunci sebagai
ACTIVE.
Contoh berikut mengilustrasikan cara memanggil UndeleteKey:
gcurl https://apikeys.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/keys/KEY_ID/:undelete -X POST