Mengelola Cloud API dan library di Cloud Code for IntelliJ

Anda dapat mengakses produk dan layanan Google Cloud dari kode Anda menggunakan Cloud API. Cloud API ini menampilkan antarmuka REST JSON sederhana yang dapat Anda panggil melalui library klien.

Dokumen ini menjelaskan cara mengaktifkan Cloud API dan menambahkan Library Klien Cloud ke project Anda.

Jelajahi Cloud API

Untuk menjelajahi semua Google Cloud API yang tersedia di IDE Anda, ikuti langkah-langkah berikut:

  1. Buka Alat > Google Cloud Code > Cloud APIs.

  2. Jendela Manage Google Cloud APIs mengelompokkan Cloud API berdasarkan kategori. Anda juga dapat menggunakan kotak penelusuran Search API untuk menemukan API tertentu.

    Penjelajah Cloud APIs menampilkan daftar Cloud API.

  3. Klik API untuk melihat detail selengkapnya, seperti status, petunjuk penginstalan khusus bahasa untuk library klien terkait, dan dokumentasi yang relevan.

Aktifkan Cloud API

Untuk mengaktifkan Cloud API bagi sebuah project menggunakan detail API, ikuti langkah-langkah berikut:

  1. Dalam tampilan detail Cloud API, pilih project Google Cloud yang Cloud API-nya ingin Anda aktifkan.

  2. Klik Enable API.

    Saat API diaktifkan, pesan akan muncul untuk mengonfirmasi perubahan.

Menambahkan Library Klien Cloud

Untuk menambahkan library ke project Anda di IntelliJ, ikuti langkah-langkah berikut:

Untuk project Java Maven

  1. Buka Tools > Google Cloud Code > Cloud APIs.
  2. Bagian Install Client Library dalam dialog Manage Google Cloud APIs akan menampilkan library yang didukung.

  3. Pilih jenis library pilihan Anda sebagai Library Klien Google Cloud (direkomendasikan untuk sebagian besar project) atau Java Spring Google Cloud (direkomendasikan jika project Anda menggunakan Java Spring).
  4. Ikuti petunjuk selanjutnya dalam Instal Client Library di IDE Anda, jika perlu.
  5. Setelah selesai, klik Close.

Untuk semua project lainnya

  1. Buka Tools > Google Cloud Code > Cloud APIs.
  2. Bagian Install Client Library dalam dialog Manage Google Cloud APIs akan menampilkan library yang didukung.

  3. Untuk menginstal API, ikuti petunjuk penginstalan yang tercantum di halaman detail API untuk bahasa pilihan Anda.

    Jika mengembangkan aplikasi Java, Anda juga harus menentukan preferensi library sebagai Library Klien Google Cloud (direkomendasikan) atau Java Spring Google Cloud.

  4. Setelah selesai, klik Close.

Menggunakan contoh kode API

Untuk menelusuri dan menggunakan contoh kode untuk setiap API di penjelajah API, ikuti langkah-langkah berikut:

  1. Buka Alat > Google Cloud Code > Cloud APIs.

  2. Untuk membuka tampilan detail, klik nama API.

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

  4. Untuk memfilter daftar contoh, ketik teks yang akan ditelusuri atau pilih bahasa pemrograman dari menu drop-down Language.

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

Setelah Anda menyelesaikan langkah-langkah autentikasi yang relevan, aplikasi Anda dapat melakukan autentikasi dan siap untuk di-deploy.

Pengembangan lokal

Komputer lokal

Cloud Code memastikan Anda telah menetapkan Kredensial Default Aplikasi (ADC) jika Anda login ke Google Cloud melalui IDE. Jika Anda tidak login dengan Cloud Code, jalankan gcloud auth application-default login secara manual.

Minikube

  1. Cloud Code memastikan Anda telah menetapkan Kredensial Default Aplikasi (ADC) jika Anda login ke Google Cloud melalui IDE. Jika Anda tidak login dengan Cloud Code, jalankan gcloud auth application-default login secara manual.
  2. Mulai minikube dengan minikube start --addons gcp-auth. Tindakan ini akan memasang ADC di pod Anda. Untuk mengetahui panduan autentikasi minikube yang mendetail untuk Google Cloud, lihat dokumen minikube gcp-auth.

Cluster K8 lokal lainnya

  1. Cloud Code memastikan Anda telah menetapkan Kredensial Default Aplikasi (ADC) jika Anda login ke Google Cloud melalui IDE. Jika Anda tidak login dengan Cloud Code, jalankan gcloud auth application-default login secara manual.
  2. Pasang direktori gcloud lokal di pod Kubernetes dengan mengedit spesifikasi Pod di manifes Pod atau Deployment, sehingga Library Klien Google Cloud dapat menemukan kredensial Anda. 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
        volumeMounts:
          - mountPath: /root/.config/gcloud
            name: gcloud-volume
      volumes:
        - name: gcloud-volume
          hostPath:
            path: /path/to/home/.config/gcloud

Cloud Run

Cloud Code memastikan Anda telah menetapkan Kredensial Default Aplikasi (ADC) jika Anda login ke Google Cloud melalui IDE. Jika Anda tidak login dengan Cloud Code, jalankan gcloud auth application-default login secara manual.

