Mengonfigurasi lingkungan pengembangan
Dokumen ini menjelaskan cara mengonfigurasi lingkungan pengembangan API Gateway.
Prasyarat
Sebelum dapat membuat API di API Gateway, Anda harus melakukan hal berikut:
Buat Google Cloud project di mana Anda memiliki peran Editor atau Pemilik. Setelah deployment awal, Anda dapat memberikan peran Service Config Editor yang lebih ketat kepada pengguna, grup, atau akun layanan.
Konfigurasi akun layanan yang digunakan untuk membuat konfigurasi API.
Menyiapkan Google Cloud CLI untuk deployment
Untuk menyiapkan gcloud untuk deployment:
- Menginstal dan melakukan inisialisasi gcloud CLI.
- Update gcloud CLI:
gcloud components update
- Pastikan gcloud CLI diberi otorisasi untuk mengakses data dan layanan Anda:
gcloud auth login
Tab browser baru akan terbuka dan Anda akan diminta untuk memilih akun.
- Tetapkan project default. Ganti PROJECT_ID dengan
Google Cloud project ID Anda:
gcloud config set project PROJECT_ID
Mengaktifkan layanan Google yang diperlukan
API Gateway mengharuskan Anda mengaktifkan layanan Google Cloud berikut:
| Nama | Nama layanan |
|---|---|
| API Gateway API | apigateway.googleapis.com |
| Service Management API | servicemanagement.googleapis.com |
| Service Control API | servicecontrol.googleapis.com |
Untuk mengaktifkan layanan yang diperlukan:
Konsol Google Cloud
Di konsol Google Cloud , buka halaman APIs & Services > API Library.
- Di halaman API Library, masukkan nama API yang diperlukan ke dalam kotak penelusuran.
- Di hasil penelusuran, pilih halaman API.
- Di halaman API, klik Enable.
- Ulangi langkah-langkah ini untuk setiap layanan yang tercantum dalam tabel sebelumnya.
Google Cloud CLI
Gunakan perintah berikut untuk mengaktifkan layanan:
gcloud services enable apigateway.googleapis.comgcloud services enable servicemanagement.googleapis.comgcloud services enable servicecontrol.googleapis.com
Untuk mengetahui informasi selengkapnya tentang layanan gcloud, lihat
Layanan gcloud.
Mengonfigurasi akun layanan yang digunakan untuk membuat konfigurasi API
Konfigurasi API yang di-deploy di gateway dijalankan dengan izin yang terkait dengan akun layanan gateway.
Sebagai praktik terbaik, buat akun layanan terpisah di project yang sama dengan yang Anda gunakan untuk API Gateway. Kemudian, tetapkan hanya izin yang diperlukan untuk mengakses layanan backend ke akun layanan. Dengan begitu, Anda membatasi izin yang terkait dengan konfigurasi API.
Untuk API Gateway, pengguna yang membuat atau mengupdate konfigurasi atau gateway API memerlukan izin iam.serviceAccounts.actAs pada objek akun layanan. Izin ini disertakan dalam peran Service Account User.
Untuk menambahkan peran dan izin yang diperlukan ke akun layanan gateway:
Konsol Google Cloud
-
Di konsol Google Cloud , buka halaman IAM & Admin > Service Accounts.
- Pilih project yang diperlukan atau buat project baru.
- Klik akun layanan yang diperlukan.
- Klik tab Permissions.
- Klik Kelola akses.
- Klik Add role, lalu tetapkan peran
Service Account Userkepada akun utama yang akan mereferensikan akun layanan saat membuat konfigurasi API. - Klik Simpan.
Google Cloud CLI
Peran dan izin dapat ditambahkan ke akun layanan untuk pengguna dengan perintah berikut:
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \ --member user:USER_EMAIL \ --role roles/iam.serviceAccountUser
dengan:
- SERVICE_ACCOUNT_EMAIL adalah email akun layanan, dalam format
SA_NAME@PROJECT_ID.iam.gserviceaccount.com. - USER_EMAIL adalah alamat email pengguna.
Contoh:
gcloud iam service-accounts add-iam-policy-binding my-service-account@my-project.iam.gserviceaccount.com \ --member user:myemail@email.com \ --role roles/iam.serviceAccountUser
Selain itu, akun layanan gateway memerlukan izin yang diperlukan untuk mengakses layanan backend Anda. Contoh:
- Untuk backend Cloud Function, akun layanan harus diberi peran Cloud Functions Invoker.
- Untuk backend Cloud Run, akun layanan harus diberi peran Cloud Run Invoker.
- Untuk backend App Engine, Anda harus mengikuti langkah-langkah di Menyiapkan akses IAP untuk memberikan peran Pengguna Aplikasi Web yang diamankan IAP kepada akun layanan yang terkait dengan gateway Anda.
Dengan membatasi izin yang terkait dengan konfigurasi API, Anda dapat mengamankan sistem backend dengan lebih baik. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Identity and Access Management (IAM).
Setelah membuat akun layanan, gunakan opsi --backend-auth-service-account
untuk menentukan alamat email akun layanan tersebut saat membuat konfigurasi API:
gcloud api-gateway api-configs create CONFIG_ID \ --api=API_ID --openapi-spec=API_DEFINITION \ --backend-auth-service-account=SERVICE_ACCOUNT_EMAIL
Lihat Membuat konfigurasi API untuk mengetahui informasi selengkapnya tentang cara membuat konfigurasi API.
Menggunakan akun layanan default
Beberapa produk menentukan akun layanan default. Google Cloud Misalnya, jika Anda menggunakan Compute Engine dan telah mengaktifkan Compute Engine API untuk project Anda, akun layanan Compute Engine default akan dibuat untuk Anda. Akun layanan default dapat diidentifikasi berdasarkan alamat emailnya:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Jika Anda menetapkan izin yang diperlukan ke akun layanan default, Anda dapat menghilangkan opsi --backend-auth-service-account saat membuat konfigurasi API:
gcloud api-gateway api-configs create CONFIG_ID \ --api=API_ID --openapi-spec=API_DEFINITION
Lihat Akun layanan default Compute Engine untuk mengetahui informasi selengkapnya.
Menggunakan OpenID Connect
Permintaan dari API Gateway ke layanan backend dapat menggunakan autentikasi. Permintaan ini diamankan menggunakan token OpenID Connect (OIDC) yang ditandatangani oleh akun layanan gateway. Anda harus mengonfirmasi bahwa layanan backend Anda dikonfigurasi dengan benar untuk menerima token OIDC untuk autentikasi dan otorisasi. Cloud Run Functions, Cloud Run, dan Identity Aware Proxy (IAP) menyediakan opsi ini.