GSP843

Ringkasan
API dirancang untuk digunakan oleh developer aplikasi, yang memanfaatkannya untuk memberikan pengalaman unik kepada pengguna mereka. Apigee API Platform Google Cloud dapat digunakan untuk memublikasikan API dan menyediakannya agar dapat digunakan oleh developer aplikasi.
Dalam lab ini, Anda akan membuat proxy Apigee API, yang memerlukan verifikasi kunci API untuk membatasi akses ke API tersebut.
Anda akan membuat produk API untuk menyediakan berbagai tingkat layanan bagi developer aplikasi internal dan eksternal. Anda akan menggunakan kebijakan Kuota untuk membatasi jumlah panggilan bagi setiap aplikasi tertentu. Anda akan membuat kebijakan CORS untuk menambahkan fungsionalitas Cross-Origin Resource Sharing (CORS) ke API, yang memungkinkannya dipanggil dari aplikasi web. Kemudian, Anda akan membuat portal developer dan memublikasikan produk API agar dapat digunakan oleh developer aplikasi.
Yang akan Anda pelajari
Dalam lab ini, Anda akan mempelajari cara melakukan tugas berikut:
- Memverifikasi kunci API untuk membatasi akses ke API dan melacak penggunaan aplikasi
- Membuat produk API untuk menyediakan berbagai tingkat akses bagi bermacam developer aplikasi
- Menggunakan kebijakan Kuota untuk membatasi jumlah panggilan untuk aplikasi tertentu berdasarkan produk API yang terlampir
- Menambahkan fungsionalitas Cross-Origin Resource Sharing (CORS) ke API untuk memungkinkan panggilan API lintas origin dari aplikasi web
- Membuat portal developer dan memublikasikan produk API
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
-
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
-
Klik Activate Cloud Shell
di bagian atas Konsol Google Cloud.
-
Klik jendela berikut:
- Lanjutkan melalui jendela informasi Cloud Shell.
- Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:
Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}
gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
- Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
- (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Membuka konsol Apigee
Untuk membuka konsol Apigee:
- Di Konsol Google Cloud, di kolom Search, masukkan
Apigee, lalu klik Apigee API Management di hasil penelusuran.
Konsol Apigee akan terbuka, dan halaman landing akan menampilkan link cepat ke lokasi yang biasa digunakan.
- Di Navigation menu (
), di samping Apigee, klik Favorite (
).
Apigee kini ditambahkan sebagai favorit ke Navigation menu.
Tugas 1. Membuat proxy layanan backend dengan proxy Apigee API
Dalam tugas ini, Anda akan membuat proxy Apigee API yang bertindak sebagai facade untuk layanan backend. Proxy API ini akan menggunakan akun layanan agar dapat menampilkan token identitas OpenID Connect ke layanan Cloud Run.
Layanan backend bernama simplebank-rest telah dibuat dan di-deploy ke Cloud Run.
Membuat proxy Apigee
- Di Cloud Shell, gunakan perintah berikut untuk mengambil URL layanan backend:
gcloud run services describe simplebank-rest --platform managed --region {{{project_0.default_region |REGION}}} --format 'value(status.url)'
Simpan URL ini. URL ini akan digunakan saat membuat proxy API.
-
Di menu navigasi Apigee, pilih Proxy development > API proxies.
-
Untuk membuat proxy baru menggunakan wizard proxy, click +Create.
Anda akan membuat reverse proxy untuk layanan backend Anda.
-
Untuk Proxy template, pilih General template > Reverse proxy (Most common).
Catatan: Jangan gunakan pilihan Reverse proxy (Most common) dalam bagian OpenAPI spec template.
-
Tentukan parameter berikut untuk Proxy details:
| Properti |
Nilai |
| Proxy name |
bank-v1 |
| Base path |
/bank/v1 |
| Target (Existing API) |
URL backend |
Catatan:
Pastikan Anda menggunakan "/bank/v1" untuk base path, bukan "/bank-v1".
Target harus berupa URL backend yang Anda ambil sebelumnya dalam tugas ini, yang terlihat seperti ini:
https://simplebank-rest-mtdtzt7yzq-ue.a.run.app
-
Klik Next.
-
Biarkan setelan Deploy (optional) dalam nilai default-nya, lalu klik Create.
Tugas 2. Menambahkan kebijakan VerifyAPIKey
Dalam tugas ini, Anda akan menambahkan kebijakan VerifyAPIKey ke proxy API. Setiap permintaan yang tidak memberikan kunci API yang valid akan ditolak.
Kebijakan VerifyAPIKey menerapkan verifikasi kunci API saat runtime, sehingga hanya aplikasi dengan kunci API yang disetujui yang dapat mengakses API. Kebijakan ini memastikan bahwa kunci API tersebut valid, belum dicabut, dan disetujui untuk menggunakan resource tertentu yang diminta.
Menambahkan kebijakan VerifyAPIKey
-
Klik tab Develop.
-
Di menu Navigator untuk proxy, klik PreFlow di bagian Proxy Endpoints.
Kebijakan VerifyAPIKey harus diterapkan sejak sangat awal di proxy API. request PreFlow di endpoint proxy default merupakan alur pertama yang dieksekusi saat permintaan masuk ke proxy API.
-
Di panel Flow, klik tombol + Add Policy Step di kanan atas di atas alur permintaan.
-
Pilih Create new policy dan pada select policy di bagian Security, pilih Verify API Key, lalu tetapkan Display Name dan Name ke VAK-VerifyKey.
-
Klik Add.
-
Klik nama VAK-VerifyKey.
Konfigurasi VerifyAPIKey ditampilkan di panel Code di bagian Policies.
Elemen APIKey menunjukkan tempat kunci API disediakan dalam permintaan.
-
Di elemen APIKey, ganti request.queryparam.apikey dengan request.header.apikey.
Kunci API kemungkinan tidak dicatat atau disimpan di histori browser jika ditentukan di header.
Mengubah target untuk mengirim token identitas OpenID Connect
Layanan backend di-deploy untuk mewajibkan akses terautentikasi, sehingga Anda tidak dapat memanggil layanan tanpa token identitas OpenID Connect yang valid.
HTTPTargetConnection menentukan target backend untuk layanan.
-
Di menu Navigator untuk proxy, klik PreFlow di bagian Target Endpoints.
-
Temukan kode berikut (URL Anda akan berbeda):
<HTTPTargetConnection>
<URL>https://simplebank-rest-zce6j3rjwq-uw.a.run.app</URL>
</HTTPTargetConnection>
Catatan:
Jika bagian HTTPTargetConnection tidak terlihat, pastikan Anda telah mengklik PreFlow di bagian Target Endpoints, bukan di bagian Proxy Endpoints.
- Di bawah URL, tambahkan bagian Authentication yang terlihat seperti ini:
<Authentication>
<GoogleIDToken>
<Audience>AUDIENCE</Audience>
</GoogleIDToken>
</Authentication>
- Ganti AUDIENCE dengan nilai URL yang sudah ada di bagian HTTPTargetConnection. Kode Anda kini akan terlihat mirip seperti berikut, kecuali dengan URL spesifik Anda di elemen URL dan Audience:
<TargetEndpoint name="default">
<PreFlow name="PreFlow">
<Request/>
<Response/>
</PreFlow>
<Flows/>
<PostFlow name="PostFlow">
<Request/>
<Response/>
</PostFlow>
<HTTPTargetConnection>
<URL>https://simplebank-rest-zce6j3rjwq-uw.a.run.app</URL>
<Authentication>
<GoogleIDToken>
<Audience>https://simplebank-rest-zce6j3rjwq-uw.a.run.app</Audience>
</GoogleIDToken>
</Authentication>
</HTTPTargetConnection>
</TargetEndpoint>
- Klik Save.
Memastikan instance runtime tersedia
-
Di Cloud Shell, tempel dan jalankan rangkaian perintah berikut:
export INSTANCE_NAME=eval-instance; export ENV_NAME=eval; if [ -z "${GOOGLE_CLOUD_PROJECT}" ]; then echo "Error: GOOGLE_CLOUD_PROJECT environment variable is not set. Please set it to your project ID."; else export PREV_INSTANCE_STATE=; echo "waiting for runtime instance ${INSTANCE_NAME} to be active"; while : ; do export INSTANCE_STATE=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}" | jq "select(.state != null) | .state" --raw-output); [[ "${INSTANCE_STATE}" == "${PREV_INSTANCE_STATE}" ]] || (echo; echo "INSTANCE_STATE=${INSTANCE_STATE}"); export PREV_INSTANCE_STATE=${INSTANCE_STATE}; [[ "${INSTANCE_STATE}" != "ACTIVE" ]] || break; echo -n "."; sleep 5; done; echo; echo "instance created, waiting for environment ${ENV_NAME} to be attached to instance"; while : ; do export ATTACHMENT_DONE=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}/attachments" | jq "select(.attachments != null) | .attachments[] | select(.environment == \"${ENV_NAME}\" or (.environment | endswith(\"/${ENV_NAME}\"))) | .environment" --raw-output); [[ -n "${ATTACHMENT_DONE}" ]] && break; echo -n "."; sleep 5; done; echo; echo "${ENV_NAME} environment attached"; echo "***ORG IS READY TO USE***"; fi
Rangkaian perintah ini menggunakan Apigee API untuk menentukan kapan instance runtime Apigee dibuat dan lingkungan eval dilampirkan.
-
Tunggu hingga instance siap.
Saat teks ***ORG IS READY TO USE*** ditampilkan, instance sudah siap. Organisasi Apigee (org) mungkin telah dibuat sebelum Anda memulai lab, sehingga Anda tidak perlu menunggu hingga instance dibuat.
Sembari menunggu organisasi siap, Anda dapat mempelajari produk API, CORS (cross-origin resource sharing), dan portal developer.
Men-deploy proxy API
-
Di menu navigasi Apigee, pilih Proxy development > API proxies, lalu klik bank-v1.
-
Klik Deploy.
-
Untuk Environment, pilih eval.
-
Untuk Service account, masukkan alamat email akun layanan:
apigee-internal-access@{{{ project_0.project_id | PROJECT }}}.iam.gserviceaccount.com
-
Klik Deploy, lalu klik Confirm.
-
Tunggu hingga status deployment eval menunjukkan bahwa proxy berhasil di-deploy.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat proxy Apigee dan menambahkan kebijakan VerifyAPIKey
Menguji proxy API
Lingkungan eval di organisasi Apigee dapat dipanggil menggunakan nama host eval.example.com. Entri DNS untuk nama host ini telah dibuat dalam project Anda, dan me-resolve alamat IP instance runtime Apigee. Entri DNS ini dibuat di zona pribadi, yang berarti hanya dapat dilihat di jaringan internal.
Cloud Shell tidak berada di jaringan internal, sehingga perintah Cloud Shell tidak dapat me-resolve entri DNS ini. Virtual machine (VM) dalam organisasi Anda dapat mengakses DNS zona pribadi. Virtual machine bernama apigeex-test-vm telah dibuat secara otomatis. Anda dapat menggunakan virtual machine ini untuk memanggil proxy API.
-
Di Cloud Shell, buka koneksi SSH ke VM pengujian Anda:
TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)")
gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite
-
Jika diminta untuk memberikan otorisasi, klik Authorize.
-
Untuk setiap pertanyaan yang diajukan di Cloud Shell, klik Enter atau Return untuk menentukan input default-nya.
Identitas yang Anda gunakan untuk login adalah pemilik project, sehingga SSH ke virtual machine ini diizinkan.
Sesi Cloud Shell Anda kini berjalan di dalam VM.
-
Panggil proxy API bank-v1 yang di-deploy di lingkungan eval:
curl -i -k -X GET "https://eval.example.com/bank/v1/customers"
Opsi -k memberi tahu curl untuk melewati verifikasi sertifikat TLS. Dalam lab ini, runtime Apigee menggunakan sertifikat yang ditandatangani sendiri, bukan sertifikat yang dibuat oleh certificate authority (CA) tepercaya.
Catatan:
Jangan gunakan opsi -k untuk melewati verifikasi sertifikat pada kasus penggunaan produksi.
API ini mencoba mengambil daftar pelanggan. Sekarang, Anda akan melihat respons 401 Unauthorized yang mirip dengan ini:
HTTP/2 401
content-type: application/json
x-request-id: 01e8da87-dc8c-4428-9cdf-8bea84e98860
content-length: 146
date: Tue, 07 Dec 2021 22:54:37 GMT
via: 1.1 google
{"fault":{"faultstring":"Failed to resolve API Key variable request.header.apikey","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}
Respons ini menunjukkan bahwa proxy API telah memblokir akses ke layanan backend karena kunci API tidak diberikan.
-
Masukkan perintah exit untuk keluar dari sesi SSH dan kembali ke Cloud Shell.
Tugas 3. Menambahkan produk API dan aplikasi
Dalam tugas ini, Anda akan menambahkan produk API yang akan memberikan tingkat akses berbeda untuk API Anda. Selanjutnya, Anda akan membuat dua aplikasi dan mengaitkannya ke produk API berbeda, sehingga keduanya memiliki akses yang berbeda.
Membuat produk API pertama
Produk API pertama memberikan akses penuh ke layanan.
-
Di menu navigasi Apigee, pilih Distribution > API Products.
-
Untuk membuat produk API baru, klik +CREATE.
-
Di panel Product details, tentukan parameter berikut:
| Properti |
Nilai |
| Name |
bank-fullaccess |
| Display Name |
bank (full access) |
| Description |
allows full access to bank API |
| Environment |
pilih eval
|
| Access |
pilih Public
|
Biarkan Automatically approve access requests dipilih.
-
Di bagian Operations, klik +Add an Operation.
Operasi digunakan untuk menentukan permintaan mana di proxy API tertentu yang diizinkan untuk aplikasi yang dikaitkan dengan produk API itu.
Catatan:
Pastikan tombol berada di bagian "Operations", bukan bagian "GraphQL Operations".
-
Tentukan parameter berikut:
| Nama |
Nilai |
| Source |
pilih proxy API bank-v1 |
| Path |
/** |
| Methods |
pilih GET, PATCH, POST, PUT, dan DELETE |
Ekspresi jalur "/**" menunjukkan bahwa semua akhiran jalur dengan kedalaman apa pun akan cocok untuk operasi tersebut.
Di lingkungan produksi, Anda mungkin memilih untuk menambahkan setiap operasi yang diizinkan secara terpisah, alih-alih menggunakan ekspresi jalur karakter pengganti ini.
-
Klik Save untuk menyimpan operasi.
-
Di bagian Custom Attributes untuk produk API itu, click +Add Custom Attribute.
Atribut khusus dapat digunakan untuk melampirkan data apa pun yang ingin Anda sediakan di proxy guna mengontrol akses.
Dalam hal ini, karena ini adalah produk API akses penuh untuk Retail API, Anda akan membuat atribut khusus yang menunjukkan bahwa aplikasi yang memanggil API tersebut harus diberi akses penuh.
-
Tentukan parameter berikut:
| Properti |
Nilai |
| Name |
full-access |
| Value |
yes |
-
Klik OK untuk menyimpan atribut khusus.
-
Untuk menyimpan produk API ini, klik Save di bagian atas halaman.
-
Kembali ke halaman Distribution > API Products. Produk API tersebut akan tercantum.
Klik Periksa progres saya untuk memverifikasi tujuan.
Menambahkan produk API dan aplikasi
Membuat produk API yang memberikan akses terbatas
Produk API kedua akan memberikan akses hanya baca ke layanan.
-
Untuk membuat produk API baru, klik +CREATE.
-
Di panel Product details, tentukan parameter berikut:
| Properti |
Nilai |
| Name |
bank-readonly |
| Display Name |
bank (read-only) |
| Description |
allows read-only access to bank API |
| Environment |
pilih eval
|
| Access |
pilih Public
|
Biarkan Automatically approve access requests dipilih.
-
Di bagian Operations, klik +Add an Operation.
Catatan:
Pastikan tombol berada di bagian "Operations", bukan bagian "GraphQL Operations".
-
Tentukan parameter berikut:
| Properti |
Nilai |
| Source |
pilih proxy API bank-v1 |
| Path |
/** |
| Methods |
pilih GET |
-
Klik Save untuk menyimpan operasi.
-
Untuk menyimpan produk API ini, klik Save di bagian atas halaman.
-
Kembali ke halaman Distribution > API Products. Produk API tersebut akan tercantum.
Membuat developer aplikasi
Sebelum membuat aplikasi, Anda harus membuat developer aplikasi.
Catatan:
Developer aplikasi biasanya dibuat menggunakan portal developer, dan Anda akan membuat portal developer dalam lab ini nanti. Untuk saat ini, gunakan konsol Apigee untuk membuat developer.
-
Di menu navigasi Apigee, klik Distribution > Developers.
-
Untuk membuat developer aplikasi baru, klik +CREATE.
-
Tentukan parameter berikut:
| Properti |
Nilai |
| First Name |
Joe |
| Last Name |
Developer |
| Email |
joe@example.com |
| Username |
joe |
-
Klik ADD untuk membuat developer aplikasi.
Membuat aplikasi dengan akses hanya baca
-
Di menu navigasi Apigee, klik Distribution > Apps.
-
Untuk membuat aplikasi baru, klik +CREATE.
-
Di panel App details, tentukan parameter berikut:
| Properti |
Nilai |
| Name |
readonly-app |
| Developer |
pilih Joe Developer |
-
Di panel Credentials, klik + ADD CREDENTIAL, lalu klik + ADD PRODUCTS, pilih bank (read-only), lalu klik Add untuk menambahkannya.
Di bagian Product, klik kotak centang di samping bank (read-only), lalu klik APPROVE
-
Klik Create untuk membuat aplikasi.
Key dan Secret kini dikonfigurasi untuk aplikasi.
-
Di menu navigasi Apigee, klik Distribution > Apps > readonly-app.
-
Di bagian Credentials, klik Show di samping Key.
Ini adalah kunci API yang akan digunakan untuk memanggil API. Anda dapat menyalin kunci ini, tetapi langkah berikutnya akan menggunakan panggilan curl ke Apigee API untuk mengambil kunci API.
Membuat aplikasi dengan akses penuh
-
Di menu navigasi sebelah kiri, klik Distribution > Apps.
-
Untuk membuat aplikasi baru, klik +CREATE.
-
Di panel App details, tentukan parameter berikut:
| Properti |
Nilai |
| Name |
fullaccess-app |
| Developer |
pilih Joe Developer |
-
Di panel Credentials, klik + ADD CREDENTIAL, lalu klik + ADD PRODUCTS, pilih bank (full access), lalu klik Add untuk menambahkannya.
Di bagian Product, klik kotak centang di samping bank (full-access), lalu klik APPROVE
-
Klik Create untuk membuat aplikasi.
-
Di menu navigasi Apigee, klik Distribution > Apps > fullaccess-app.
-
Di bagian Credentials, klik Show di samping Key.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat produk API yang memberikan akses terbatas
Melakukan pengujian dengan kunci API
-
Di Cloud Shell, buka koneksi SSH ke VM pengujian Anda:
TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)")
gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite
-
Jika diminta untuk memberikan otorisasi, klik Authorize.
Sesi Cloud Shell Anda kini berjalan di dalam VM.
-
Untuk mendapatkan kunci API aplikasi hanya baca, jalankan perintah berikut:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null)
echo "PROJECT_ID=${PROJECT_ID}"
export API_KEY=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${PROJECT_ID}/developers/joe@example.com/apps/readonly-app" | jq ".credentials[0].consumerKey" --raw-output)
echo "API_KEY=${API_KEY}"
Perintah pertama membaca konfigurasi gcloud untuk mendapatkan project saat ini. Perintah kedua mengambil kunci API menggunakan Apigee API. Permintaan diizinkan karena Anda mengirim token akses yang memiliki izin pengguna yang login.
-
Panggil proxy API bank-v1 yang di-deploy di lingkungan eval, menggunakan kunci API palsu:
curl -i -k -X GET -H "apikey: ABC123" "https://eval.example.com/bank/v1/customers"
Responsnya adalah 401 Unauthorized dengan kesalahan yang menunjukkan bahwa kunci API tersebut tidak valid.
-
Panggil proxy API bank-v1 yang di-deploy di lingkungan eval, menggunakan kunci API sebenarnya:
curl -i -k -X GET -H "apikey: ${API_KEY}" "https://eval.example.com/bank/v1/customers"
Permintaan diizinkan, dan responsnya berisi daftar pelanggan.
-
Lakukan panggilan lain ke proxy API bank-v1 yang di-deploy di lingkungan eval, sekali lagi menggunakan kunci API sebenarnya:
curl -i -k -X POST -H "apikey: ${API_KEY}" -H "Content-Type: application/json" "https://eval.example.com/bank/v1/customers" -d '{"firstName": "Julia", "lastName": "Dancey", "email": "julia@example.org"}'
Kali ini, responsnya adalah 401 Unauthorized dengan kesalahan yang menunjukkan bahwa kunci API tersebut tidak valid untuk resource yang ditentukan. Permintaan ditolak karena kunci API yang diberikan terkait dengan produk API hanya baca, yang tidak mengizinkan permintaan POST.
-
Masukkan exit untuk keluar dari sesi SSH virtual machine.
Tugas 4. Menerapkan kuota
Dalam tugas ini, Anda akan menambahkan kebijakan Kuota untuk membatasi jumlah permintaan yang akan diizinkan per aplikasi selama jangka waktu tertentu. Kebijakan Kuota akan menggunakan konfigurasi kuota yang telah ditentukan dalam produk API.
Menambahkan kebijakan kuota
-
Di menu navigasi Apigee, pilih Proxy development > API Proxies, lalu klik bank-v1.
-
Klik tab Develop.
-
Di menu Navigator untuk proxy, klik PreFlow di bagian Proxy Endpoints.
Kebijakan Kuota akan memverifikasi bahwa kuota untuk aplikasi tertentu belum terlampaui. Jika batasnya telah tercapai, kebijakan Kuota akan menampilkan kesalahan, dan permintaan akan dibatalkan. Jika batasnya belum tercapai, jumlah permintaan yang diizinkan akan dikurangi.
Kebijakan Kuota menentukan aplikasi pemanggil berdasarkan variabel yang diisi oleh kebijakan VerifyAPIKey. Oleh karena itu, kebijakan Kuota harus ditempatkan setelah kebijakan VerifyAPIKey.
-
Di panel Flow, klik tombol + Add Policy Step di kanan atas di atas alur permintaan.
-
Pilih Create new policy, lalu pada select policy di bagian Traffic Management, pilih Quota, lalu tetapkan Display Name dan Name ke Q-EnforceQuota.
-
Klik Add.
-
Klik nama Q-EnforceQuota.
Konfigurasi Quota ditampilkan di panel Code.
-
Ubah konfigurasi Kuota menjadi:
<Quota continueOnError="false" enabled="true" name="Q-EnforceQuota" type="calendar">
<Identifier ref="client_id"/>
<UseQuotaConfigInAPIProduct stepName="VAK-VerifyKey">
<DefaultConfig>
<Allow>2</Allow>
<Interval>1</Interval>
<TimeUnit>hour</TimeUnit>
</DefaultConfig>
</UseQuotaConfigInAPIProduct>
<Distributed>true</Distributed>
<Synchronous>true</Synchronous>
<StartTime>2021-01-01 00:00:00</StartTime>
</Quota>
Anda akan menggunakan produk API ini untuk menentukan tarif yang diizinkan. stepName dalam elemen UseQuotaConfigInAPIProduct menetapkan langkah mana yang akan menentukan produk API.
Saat divalidasi, kunci API atau token OAuth dapat dikaitkan dengan aplikasi yang terkait dengan suatu produk API. Dengan setelan kebijakan ini, langkah VerifyAPIKey yang disebut VAK-VerifyKey akan menentukan produk API itu. Kebijakan VerifyAPIKey harus dijalankan sebelum kebijakan Q-EnforceQuota.
Nilai konfigurasi default yang ditentukan dalam kebijakan Kuota menentukan maksimum 2 permintaan (Allow) per 1 bulan (Interval) (TimeUnit). Nilai default hanya akan digunakan jika nilai tersebut tidak tersedia. Hal ini hanya akan terjadi jika setelan kuota tidak ditetapkan untuk produk API yang terkait dengan kunci API itu.
-
Klik Save. Jika Anda diberi tahu bahwa proxy tersebut telah disimpan sebagai revisi baru, klik SAVE AS NEW REVISION.
-
Klik Deploy
-
Untuk Service account, masukkan alamat email akun layanan:
apigee-internal-access@{{{ project_0.project_id | PROJECT }}}.iam.gserviceaccount.com
-
Klik Deploy, lalu klik Confirm.
-
Klik tab Overview, lalu tunggu hingga status deployment eval menunjukkan bahwa proxy berhasil di-deploy.
Menambahkan konfigurasi kuota untuk produk API akses penuh
- Di menu navigasi Apigee, pilih Distribution > API Products, lalu klik bank (full access).
- Klik Edit.
- Pada baris bank-v1 di bagian Operations, klik ikon menu Actions (
), lalu pilih Edit.
- Tetapkan kuota operasi ke 5 requests every 1 minute, lalu klik Save untuk menyimpan operasi.
Catatan:
Pastikan Anda mengedit kuota yang dikonfigurasi dalam operasi tersebut.
- Klik Save untuk menyimpan produk API.
Klik Periksa progres saya untuk memverifikasi tujuan.
Menerapkan kuota
Memulai sesi debug
Debug adalah alat untuk memecahkan masalah dan memantau proxy API yang berjalan di Apigee. Dengan alat Debug, Anda dapat memeriksa detail setiap langkah selama panggilan API.
-
Di menu navigasi Apigee, pilih Proxy development > API Proxies, lalu klik bank-v1.
-
Klik tab Debug.
-
Klik Start a debug session.
-
Di panel Start a debug session, pilih eval pada dropdown lingkungan.
-
Klik Start.
Mungkin perlu waktu beberapa saat sebelum sesi debug mulai mencatat permintaan.
Catatan:
Jika Anda mendapatkan pesan error dalam kotak merah di dekat bagian atas layar, dengan deskripsi seperti “Error fetching debug transactions” atau “List debug session transaction error”, sesi debug Anda mungkin masih berfungsi dengan benar.
Anda akan membuat permintaan API, lalu memeriksa sesi debug.
Menguji kuota
-
Di Cloud Shell, buka koneksi SSH ke VM pengujian Anda:
TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)")
gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite
-
Jika diminta untuk memberikan otorisasi, klik Authorize.
Sesi Cloud Shell Anda kini berjalan di dalam VM.
-
Untuk mendapatkan kedua kunci API, jalankan perintah berikut:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null)
echo "PROJECT_ID=${PROJECT_ID}"
export API_KEY_READONLY=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${PROJECT_ID}/developers/joe@example.com/apps/readonly-app" | jq ".credentials[0].consumerKey" --raw-output)
echo "API_KEY_READONLY=${API_KEY_READONLY}"
export API_KEY_FULL=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${PROJECT_ID}/developers/joe@example.com/apps/fullaccess-app" | jq ".credentials[0].consumerKey" --raw-output)
echo "API_KEY_FULL=${API_KEY_FULL}"
-
Kirim permintaan ini berulang-ulang sampai Anda mendapatkan kegagalan kuota:
curl -i -k -X GET -H "apikey: ${API_KEY_READONLY}" "https://eval.example.com/bank/v1/customers"
Catatan:
Untuk mengulangi perintah di Cloud Shell atau sesi SSH dengan cepat, klik tombol panah Atas, lalu tekan RETURN atau ENTER.
Pelanggaran kuota Anda akan terlihat seperti ini:
{"fault":{"faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : bKSV3nOz2JS5Z58sWMh2RBnnwWeEeNK2N2G6HMCESgLGDLFI","detail":{"errorcode":"policies.ratelimit.QuotaViolation"}}}
-
Kembali ke tab UI Apigee.
Anda akan melihat beberapa permintaan 200 dan satu permintaan 429.
Klik permintaan 200. Peta transaksi menampilkan ikon pabrik di sisi kanan, yang menunjukkan bahwa backend telah dipanggil.
-
Di panel Sesi debug, klik panah kiri (<) di kiri atas.
-
Di menu navigasi Apigee, pilih Proxy development > API Proxies, lalu klik bank-v1.
-
Klik tab Debug.
-
Klik Start Debug Session untuk memulai sesi Debug baru.
-
Kembali ke sesi SSH, lalu kirim permintaan ini berulang-ulang menggunakan kunci API akses penuh hingga Anda mendapatkan kegagalan kuota:
date; curl -i -k -X GET -H "apikey: ${API_KEY_FULL}" "https://eval.example.com/bank/v1/customers"
Kali ini, Anda akan dapat mengirim setidaknya 5 permintaan sebelum ditolak dengan respons 429. Kuota untuk produk API akses penuh adalah 5 permintaan per menit. Kuota direset saat bagian detik pada waktunya direset ke nol. Perintah di atas akan mencetak waktu sebelum panggilan API dilakukan, sehingga Anda dapat melihat perkiraan waktu kapan kuota direset.
-
Masukkan exit untuk keluar dari sesi SSH virtual machine.
-
Kembali ke tab UI Apigee.
Jika Anda memilih sebuah permintaan dan mengklik ikon kuota, Anda dapat melihat bahwa variabel kuota VAK-VerifyKey kini menunjukkan 5 permintaan per 1 menit.
Tugas 5. Menambahkan CORS ke proxy API
Dalam tugas ini, Anda akan menambahkan CORS (cross-origin resource sharing) ke proxy bank-v1.
CORS adalah protokol yang menggunakan header HTTP untuk menunjukkan kepada browser aman tidaknya mengakses resource yang dibatasi dari domain terpisah. Secara default, permintaan lintas domain dilarang oleh kebijakan keamanan origin yang sama. Kebijakan origin yang sama melindungi pengguna browser agar tidak berbagi informasi sesi secara tidak sengaja dengan pihak tidak bertanggung jawab.
Kebijakan origin yang sama menunjukkan bahwa halaman web yang ditayangkan dari www.contoh.com secara default tidak dapat melakukan panggilan ke API di api.contoh.com karena nama host-nya berbeda. CORS dapat digunakan untuk mengizinkan akses lintas origin semacam ini.
Anda akan memerlukan CORS di bank API untuk portal developer. Portal developer Apigee memiliki nama domain *.apigee.io, dan API diakses melalui domain berbeda. Agar dapat memanggil API dari dokumentasi ini, Anda harus menambahkan header CORS ke semua respons API, termasuk respons error.
CORS juga menggunakan permintaan preflight. Browser mengirim permintaan preflight menggunakan kata kerja OPTIONS untuk mencari tahu apakah panggilan berikutnya akan diizinkan.
Kebijakan CORS dapat menangani semua fungsi CORS.
Untuk mengetahui informasi selengkapnya tentang CORS, lihat dokumentasi Apigee CORS.
Menambahkan kebijakan CORS
-
Di menu navigasi Apigee, pilih Proxy development > API Proxies, lalu klik bank-v1.
-
Klik tab Develop.
-
Di menu Navigator untuk proxy, klik PreFlow di bagian Proxy Endpoints.
-
Di panel Flow, klik tombol + Add Policy Step di kanan atas di atas alur permintaan.
-
Pilih Create new policy, lalu pada select policy di bagian Security, pilih CORS, dan tetapkan Display Name serta Name ke CORS.
-
Klik Add.
Konfigurasi kebijakan CORS ditampilkan di bawah panel Flow.
AllowOrigins mencantumkan origin yang diizinkan. Konfigurasi default-nya mengizinkan semua Origin, karena origin yang diizinkan ditetapkan sama dengan Origin yang diteruskan dalam permintaan. Dalam kasus penggunaan produksi yang umum, Anda mungkin hanya mengizinkan permintaan dari nama host tertentu.
AllowMethods menentukan metode yang diizinkan untuk API.
AllowHeaders mencantumkan header yang dapat diteruskan dalam permintaan.
ExposeHeaders menentukan header dalam respons yang harus diizinkan saat dipanggil dengan sebuah Origin. Dengan nilai default *, tidak ada header respons yang akan dihapus dari respons.
MaxAge menentukan berapa lama respons preflight dapat di-cache oleh browser, dalam detik.
AllowCredentials menunjukkan apakah header Otorisasi, sertifikat klien TLS, atau cookie dapat dikirim dalam permintaan.
GeneratePreflightResponse menentukan apakah permintaan preflight dengan metode OPTIONS akan ditangani.
-
Klik nama CORS.
-
Ganti konfigurasi AllowHeaders dengan:
<AllowHeaders>origin, x-requested-with, accept, content-type, apikey</AllowHeaders>
API Anda menggunakan header apikey untuk menentukan kunci API, sehingga API tersebut harus ditambahkan agar dapat dipanggil dari browser.
-
Ganti nilai MaxAge dengan -1.
Tindakan ini akan menonaktifkan caching respons preflight di browser, sehingga Anda akan selalu melihat permintaan preflight. Dalam kasus penggunaan produksi, Anda biasanya akan mengizinkan caching respons untuk menghindari pembuatan dua panggilan per permintaan.
-
Di menu Navigator untuk proxy, klik PreFlow di bagian Proxy Endpoints.
Setelah kebijakan CORS ditambahkan, kebijakan tersebut akan otomatis ditambahkan di akhir alur. Namun, untuk permintaan preflight, kunci API tidak diperlukan.
-
Pindahkan kebijakan CORS sebelum kebijakan VAK-VerifyKey dengan mengedit konfigurasi PreFlow. Ganti:
<PreFlow name="PreFlow">
<Request>
<Step>
<Name>VAK-VerifyKey</Name>
</Step>
<Step>
<Name>Q-EnforceQuota</Name>
</Step>
<Step>
<Name>CORS</Name>
</Step>
</Request>
<Response/>
</PreFlow>
dengan:
<PreFlow name="PreFlow">
<Request>
<Step>
<Name>CORS</Name>
</Step>
<Step>
<Name>VAK-VerifyKey</Name>
</Step>
<Step>
<Name>Q-EnforceQuota</Name>
</Step>
</Request>
<Response/>
</PreFlow>
-
Klik Save. Jika Anda diberi tahu bahwa proxy tersebut telah disimpan sebagai revisi baru, klik SAVE AS NEW REVISION.
-
Klik Deploy.
-
Untuk Service account, masukkan alamat email akun layanan:
apigee-internal-access@{{{ project_0.project_id | PROJECT }}}.iam.gserviceaccount.com
-
Klik Deploy, lalu klik Confirm.
-
Klik tab Overview, lalu tunggu hingga status deployment eval menunjukkan bahwa proxy berhasil di-deploy.
Klik Periksa progres saya untuk memverifikasi tujuan.
Menambahkan CORS ke proxy API
Memulai sesi debug
-
Klik tab Debug.
-
Klik Start a debug session.
-
Di panel Start a debug session, pilih eval pada dropdown lingkungan.
-
Klik Start.
Mungkin perlu waktu beberapa saat sebelum sesi debug mulai mencatat permintaan.
Menguji fungsionalitas CORS
-
Di Cloud Shell, buka koneksi SSH ke VM pengujian Anda:
TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)")
gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite
-
Jika diminta untuk memberikan otorisasi, klik Authorize.
Sesi Cloud Shell Anda kini berjalan di dalam VM.
-
Untuk mendapatkan kunci API, jalankan perintah berikut:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null)
echo "PROJECT_ID=${PROJECT_ID}"
export API_KEY=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${PROJECT_ID}/developers/joe@example.com/apps/fullaccess-app" | jq ".credentials[0].consumerKey" --raw-output)
echo "API_KEY=${API_KEY}"
-
Buat permintaan untuk mengambil daftar pelanggan:
curl -i -k -X GET -H "apikey: ${API_KEY}" "https://eval.example.com/bank/v1/customers"
Origin tidak ada, sehingga fungsionalitas CORS dilewati. Pastikan header Access-Control-Allow-Origin tidak ditampilkan.
-
Buat permintaan lain, tetapi kali ini sertakan header Origin. Tindakan ini akan menguji permintaan CORS normal:
curl -i -k -X GET -H "Origin: https://www.example.com" -H "apikey: ${API_KEY}" "https://eval.example.com/bank/v1/customers"
Header access-control-* ditampilkan karena Origin disediakan.
-
Buat permintaan preflight:
curl -i -k -X OPTIONS -H "Origin: https://www.example.com" -H "Access-Control-Request-Method: POST" -H "Access-Control-Request-Headers: Content-Type,apikey" "https://eval.example.com/bank/v1/customers"
Kebijakan CORS menetapkan header preflight dalam respons dan memblokir permintaan agar tidak berlanjut ke backend.
Jika saat Anda kembali ke UI Apigee panggilan OPTIONS terlihat di alat Debug, Anda dapat mengonfirmasi bahwa kebijakan CORS tidak mengizinkan panggilan diteruskan ke layanan backend.
-
Masukkan exit untuk keluar dari sesi SSH virtual machine.
Tugas 6. Mendownload dan mengubah spesifikasi OpenAPI
Dalam tugas ini, Anda akan mendownload dan mengubah spesifikasi OpenAPI yang menentukan antarmuka proxy API Anda.
Spesifikasi OpenAPI akan digunakan saat memublikasikan proxy API Anda ke portal developer.
Mendownload dan mengedit spesifikasi OpenAPI
-
Di Cloud Shell, jalankan perintah ini guna mendownload spesifikasi OpenAPI untuk proxy API Anda:
curl https://storage.googleapis.com/spls/shared/firestore-simplebank-data/dev-portal/simplebank-spec.yaml?$(date +%s) --output ~/simplebank-spec.yaml
Perintah curl ini akan mendownload file bernama simplebank-spec.yaml dan menyimpannya dalam file dengan nama yang sama di direktori beranda.
Catatan:
"?$(date +%s)" menambahkan parameter kueri ke URL yang merupakan representasi string tanggal/waktu saat ini. Variabel yang berubah secara dinamis ini mengubah URL dan memaksa curl mengambil versi terbaru file, meskipun versi sebelumnya di-cache.
-
Di Cloud Shell, klik Open Editor, lalu klik Open in new window jika perlu.

-
Di editor, pilih file simplebank-spec.yaml.
Spesifikasi OpenAPI ini menentukan antarmuka proxy API yang telah Anda buat dalam lab ini. Spesifikasi ini akan digunakan untuk menyediakan dokumentasi live di portal developer.
Portal developer mengakses proxy Apigee dari jaringan eksternal. Nama host yang telah Anda gunakan, eval.example.com, hanya tersedia di jaringan internal.
Load balancer telah disediakan untuk memberikan akses eksternal ke proxy API. Akses eksternal menggunakan nama host yang disediakan oleh nip.io, yang merupakan penyedia DNS karakter pengganti.
Nama host eksternal akan terlihat seperti ini:
eval.60.70.80.90.nip.io
Nama host ini telah ditentukan sebagai nama host yang cocok untuk grup lingkungan eval-group.
-
Di Cloud Shell, gunakan perintah berikut untuk mengambil setelan eval-group:
curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/envgroups/eval-group"
Array nama host berisi dua nama host: satu tanpa alamat IP (eval.example.com) dan satu dengan alamat IP (mirip dengan eval.60.70.80.90.nip.io). Anda akan menggunakan nama host yang berisi alamat IP dalam spesifikasi OpenAPI.
-
Di editor, ganti nama host pada baris 10:
eval.<IPADDR>.nip.io
Setelah Anda mengganti nama host di URL server, baris 10 akan terlihat seperti ini:
- url: "https://eval.60.70.80.90.nip.io/bank/v1"
-
Klik File > Save.
-
Klik kanan simplebank-spec.yaml > Download.
Tindakan ini akan mendownload file ke komputer lokal Anda. Anda akan menggunakan spesifikasi yang diperbarui ini dengan portal developer.
Tugas 7. Membuat portal developer dan memublikasikan API ke portal tersebut
Dalam tugas ini, Anda akan membuat portal developer terintegrasi, lalu memublikasikan API Anda ke portal tersebut.
Membuat portal developer terintegrasi
-
Di menu navigasi Apigee, pilih Distribution > Portals, lalu klik + CREATE.
-
Masukkan bank sebagai nama, lalu klik Create.
Proses pembuatan mungkin perlu waktu sebentar, lalu halaman ringkasan portal akan terbuka.
-
Jika pesan “Enroll in beta for team and audience management features” ditampilkan, klik Enroll.
Memublikasikan API ke portal
-
Di menu navigasi Apigee, pilih Distribution > Portals, lalu klik bank.
-
Klik + API.
-
Pilih bank (full access) sebagai produk API.
-
Sesuaikan detail API:
| Properti |
Nilai |
| Published (listed in the catalog) |
telah dipilih |
| Display title |
SimpleBank |
| Display description |
SimpleBank API v1 |
| API visibility |
pilih Public (visible to anyone) |
Published menjadikan API terlihat di portal, dan visibilitas Public memungkinkan API terlihat meskipun pengguna tidak login ke portal.
-
Klik Select di Display Image, lalu klik URL.
-
Tetapkan URL gambar ke:
https://storage.googleapis.com/spls/shared/firestore-simplebank-data/dev-portal/piggy-bank.png
Anda akan melihat gambar celengan dengan mengklik PREVIEW.
-
Klik Select.
-
Di bagian API documentation, pilih OpenAPI document.
-
Klik Select di Select File.
-
Klik Browse, lalu pilih file spesifikasi OpenAPI yang Anda download dari Cloud Shell (simplebank-spec.yaml).
-
Klik Select.
-
Klik Save.
-
Untuk membuka portal developer di tab baru, klik VIEW LIVE PORTAL di pojok kanan atas.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat portal developer dan memublikasikan API ke portal tersebut
Memulai sesi Debug
- Kembali ke menu navigasi Apigee, pilih Proxy development > API Proxies, lalu klik bank-v1.
- Klik tab Debug.
- Di panel Start a debug session, pilih eval pada dropdown lingkungan.
- Klik Start.
Menguji API menggunakan portal developer
-
Di Cloud Shell, jalankan perintah berikut untuk mendapatkan kunci API akses penuh:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null)
echo "PROJECT_ID=${PROJECT_ID}"
export API_KEY=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${PROJECT_ID}/developers/joe@example.com/apps/fullaccess-app" | jq ".credentials[0].consumerKey" --raw-output)
echo "API_KEY=${API_KEY}"
Salin kunci API ini ke papan klip.
-
Kembali ke tab Live Portal, lalu klik APIs.
-
Klik celengan.
SimpleBank API ditampilkan.
-
Klik Authorize.
-
Tempel kunci API sebagai Key.
-
Klik Authorize, lalu klik OK.
Kunci API kini akan dikirim bersama permintaan apa pun.
-
Di menu kiri, klik /customers POST.
-
Tentukan isi permintaan berikut:
{
"email": "mina@example.com",
"lastName": "Yu",
"firstName": "Mina"
}
-
Klik Execute.
Respons 200 OK menunjukkan bahwa pelanggan telah dibuat.
-
Di menu kiri, klik /customers GET.
-
Klik Execute.
Pelanggan yang baru saja Anda buat ditampilkan bersama pelanggan lain dalam database.
Saat kembali ke UI Apigee dan sesi Debug, Anda dapat melihat bahwa permintaan OPTIONS (preflight) otomatis dikirim oleh browser sebelum mengirim kedua perintah. Permintaan preflight diperlukan sebelum perintah GET, karena browser tidak tahu apakah header apikey harus diizinkan atau tidak.
Tugas 8. Membuat developer aplikasi di portal (opsional)
Dalam tugas ini, Anda akan menggunakan portal developer untuk membuat developer aplikasi.
Catatan:
Tugas ini mengharuskan Anda memasukkan alamat email untuk menerima email pendaftaran. Email tersebut berisi link yang harus diklik agar akun yang didaftarkan dapat login ke portal developer. Alamat email itu tidak akan digunakan untuk tujuan lain, dan akan dihapus saat project Google Cloud dihapus otomatis.
Mendaftarkan developer aplikasi di portal developer
-
Kembali ke Live Portal, lalu klik Sign In.
-
Klik Create an account.
-
Masukkan nama depan, nama belakang, alamat email, dan sandi.
Anda harus menggunakan sandi untuk login ke portal developer, jadi buat sandi yang mudah diingat.
-
Klik kotak yang menunjukkan bahwa Anda menyetujui persyaratan.
Halaman Persyaratan dan Ketentuan akan ditetapkan oleh organisasi yang menyediakan API kepada developer aplikasi.
-
Klik Create Account.
Email akan dikirim ke alamat email Anda. Email tersebut berisi link yang harus diklik agar pengguna akun dapat login.
-
Klik link yang dikirim melalui email.
Tab browser akan terbuka ke portal developer.
-
Klik Sign In.
-
Masukkan alamat email dan sandi, lalu klik Login.
Membuat aplikasi untuk developer aplikasi
-
Klik alamat email di pojok kanan atas, lalu klik Apps.
-
Klik + New App.
-
Tentukan MyApp sebagai App Name.
-
Di bagian APIs, klik Enable untuk SimpleBank.
-
Klik Save.
Aplikasi berhasil didaftarkan, dan kunci API ditampilkan. Kunci API ini dapat digunakan dalam portal developer. Developer aplikasi dan aplikasi dapat dilihat dengan kembali ke UI Apigee dan membuka Publish > Developers, lalu Publish > Apps.
Selamat!
Dalam lab ini, Anda belajar menggunakan verifikasi kunci API untuk membatasi akses ke API. Anda telah membuat produk API untuk menyediakan tingkat layanan yang berbeda bagi developer aplikasi internal dan eksternal. Anda juga belajar menggunakan kebijakan Kuota guna membatasi jumlah panggilan untuk setiap aplikasi, serta menambahkan kebijakan CORS untuk mendukung Cross-Origin Resource Sharing di API. Anda telah membuat portal developer dan memublikasikan produk API untuk digunakan developer aplikasi.
Langkah berikutnya untuk mempelajari lebih lanjut
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui: 5 Agustus 2025
Lab Terakhir Diuji: 5 Agustus 2025
Hak cipta 2026 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.