Mengelola Cloud API dan Library Klien Cloud di Cloud Code for VS Code

Untuk mengakses produk dan layanan Google Cloud secara terprogram, Anda menggunakan Cloud API. API ini mengekspos antarmuka REST JSON sederhana. Cara yang direkomendasikan untuk mengakses Cloud API adalah dengan menggunakan Library Klien Cloud.

Cloud Code mempermudah penambahan Library Klien Cloud untuk Cloud API dan bahasa yang Anda gunakan ke project Anda. Di tampilan yang sama, Anda dapat menelusuri contoh untuk setiap API dan dengan mudah menyertakan contoh ke dalam aplikasi Anda.

Menjelajahi Cloud API

Untuk menjelajahi semua Google Cloud API yang tersedia:

  1. Klik Cloud Code, lalu luaskan bagian Cloud API.

    Tampilan Cloud API mengelompokkan Cloud API berdasarkan kategori.

  2. Untuk melihat detail API, klik nama API. Detail seperti nama layanan, status, petunjuk penginstalan untuk library klien, dokumentasi, dan contoh kode akan ditampilkan.

Mengaktifkan Cloud API

Untuk mengaktifkan Cloud API untuk project menggunakan halaman detail API, ikuti langkah-langkah berikut:

  1. Di halaman detail Cloud API, pilih project untuk mengaktifkan Cloud API.
  2. Klik Enable API. Setelah API diaktifkan, pesan akan ditampilkan untuk mengonfirmasi perubahan.

Menambahkan library klien ke project Anda

Selain menjelajahi dan mengaktifkan Cloud API menggunakan Cloud Code, Anda dapat menambahkan library klien khusus bahasa ke project.

Untuk menginstal library klien, ikuti petunjuk di halaman detail API untuk bahasa Anda.

Menggunakan contoh API

Anda dapat menelusuri dan menggunakan contoh kode untuk setiap API di browser API.

  1. Klik Cloud Code, lalu luaskan bagian Cloud API.

  2. Untuk membuka tampilan detail, klik nama API.

  3. Untuk melihat contoh kode untuk API, klik Contoh Kode.

  4. Untuk memfilter daftar contoh, ketik teks untuk ditelusuri atau pilih bahasa pemrograman dari daftar Bahasa.

  5. Untuk melihat sampel, klik nama sampel. Ada juga opsi untuk menyalin contoh ke papan klip atau melihat contoh di GitHub.

Menyiapkan autentikasi

Setelah mengaktifkan API yang diperlukan dan menambahkan library klien yang diperlukan, Anda harus mengonfigurasi aplikasi agar berhasil diautentikasi. Konfigurasi Anda bergantung pada jenis pengembangan dan platform yang Anda gunakan.

Setelah Anda menyelesaikan langkah-langkah autentikasi, aplikasi Anda dapat diautentikasi dan siap di-deploy.

Pengembangan lokal

Mesin lokal

Jika Anda login ke Google Cloud di IDE Anda, Cloud Code akan menetapkan Kredensial Default Aplikasi (ADC) dan Anda dapat melewati langkah ini. Jika Anda login di luar IDE (misalnya, menggunakan gcloud CLI), siapkan ADC dan izinkan library klien melakukan autentikasi melalui ADC dengan menjalankan: Google CloudGoogle Cloud

gcloud auth login --update-adc

minikube

  1. Jika Anda login ke Google Cloud di IDE Anda, Cloud Code akan menetapkan Kredensial Default Aplikasi (ADC) dan Anda dapat melewati langkah ini. Jika Anda login di luar IDE (misalnya, menggunakan gcloud CLI), siapkan ADC dan izinkan library klien melakukan autentikasi melalui ADC dengan menjalankan: Google CloudGoogle Cloud

    gcloud auth login --update-adc
  2. Mulai minikube dengan menjalankan minikube start --addons gcp-auth. Perintah ini memasang ADC Anda di pod Anda. Untuk mengetahui informasi mendetail tentang autentikasi minikube dengan Google Cloud, lihat dokumen gcp-auth minikube.

Cluster K8s lokal lainnya

  1. Jika Anda login ke Google Cloud di IDE Anda, Cloud Code akan menetapkan Kredensial Default Aplikasi (ADC) dan Anda dapat melewati langkah ini. Jika Anda login di luar IDE (misalnya, menggunakan gcloud CLI), siapkan ADC dan izinkan library klien melakukan autentikasi melalui ADC dengan menjalankan: Google CloudGoogle Cloud

    gcloud auth login --update-adc
  2. Untuk memastikan library klien Google Cloud dapat menemukan kredensial Anda, pasang direktori ~/.config/gcloud lokal di pod Kubernetes Anda dengan mengedit manifes deployment.
  3. Tetapkan Google Cloud Project ID Anda sebagai variabel lingkungan bernama GOOGLE_CLOUD_PROJECT.

Contoh konfigurasi pod Kubernetes:

