Untuk mengakses produk dan layanan Google Cloud secara terprogram, Anda menggunakan Cloud API. API ini mengekspos antarmuka REST JSON yang sederhana. Cara yang direkomendasikan untuk mengakses Cloud API adalah dengan menggunakan Library Klien Cloud.
Cloud Code memudahkan penambahan Library Klien Cloud untuk Cloud API dan bahasa yang Anda gunakan ke project. Pada tampilan yang sama, Anda dapat menelusuri contoh untuk setiap API dan dengan mudah menggabungkan contoh ke dalam aplikasi Anda.
Menjelajahi Cloud API
Untuk menjelajahi semua Google Cloud API yang tersedia:
Klik Cloud Code, lalu luaskan bagian Cloud APIs.
Tampilan Cloud APIs mengelompokkan Cloud API menurut kategori.
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
Guna mengaktifkan Cloud APIs untuk project menggunakan halaman detail API, ikuti langkah-langkah berikut:
- Di halaman detail Cloud API, pilih project untuk mengaktifkan Cloud API.
- 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 untuk bahasa tertentu ke project Anda.
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.
Klik Cloud Code, lalu luaskan bagian Cloud APIs.
Untuk membuka tampilan detail, klik nama API.
Untuk melihat contoh kode untuk API, klik Contoh Kode.
Untuk memfilter daftar sampel, ketik teks yang akan ditelusuri atau pilih bahasa pemrograman dari daftar Language.
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 jalankan.
Setelah Anda menyelesaikan langkah-langkah autentikasi, aplikasi Anda dapat melakukan autentikasi dan siap untuk di-deploy.
Pengembangan lokal
Komputer lokal
Jika Anda sudah login ke Google Cloud di IDE, Cloud Code akan menetapkan Kredensial Default Aplikasi (ADC) dan Anda dapat melewati langkah ini. Jika Anda login ke Google Cloud di luar IDE (misalnya, menggunakan gcloud CLI), siapkan ADC Anda dan izinkan library klien Google Cloud melakukan autentikasi melalui ADC dengan menjalankan:
gcloud auth login --update-adc
Minikube
Jika Anda sudah login ke Google Cloud di IDE, Cloud Code akan menetapkan Kredensial Default Aplikasi (ADC) dan Anda dapat melewati langkah ini. Jika Anda login ke Google Cloud di luar IDE (misalnya, menggunakan gcloud CLI), siapkan ADC Anda dan izinkan library klien Google Cloud melakukan autentikasi melalui ADC dengan menjalankan:
gcloud auth login --update-adc
- 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 minikube gcp-auth.
Cluster K8 lokal lainnya
Jika Anda sudah login ke Google Cloud di IDE, Cloud Code akan menetapkan Kredensial Default Aplikasi (ADC) dan Anda dapat melewati langkah ini. Jika Anda login ke Google Cloud di luar IDE (misalnya, menggunakan gcloud CLI), siapkan ADC Anda dan izinkan library klien Google Cloud melakukan autentikasi melalui ADC dengan menjalankan:
gcloud auth login --update-adc
- Untuk memastikan bahwa library klien Google Cloud dapat menemukan kredensial Anda, pasang direktori
~/.config/gcloud
lokal di pod Kubernetes dengan mengedit manifes deployment. - Tetapkan Project ID Google Cloud 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 sudah login ke Google Cloud di IDE, Cloud Code akan menetapkan Kredensial Default Aplikasi (ADC) dan Anda dapat melewati langkah ini. Jika Anda login ke Google Cloud di luar IDE (misalnya, menggunakan gcloud CLI), siapkan ADC Anda dan izinkan library klien Google Cloud melakukan autentikasi melalui ADC dengan menjalankan:
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. Untuk informasi selengkapnya, lihat Membuat dan mengelola akun layanan. Untuk panduan memulai yang menggunakan akun layanan, lihat Menggunakan Library Klien Cloud di Cloud Code.
Untuk membuka terminal, klik Terminal > New Terminal.
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 layananPROJECT_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 Service Accounts.
Kolom Email menampilkan
SERVICE_ACCOUNT_ID
danPROJECT_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
Beri akun layanan Anda peran yang sesuai. Contoh perintah 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'
Membuat kunci akun layanan:
gcloud iam service-accounts keys \ create key.json --iam-account \ SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
Tetapkan kunci sebagai kredensial default:
export \ GOOGLE_APPLICATION_CREDENTIALS=key.json
Opsional: Untuk mengizinkan pengguna meniru identitas akun layanan, jalankan perintah
gcloud iam service-accounts add-iam-policy-binding
untuk memberi pengguna peran Service Account User (roles/iam.serviceAccountUser
) di akun layanan tersebut: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 layanan Google Cloud di GKE:
- (Khusus pengembangan)
- 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 Kumpulan Node > Keamanan). Karena akun layanan Compute Engine digunakan bersama oleh semua workload yang di-deploy pada node Anda, metode ini memberikan izin secara berlebih dan hanya boleh digunakan untuk pengembangan.
- Pastikan bahwa Workload Identity tidak diaktifkan di cluster Anda (di bagian Cluster > Security).
- Tetapkan peran yang diperlukan ke akun layanan Anda:
- Jika Anda mencoba mengakses secret, ikuti langkah-langkah khusus Secret Manager untuk menyiapkan peran yang diperlukan di akun layanan Anda.
- Jika Anda menggunakan akun layanan default Compute Engine, peran IAM yang benar mungkin telah diterapkan.
- Untuk mengetahui daftar jenis peran IAM dan peran bawaan yang dapat Anda berikan untuk identitas, lihat Panduan memahami peran. Untuk mengetahui langkah-langkah dalam memberikan peran, lihat Memberikan, mengubah, dan mencabut akses ke resource.
- Buat cluster GKE dengan setelan berikut:
- (Direkomendasikan untuk produksi)
- Konfigurasikan cluster GKE dan aplikasi Anda dengan Workload Identity untuk mengautentikasi layanan Google Cloud di GKE. Tindakan ini akan mengaitkan akun layanan Kubernetes Anda dengan akun layanan Google Anda.
- Konfigurasi Deployment Kubernetes Anda untuk mereferensikan akun layanan Kubernetes dengan menetapkan kolom
.spec.serviceAccountName
dalam file YAML Deployment Kubernetes Anda. Jika Anda mengerjakan aplikasi yang dibuat dari aplikasi contoh Cloud Code, file ini berada di folder kubernetes-manifests. - Jika layanan Google Cloud yang Anda coba akses memerlukan peran tambahan, berikan peran tambahan tersebut untuk akun layanan Google yang Anda gunakan untuk mengembangkan aplikasi:
- Jika Anda mencoba mengakses secret, ikuti langkah-langkah khusus Secret Manager ini untuk menyiapkan peran yang diperlukan di akun layanan Anda.
- Untuk mengetahui daftar jenis peran IAM dan peran bawaan yang dapat Anda berikan ke identitas, lihat Panduan memahami peran. Untuk mengetahui langkah-langkah dalam memberikan peran, lihat Memberikan, mengubah, dan mencabut akses ke resource.
Cloud Run
- Untuk membuat akun layanan unik baru untuk men-deploy aplikasi Cloud Run, buka halaman Service Accounts, lalu pilih project tempat rahasia Anda disimpan.
- Klik Create service account.
- Pada dialog Create service account, masukkan nama deskriptif untuk akun layanan tersebut.
- Ubah Service account ID menjadi nilai unik yang dapat dikenali, lalu klik Create.
- Jika layanan Google Cloud yang ingin Anda akses memerlukan peran tambahan, berikan peran tersebut, klik Continue, lalu klik Done.
- Untuk menambahkan akun layanan ke konfigurasi deployment:
- Menggunakan status bar Cloud Code, pilih perintah Cloud Run: Deploy.
- Pada Cloud Run Deployment UI, di bagian Revision Settings, pada kolom Service Account, tentukan akun layanan Anda.
Cloud Run
Bergantung pada cakupan project, Anda dapat memilih cara mengautentikasi layanan Google Cloud di GKE:
- (Khusus pengembangan)
- 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 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 bahwa Workload Identity tidak diaktifkan di cluster Anda (di bagian Cluster > Keamanan).
- Tetapkan peran yang diperlukan ke akun layanan Anda:
- Jika Anda mencoba mengakses secret, ikuti langkah-langkah khusus Secret Manager ini untuk menyiapkan peran yang diperlukan di akun layanan Anda.
- Jika Anda menggunakan akun layanan default Compute Engine, peran IAM yang benar mungkin telah diterapkan.
- Untuk mengetahui daftar jenis peran IAM dan peran bawaan yang dapat Anda berikan ke identitas, lihat Panduan memahami peran. Untuk mengetahui langkah-langkah dalam memberikan peran, lihat Memberikan, mengubah, dan mencabut akses ke resource.
- Buat cluster GKE
dengan setelan berikut:
- (Direkomendasikan untuk produksi)
- Konfigurasikan cluster GKE dan aplikasi Anda dengan Workload Identity untuk mengautentikasi layanan Google Cloud di GKE. Tindakan ini akan mengaitkan akun layanan Kubernetes Anda dengan akun layanan Google Anda.
- Untuk menambahkan akun layanan ke konfigurasi deployment:
- Menggunakan status bar Cloud Code, pilih perintah Cloud Run: Deploy.
- Pada Cloud Run Deployment UI, di bagian Revision Settings, pada kolom Service Account, tentukan akun layanan Anda.
- Jika layanan Google Cloud yang Anda coba akses memerlukan peran tambahan, berikan peran tambahan tersebut untuk akun layanan Google yang Anda gunakan untuk mengembangkan aplikasi:
- Jika Anda mencoba mengakses secret, ikuti langkah-langkah khusus Secret Manager ini untuk menyiapkan peran yang diperlukan di akun layanan Anda.
- Untuk mengetahui daftar jenis peran IAM dan peran bawaan yang dapat Anda berikan ke identitas, lihat Panduan memahami peran. Untuk mengetahui langkah-langkah dalam memberikan peran, lihat Memberikan, mengubah, dan mencabut akses ke resource.
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 perlu menyelesaikan beberapa langkah lagi selain petunjuk pengembangan jarak jauh. Langkah-langkah berikut menetapkan peran yang diperlukan untuk mengakses secret Secret Manager tertentu ke akun layanan Google Anda:
Klik Cloud Code, lalu luaskan bagian Secret Manager.
Klik kanan rahasia tersebut dan pilih Edit Permissions in Cloud Console. Tindakan ini akan meluncurkan halaman konfigurasi Secret Manager untuk secret tersebut di browser web Anda.
Di konsol Google Cloud, klik Izin lalu klik Tambahkan.
Di kolom New principals, masukkan nama akun layanan Anda.
Di kolom Select a role, pilih peran Secret Manager Secret Accessor.
Klik Simpan.
Akun layanan Anda sekarang memiliki izin untuk mengakses secret khusus ini.