Pengembangan jarak jauh

Google Kubernetes Engine


Bergantung pada cakupan project, Anda dapat memilih cara mengautentikasi layanan Google Cloud di GKE:
  • (Khusus pengembangan)
    1. Buat cluster GKE dengan setelan berikut:
      • Pastikan Anda menggunakan akun layanan yang digunakan GKE secara default, akun layanan default Compute Engine, dan Cakupan akses ditetapkan ke Izinkan akses penuh ke semua Cloud API (kedua setelan tersebut dapat diakses di bagian Kumpulan Node > Keamanan).
        Karena akun layanan Compute Engine digunakan bersama oleh semua workload yang di-deploy pada 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 default Compute Engine:
  • (Direkomendasikan untuk produksi)
    1. Konfigurasikan cluster GKE dan aplikasi Anda dengan Workload Identity untuk mengautentikasi layanan Google Cloud di GKE. Tindakan ini akan mengaitkan akun layanan Kubernetes dengan akun layanan Google Anda.
    2. Konfigurasi Deployment Kubernetes Anda untuk mereferensikan akun layanan Kubernetes dengan menetapkan kolom .spec.serviceAccountName dalam file YAML Deployment Kubernetes.
      Jika Anda mengerjakan aplikasi yang dibuat dari template Cloud Code, file ini berada di folder kubernetes-manifests.
    3. Jika layanan Google Cloud 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, di halaman Service Accounts, pilih project tempat rahasia Anda disimpan.

    Buka halaman Service Accounts

  2. Klik Create service account.
  3. Pada dialog Create service account, masukkan nama deskriptif untuk akun layanan.
  4. Ubah ID akun layanan ke nilai unik yang dapat dikenali, lalu klik Create.
  5. Jika layanan Google Cloud yang ingin Anda akses memerlukan peran tambahan, berikan peran tersebut, klik Continue, lalu klik Done.
  6. Untuk menambahkan akun layanan Kubernetes ke konfigurasi deployment, buka Run > Edit Configurations, lalu tentukan akun layanan Anda di kolom Service Name.

Cloud Run


Bergantung pada cakupan project, Anda dapat memilih cara mengautentikasi layanan Google Cloud di GKE:
  • (Khusus pengembangan)
    1. Buat cluster GKE dengan setelan berikut:
      • Pastikan Anda menggunakan akun layanan yang digunakan GKE secara default, akun layanan default Compute Engine, dan Cakupan akses ditetapkan ke Izinkan akses penuh ke semua Cloud API (kedua setelan tersebut dapat diakses di bagian Kumpulan Node > Keamanan).
        Karena akun layanan Compute Engine digunakan bersama oleh semua workload yang di-deploy pada 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 default Compute Engine:
  • (Direkomendasikan untuk produksi)
    1. Konfigurasikan cluster GKE dan aplikasi Anda dengan Workload Identity untuk mengautentikasi layanan Google Cloud di GKE. Tindakan ini akan mengaitkan akun layanan Kubernetes dengan akun layanan Google Anda.
    2. Untuk menambahkan akun layanan Kubernetes ke konfigurasi deployment, buka Run > Edit Configurations, lalu tentukan akun layanan Kubernetes Anda di kolom Service Name.
    3. Jika layanan Google Cloud yang Anda coba akses memerlukan peran tambahan, berikan peran tersebut untuk akun layanan Google yang Anda gunakan untuk mengembangkan aplikasi:

Pengembangan jarak jauh dengan izin Secret Manager diaktifkan

Jika Anda melakukan pengembangan dari jarak jauh, menggunakan akun layanan untuk autentikasi, dan aplikasi Anda menggunakan secrets, Anda harus menyelesaikan beberapa langkah lagi selain petunjuk pengembangan jarak jauh. Langkah-langkah berikut akan menetapkan peran yang diperlukan pada akun layanan Google Anda untuk mengakses secret Secret Manager tertentu:

  1. Untuk membuka jendela alat Secret Manager, buka Alat > Google Cloud Code > Secret Manager.

  2. Pilih rahasia yang ingin Anda akses dalam kode Anda.

  3. Klik tab Permissions, lalu konfigurasikan izin rahasia Anda dengan mengklik edit Edit Permission.

    Tab Permissions yang dipilih dalam ikon Secret Manager dan Edit Permissions ditandai

    Konsol Google Cloud akan terbuka di jendela baru browser web Anda, yang menampilkan halaman konfigurasi Secret Manager untuk secret Anda.

  4. Di konsol Google Cloud, klik tab Permissions, lalu klik Grant Access.

  5. Di kolom New principals, masukkan akun layanan Anda.

  6. Di kolom drop-down Select a role, pilih peran Secret Manager Secret Accessor.

  7. Jika sudah selesai, klik Simpan.

    Akun layanan Anda memiliki izin untuk mengakses rahasia ini.

Dapatkan dukungan

Untuk mengirimkan masukan atau melaporkan masalah di IntelliJ IDE, buka Alat > Cloud Code > Bantuan / Tentang > Kirim masukan atau laporkan masalah untuk melaporkan masalah di GitHub, atau ajukan pertanyaan di Stack Overflow.