apiVersion: v1
kind: Pod
metadata:
  name: my-app
  labels:
    name: my-app
spec:
  containers:
  - name: my-app
    image: gcr.io/google-containers/busybox
    ports:
      - containerPort: 8080
    env:
    - name: GOOGLE_CLOUD_PROJECT
      value: my-project-id
    volumeMounts:
      - mountPath: /root/.config/gcloud
        name: gcloud-volume
  volumes:
    - name: gcloud-volume
      hostPath:
        path: /path/to/home/.config/gcloud

Cloud Run

Jika Anda login ke Google Cloud di IDE Anda, Cloud Code akan menetapkan Kredensial Default Aplikasi (ADC) dan Anda dapat melewati langkah ini. Jika Anda login di luar IDE (misalnya, menggunakan gcloud CLI), siapkan ADC dan izinkan library klien melakukan autentikasi melalui ADC dengan menjalankan: Google CloudGoogle Cloud

gcloud auth login --update-adc

Pengembangan lokal dengan API yang memerlukan akun layanan

Beberapa API, seperti Cloud Translation API, memerlukan akun layanan dengan izin yang sesuai untuk mengautentikasi permintaan Anda. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola akun layanan. Untuk panduan memulai cepat yang menggunakan akun layanan, lihat Menggunakan Library Klien Cloud di Cloud Code.

  1. Untuk membuka terminal, klik Terminal > New Terminal.

  2. Buat akun layanan untuk mengautentikasi permintaan API Anda:

    gcloud iam service-accounts create \
    SERVICE_ACCOUNT_ID \
    --project PROJECT_ID

    Ganti nilai berikut:

    • SERVICE_ACCOUNT_ID: ID akun layanan
    • PROJECT_ID: the project ID

    Untuk menemukan ID ini, di Google Cloud, klik menu navigasi di kiri atas layar, arahkan kursor ke IAM & Admin, lalu klik akun layanan.

    Kolom Email menampilkan SERVICE_ACCOUNT_ID dan PROJECT_ID unik untuk setiap akun layanan Anda dalam format berikut:

    SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com

    Misalnya: Alamat email akun layanan my-service-account@my-project.iam.gserviceaccount.com memiliki nilai berikut:

    • SERVICE_ACCOUNT_ID: my-service-account
    • PROJECT_ID: my-project
  3. Berikan peran yang sesuai ke akun layanan Anda. Perintah contoh berikut memberikan peran Cloud Translation API User. Untuk menentukan peran yang akan diberikan, lihat dokumentasi untuk Cloud API yang Anda gunakan.

    gcloud projects \
    add-iam-policy-binding \
    PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com' \
    --role='roles/cloudtranslate.user'
  4. Membuat kunci akun layanan:

    gcloud iam service-accounts keys \
    create key.json --iam-account \
    SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
  5. Tetapkan kunci sebagai kredensial default Anda:

    export \
     GOOGLE_APPLICATION_CREDENTIALS=key.json
    
  6. Opsional: Untuk mengizinkan pengguna meniru identitas akun layanan, jalankan perintah gcloud iam service-accounts add-iam-policy-binding untuk memberikan peran Pengguna Akun Layanan kepada pengguna (roles/iam.serviceAccountUser) di akun layanan:

    gcloud iam service-accounts add-iam-policy-binding \
        SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \
        --member="user:USER_EMAIL" \
        --role="roles/iam.serviceAccountUser"

    Ganti nilai berikut:

    • USER_EMAIL: alamat email untuk pengguna

Pengembangan jarak jauh

GKE

Bergantung pada cakupan project, Anda dapat memilih cara mengautentikasi Google Cloud layanan di GKE:

  • (Khusus pengembangan)
    1. Buat cluster GKE dengan setelan berikut:
      • Pastikan Anda menggunakan akun layanan yang digunakan GKE secara default, yaitu akun layanan default Compute Engine, dan Cakupan akses ditetapkan ke Izinkan akses penuh ke semua Cloud API (kedua setelan dapat diakses di bagian Node Pools > Security). Karena akun layanan Compute Engine digunakan bersama oleh semua beban kerja yang di-deploy di node Anda, metode ini menyediakan izin secara berlebihan dan hanya boleh digunakan untuk pengembangan.
      • Pastikan Workload Identity tidak diaktifkan di cluster Anda (di bagian Cluster > Security).
    2. Tetapkan peran yang diperlukan ke akun layanan Anda:
  • (Direkomendasikan untuk produksi)
    1. Konfigurasi cluster dan aplikasi GKE Anda dengan Workload Identity untuk mengautentikasi Google Cloud layanan di GKE. Tindakan ini mengaitkan akun layanan Kubernetes Anda dengan akun layanan Google Anda.
    2. Konfigurasi Deployment Kubernetes Anda untuk mereferensikan akun layanan Kubernetes dengan menyetel kolom .spec.serviceAccountName di file YAML Deployment Kubernetes Anda. Jika Anda mengerjakan aplikasi yang dibuat dari aplikasi contoh Cloud Code, file ini terletak di folder kubernetes-manifests.
    3. Jika Google Cloud layanan yang Anda coba akses memerlukan peran tambahan, berikan peran tersebut untuk akun layanan Google yang Anda gunakan untuk mengembangkan aplikasi:

