Kelola kunci API

Halaman ini menjelaskan cara membuat, mengedit, dan membatasi kunci API. Untuk mengetahui informasi tentang cara menggunakan kunci API untuk mengakses Google API, lihat Menggunakan kunci API untuk mengakses API.

Pengantar kunci API

Ada dua jenis kunci API: kunci API standar dan kunci otorisasi. Kedua kunci memungkinkan Anda mengaitkan permintaan dengan project untuk tujuan penagihan dan kuota. Namun, keduanya berbeda dalam hal berikut:

  • Kunci API standar tidak mengautentikasi akun utama.

  • Kunci otorisasi melakukan autentikasi sebagai akun layanan. Token ini beroperasi dengan cara yang serupa dengan token akses yang berlaku lama.

Halaman Credentials di konsol Google Cloud memastikan bahwa jenis kunci API yang benar dibuat untuk API yang dipilih.

Kunci API standar

Kunci API standar menyediakan cara untuk mengaitkan permintaan dengan project untuk tujuan penagihan dan kuota. Saat Anda menggunakan kunci API standar (kunci API yang belum terikat ke akun layanan) untuk mengakses API, kunci API tidak mengidentifikasi akun utama. Tanpa entity utama, permintaan tidak dapat menggunakan Identity and Access Management (IAM) untuk memeriksa apakah pemanggil diotorisasi untuk melakukan operasi yang diminta.

Kunci API standar dapat digunakan dengan API apa pun yang menerima kunci API, kecuali jika pembatasan API telah ditambahkan ke kunci tersebut. Kunci API standar tidak dapat digunakan dengan layanan yang tidak menerima kunci API, termasuk dalam mode ekspres.

Kunci otorisasi

Kunci otorisasi adalah kunci API yang terikat ke akun layanan. Saat Anda menggunakan kunci otorisasi untuk mengakses API, permintaan Anda diproses seolah-olah Anda menggunakan akun layanan terikat untuk membuat permintaan.

API yang mendukung kunci otorisasi mencakup AI Platform (aiplatform.googleapis.com) dan Gemini API (generativelanguage.googleapis.com).

Saat menggunakan kunci otorisasi, perhatikan hal berikut:

Komponen kunci API

Kunci API memiliki komponen berikut, yang memungkinkan Anda mengelola dan menggunakan kunci:

String
String kunci API adalah string terenkripsi, misalnya, AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. Saat menggunakan kunci API untuk mengakses API, Anda akan selalu menggunakan string kunci tersebut. Kunci API tidak memiliki file JSON terkait.
ID
ID kunci API digunakan oleh alat administratif Google Cloud untuk mengidentifikasi kunci secara unik. ID kunci tidak dapat digunakan untuk mengakses API. ID kunci dapat ditemukan di URL halaman edit kunci di konsol Google Cloud . Anda juga bisa mendapatkan ID kunci dengan menggunakan Google Cloud CLI untuk mencantumkan kunci di project Anda.
Nama tampilan
Nama tampilan adalah nama deskriptif opsional untuk kunci, yang dapat Anda tetapkan saat membuat atau mengupdate kunci.
Akun layanan terikat
Kunci otorisasi mencakup alamat email akun layanan.

Sebelum memulai

Selesaikan tugas berikut untuk menggunakan contoh di halaman ini.

Menyiapkan autentikasi

Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

Konsol

Saat menggunakan konsol Google Cloud untuk mengakses layanan Google Cloud dan API, Anda tidak perlu menyiapkan autentikasi.

gcloud

Di konsol Google Cloud , aktifkan Cloud Shell.

Aktifkan Cloud Shell

Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.

C++

Untuk menggunakan contoh C++ di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

  1. Instal Google Cloud CLI.

  2. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  3. Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:

    gcloud auth application-default login

    Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.

    Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.

Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud .

Java

Untuk menggunakan contoh Java di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

  1. Instal Google Cloud CLI.

  2. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  3. Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:

    gcloud auth application-default login

    Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.

    Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.

Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud .

Python

Untuk menggunakan contoh Python di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

  1. Instal Google Cloud CLI.

  2. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  3. Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:

    gcloud auth application-default login

    Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.

    Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.

Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud .

REST

Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

    Instal Google Cloud CLI.

    Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk mengelola kunci API, minta administrator untuk memberi Anda peran IAM berikut di project Anda:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Mengaktifkan kunci otorisasi

Sebelum dapat membuat kunci otorisasi, Anda harus melakukan salah satu hal berikut:

  • Perbarui batasan kebijakan organisasi constraints/iam.managed.disableServiceAccountApiKeyCreation untuk membatasi layanan yang dapat dibuat kunci otorisasi oleh pengguna. Saat membuat kunci otorisasi, pengguna harus menambahkan pembatasan API yang cocok dengan layanan yang diizinkan oleh batasan.

  • Nonaktifkan batasan kebijakan organisasi constraints/iam.managed.disableServiceAccountApiKeyCreation

Mengubah kebijakan organisasi memerlukan resource organisasi. Project tanpa organisasi tidak didukung.

Untuk mengubah batasan kebijakan, selesaikan petunjuk berikut.

Konsol

  1. Di konsol Google Cloud , buka halaman Organization policies.

    Buka Organization policies

  2. Beralihlah ke organisasi, folder, atau project yang ingin Anda ubah kebijakannya.

  3. Di kotak Filter, masukkan Block service, lalu klik nama kebijakan Blokir binding kunci API akun layanan.

  4. Klik Manage policy.

  5. Di bagian Policy source, pilih Override parent's policy.

  6. Klik Add a rule.

  7. Untuk menonaktifkan batasan, setel Penerapan ke Nonaktif.

    Untuk menambahkan layanan ke daftar yang diizinkan, setel Penerapan ke Aktif.

    1. Klik Edit.

    2. Di bagian Jenis nilai, pilih Ditentukan pengguna.

    3. Masukkan layanan yang ingin Anda izinkan untuk membuat kunci API.

  8. Klik Done.

  9. Opsional: Klik Uji perubahan untuk mendapatkan insight tentang kemungkinan pelanggaran atau gangguan kepatuhan yang disebabkan oleh usulan kebijakan.

  10. Klik Setel kebijakan.

gcloud

Untuk menambahkan layanan ke daftar yang diizinkan, lakukan hal berikut:

  1. Buat file bernama spec.yaml dengan konten berikut:

    name: SCOPE/SCOPE_ID/policies/iam.managed.disableServiceAccountApiKeyCreation
    spec:
      rules:
      - enforce: true
        parameters:
          allowedServices:
          - SERVICE_NAME
    

    Berikan nilai berikut:

    • SCOPE: organizations, folders, atau projects.

    • SCOPE_ID: Bergantung pada SCOPE, ID organisasi, folder, atau project tempat kebijakan organisasi diterapkan.

    • SERVICE_NAME: Nama layanan yang ingin Anda izinkan—misalnya, compute.googleapis.com.

  2. Jalankan perintah gcloud berikut untuk mengizinkan pengikatan kunci API ke akun layanan untuk layanan yang ditentukan:

    gcloud org-policies set-policy spec.yaml \
        --update-mask spec
    

Untuk menonaktifkan batasan, lakukan langkah-langkah berikut:

  1. Buat file bernama spec.yaml dengan konten berikut:

    name: SCOPE/SCOPE_ID/policies/iam.managed.disableServiceAccountApiKeyCreation
    spec:
      rules:
      - enforce: false
    
  2. Jalankan perintah gcloud berikut untuk menonaktifkan batasan:

    gcloud org-policies