Cloud Run

  1. Untuk membuat akun layanan unik baru untuk men-deploy aplikasi Cloud Run, buka halaman Akun Layanan, lalu pilih project tempat rahasia Anda disimpan.

    Buka halaman Service Accounts

  2. Klik Create service account.
  3. Di dialog Buat akun layanan, masukkan nama deskriptif untuk akun layanan.
  4. Ubah ID akun layanan menjadi nilai yang unik dan dapat dikenali lalu klik Buat.
  5. Jika Google Cloud layanan yang ingin Anda akses memerlukan peran tambahan, berikan peran, klik Lanjutkan, lalu klik Selesai.
  6. Untuk menambahkan akun layanan ke konfigurasi deployment:
    1. Dengan menggunakan status bar Cloud Code, pilih perintah Cloud Run: Deploy.
    2. Di UI Deployment Cloud Run, di bagian Setelan Revisi, di kolom Akun Layanan, tentukan akun layanan Anda.
    Bagian Advanced revision settings yang diperluas di Cloud Run: Kolom Deploy dan Service Account diisi dengan nama akun layanan dalam format service-account-name@project-name.iam.gserviceaccount.com

Cloud Run

Bergantung pada cakupan project, Anda dapat memilih cara mengautentikasi Google Cloud layanan di GKE:

  • (Khusus pengembangan)
    1. Buat cluster GKE dengan setelan berikut:
      • Pastikan Anda menggunakan akun layanan yang digunakan GKE secara default, yaitu akun layanan default Compute Engine, dan Cakupan akses ditetapkan ke Izinkan akses penuh ke semua Cloud API (kedua setelan dapat diakses di bagian Node Pools > Security). Karena akun layanan Compute Engine digunakan bersama oleh semua beban kerja yang di-deploy di node Anda, metode ini memberikan izin secara berlebihan dan hanya boleh digunakan untuk pengembangan.
      • Pastikan Workload Identity tidak diaktifkan di cluster Anda (di bagian Cluster > Security).
    2. Tetapkan peran yang diperlukan ke akun layanan Anda:
  • (Direkomendasikan untuk produksi)
    1. Konfigurasi cluster dan aplikasi GKE Anda dengan Workload Identity untuk mengautentikasi Google Cloud layanan di GKE. Tindakan ini mengaitkan akun layanan Kubernetes Anda dengan akun layanan Google Anda.
    2. Untuk menambahkan akun layanan ke konfigurasi deployment:
      1. Dengan menggunakan status bar Cloud Code, pilih perintah Cloud Run: Deploy.
      2. Di UI Deployment Cloud Run, di bagian Setelan Revisi, di kolom Akun Layanan, tentukan akun layanan Anda.
      Bagian setelan revisi lanjutan yang diperluas di Cloud Run: Kolom Deploy dan Service Account diisi dengan nama akun layanan Kubernetes dalam format service-account-name@project-name.iam.gserviceaccount.com
    3. Jika Google Cloud layanan yang Anda coba akses memerlukan peran tambahan, berikan peran tersebut untuk akun layanan Google yang Anda gunakan untuk mengembangkan aplikasi Anda:

Pengembangan jarak jauh dengan izin Secret Manager diaktifkan

Jika Anda mengembangkan dari jarak jauh, menggunakan akun layanan untuk autentikasi, dan aplikasi Anda menggunakan secret, Anda perlu menyelesaikan beberapa langkah lagi selain petunjuk pengembangan jarak jauh. Langkah-langkah ini menetapkan peran yang diperlukan ke akun layanan Google Anda untuk mengakses secret Secret Manager tertentu:

  1. Klik Cloud Code, lalu luaskan bagian Secret Manager.

    Secret Manager di Cloud Code terbuka dengan dua secret yang tercantum

  2. Klik kanan rahasia, lalu pilih Edit Izin di Konsol Cloud. Tindakan ini akan meluncurkan halaman konfigurasi Secret Manager untuk secret tersebut di browser web Anda.

    Secret yang diklik kanan di panel Secret Manager

  3. Di konsol Google Cloud , klik Permissions, lalu klik Add.

  4. Di kolom New principals, masukkan nama akun layanan Anda.

  5. Di kolom Select a role, pilih peran Secret Manager Secret Accessor.

  6. Klik Simpan.

    Akun layanan Anda kini memiliki izin untuk mengakses secret tertentu ini.

Dapatkan Dukungan

Untuk mengirim masukan, laporkan masalah di GitHub, atau ajukan pertanyaan di Stack Overflow.