Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Dokumen ini menjelaskan cara menyediakan API hub dari command line. Jika Anda lebih memilih untuk menyediakan API hub menggunakan UI bergaya wizard, lihat Menyediakan API hub di Cloud Console.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Make sure that you have the following role or roles on the project:
roles/serviceusage.serviceUsageAdmin
roles/cloudkms.admin
roles/apihub.provisioningAdmin
roles/resourcemanager.projectIamAdmin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Buka IAM - Pilih project.
- Klik Berikan akses.
-
Di kolom New principals, masukkan ID pengguna Anda. Ini biasanya adalah alamat email untuk Akun Google.
- Di daftar Pilih peran, pilih peran.
- Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
- Klik Simpan.
Ringkasan langkah
Langkah-langkah penyediaannya adalah sebagai berikut:
- Langkah 1: Aktifkan API. Anda harus mengaktifkan kumpulan Google Cloud API agar hub Apigee API dapat beroperasi.
- Langkah 2: Buat identitas layanan hub API Apigee. Identitas layanan memungkinkan instance API hub memanggil Google Cloud API yang diperlukan untuk melakukan operasinya.
- Langkah 3. Konfigurasi enkripsi. Anda dapat memilih apakah akan menggunakan pendekatan Google-owned and Google-managed encryption key (GMEK) atau Kunci enkripsi yang dikelola pelanggan (CMEK) untuk mengenkripsi dan mendekripsi data API dalam penyimpanan. Lihat Perbandingan CMEK dan Google-owned and Google-managed encryption keysmilik Google.
- Langkah 4: Buat instance API hub. Untuk menyelesaikannya, Anda harus mendaftarkan project host dan membuat instance API hub.
Langkah-langkah penyediaan
Pastikan Anda telah memenuhi prasyarat yang dijelaskan di Sebelum memulai.
Langkah 1: Aktifkan API
Untuk menyediakan API Hub, Anda harus mengaktifkan API berikut di project Google Cloud :
-
Aktifkan Google Cloud API yang diperlukan dengan menjalankan perintah
services enable
berikut:gcloud services enable apihub.googleapis.com \ cloudkms.googleapis.com --project=YOUR_PROJECT_ID
Dengan
YOUR_PROJECT_ID
sebagai project ID Cloud yang Anda buat di bagian Sebelum memulai.
Langkah 2: Buat identitas layanan hub Apigee API
Identitas layanan memungkinkan instance API hub memanggil Google Cloud API yang diperlukan untuk melakukan operasinya.
-
Buat identitas layanan:
gcloud beta services identity create --service=apihub.googleapis.com \ --project=YOUR_PROJECT_ID
Dengan
YOUR_PROJECT_ID
sebagai project ID Cloud yang Anda buat di bagian Sebelum memulai. Pastikan agen berhasil dibuat. Responsnya mencakup nama agen dalam format berikut:
service-PROJECT_NUMBER@gcp-sa-apihub.iam.gserviceaccount.com
. Contoh:Service identity created: service-1234567890@gcp-sa-apihub.iam.gserviceaccount.com
Perhatikan bahwa Anda harus menggunakan identitas layanan ini di langkah selanjutnya.
Langkah 3: Konfigurasikan enkripsi
Pada langkah ini, Anda mengonfigurasi cara enkripsi data di instance hub API dikelola. Anda dapat menggunakan Google-owned and Google-managed encryption key (GMEK) atau membuat kunci enkripsi yang dikelola pelanggan (CMEK) Anda sendiri. Lihat Perbandingan CMEK dan Google-owned and Google-managed encryption keysmilik Google.
Langkah-langkah CMEK
Ikuti langkah-langkah berikut jika Anda ingin menggunakan CMEK untuk enkripsi data:
-
Membuat key ring dan kunci enkripsi database runtime. Anda dapat menggunakan kunci CMEK dan key ring yang ada jika mau. Perhatikan bahwa kunci harus dibuat di lokasi yang sama dengan tempat Anda berencana membuat instance API hub.
Buat key ring baru:
Nama ring kunci harus unik untuk organisasi Anda. Jika Anda membuat region kedua atau berikutnya, namanya tidak boleh sama dengan key ring lainnya.
gcloud kms keyrings create KEY_RING_NAME \ --location KEY_RING_LOCATION --project YOUR_PROJECT_ID
Dengan keterangan:
KEY_RING_NAME
: Nama key ring yang akan dibuat.KEY_RING_LOCATION
: Lokasi fisik key ring. Lokasi ini harus sama dengan yang ingin Anda gunakan untuk instance API hub yang akan Anda buat pada langkah berikutnya. Anda harus menggunakan salah satu lokasi yang didukung berikut:Deskripsi region Nama region Iowa us-central1
Northern Virginia us-east4
Oregon us-west1
Belgia europe-west1
London europe-west2
Singapura asia-southeast1
Mumbai asia-south1
Sao Paulo southamerica-east1
Sydney australia-southeast1
YOUR_PROJECT_ID
: Project ID Cloud yang Anda buat di Sebelum memulai.
Buat kunci enkripsi dan tambahkan ke key ring:
gcloud kms keys create KEY_NAME \ --keyring KEY_RING_NAME \ --location KEY_LOCATION \ --purpose "encryption" \ --project YOUR_PROJECT_ID
Dengan keterangan:
KEY_NAME
: Nama kunci database yang Anda buat.KEY_RING_NAME
: Nama key ring yang baru saja Anda buat.KEY_LOCATION
: Lokasi fisik kunci. Gunakan lokasi yang sama dengan yang Anda gunakan untuk membuat key ring.
- Dapatkan ID kunci:
gcloud kms keys list \ --location=KEY_LOCATION \ --keyring=KEY_RING_NAME \ --project=YOUR_PROJECT_ID
ID kunci memiliki sintaksis berikut (mirip dengan jalur file). Simpan ID kunci ini, karena Anda akan menggunakannya di langkah berikutnya:
projects/YOUR_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Berikan akses bagi Agen Layanan Apigee untuk menggunakan kunci baru:
gcloud kms keys add-iam-policy-binding KEY_NAME \ --location KEY_LOCATION \ --keyring KEY_RING_NAME \ --member serviceAccount:SERVICE_ACCOUNT \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --project YOUR_PROJECT_ID
Dengan: SERVICE_ACCOUNT adalah ID akun layanan yang Anda buat di Langkah 2. ID akan terlihat seperti ini:
service-1234567890@gcp-sa-apihub.iam.gserviceaccount.com
.Perintah ini mengikat kunci ke Agen Layanan hub Apigee API.
Setelah permintaan ini berhasil diselesaikan,
gcloud
akan merespons dengan sesuatu yang mirip dengan berikut ini:Updated IAM policy for key [runtime]. bindings: - members: - serviceAccount:service-1234567890@gcp-sa-apihub.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter etag: BwWqgEuCuwk= version: 1
Jika Anda mendapatkan error seperti berikut:
INVALID_ARGUMENT: Role roles/cloudkms.cryptokms.cryptoKeyEncrypterDecrypter is not supported for this resource.
Pastikan Anda menggunakan nomor project, bukan nama project, di alamat email akun layanan.
Langkah-langkah GMEK
Jika Anda ingin menggunakan GMEK untuk enkripsi data, lanjutkan ke langkah berikutnya, Langkah 4: Membuat instance API hub, sekarang. Tidak diperlukan konfigurasi kunci lebih lanjut.
Langkah 4: Buat instance API hub
Project host adalah Google Cloud project tempat Anda akan menyediakan hub Apigee API. Anda hanya dapat menyediakan satu instance API Hub per project host.
- Daftarkan project host:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" -d '{ "gcpProject": "projects/YOUR_PROJECT_ID" }' https://apihub.googleapis.com/v1/projects/YOUR_PROJECT_ID/locations/PROJECT_LOCATION/hostProjectRegistrations?host_project_registration_id=HOST_ID
Dengan keterangan:
YOUR_PROJECT_ID
: Project ID Cloud yang Anda buat di bagian Sebelum memulai.PROJECT_LOCATION
: Lokasi fisik (region) tempat Anda ingin menghosting instance hub Apigee API. Anda harus menggunakan lokasi yang sama dengan yang digunakan untuk membuat kunci dan key ring CMEK. Region yang didukung adalah:Deskripsi region Nama region Iowa us-central1
Northern Virginia us-east4
Oregon us-west1
Belgia europe-west1
London europe-west2
Singapura asia-southeast1
Mumbai asia-south1
Sao Paulo southamerica-east1
Sydney australia-southeast1
HOST_ID
: Nama project host.
- Buat instance hub API:
Dengan CMEK
Jika Anda menggunakan CMEK untuk enkripsi data, jalankan perintah berikut:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" -H "X-Google-GFE-Can-Retry: yes" -d '{ "config":{ "cmekKeyName":"KEY_NAME", "vertexLocation":"VERTEX_LOCATION", "encryptionType":"CMEK" } }' https://apihub.googleapis.com/v1/projects/YOUR_PROJECT_ID/locations/PROJECT_LOCATION/apiHubInstances?api_hub_instance_id=INSTANCE_ID
Dengan keterangan:
KEY_NAME
(Wajib): Nama kunci CMEK yang sepenuhnya memenuhi syarat. Nama ini ditampilkan saat kunci dibuat. Contoh:projects/YOUR_PROJECT_ID/locations/HOST_LOCATION/hostProjectRegistrations/HOST_ID
.VERTEX_LOCATION
(Opsional): Menentukan lokasi multi-region tempat menyimpan data penelusuran berbasis Vertex AI, data yang terkait dengan fitur Semantic Search di API hub. Anda dapat menggunakanus
ataueu
untuk nilai ini. Jika tidak ingin menggunakan salah satu multi-wilayah ini, Anda dapat menonaktifkan Penelusuran Semantik dengan menghapus parameter ini.encryptionType
(Wajib) Anda harus menggunakanCMEK
.YOUR_PROJECT_ID
adalah project ID Cloud yang Anda buat di bagian Sebelum memulai.PROJECT_LOCATION
: Anda harus menggunakan lokasi yang sama dengan yang digunakan untuk mendaftarkan project host.INSTANCE_ID
: Nama instance hub API. Nilai ini harus terdiri dari 4-40 karakter, dan karakter yang valid adalah/[a-z][A-Z][0-9]-_/
.
Dengan GMEK
Jika Anda menggunakan GMEK untuk enkripsi data, jalankan perintah berikut:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" -H "X-Google-GFE-Can-Retry: yes" -d '{ "config":{ "vertexLocation":"VERTEX_LOCATION", "encryptionType":"GMEK" } }' https://apihub.googleapis.com/v1/projects/YOUR_PROJECT_ID/locations/PROJECT_LOCATION/apiHubInstances?api_hub_instance_id=INSTANCE_ID
Dengan keterangan:
VERTEX_LOCATION
(Opsional): Menentukan lokasi multi-region tempat menyimpan data penelusuran berbasis Vertex AI, data yang terkait dengan fitur Semantic Search di API hub. Anda dapat menggunakanus
ataueu
untuk nilai ini. Jika tidak ingin menggunakan salah satu multi-wilayah ini, Anda dapat menonaktifkan Penelusuran Semantik dengan menghapus parameter ini.encryptionType
harus berupaGMEK
. Jika Anda tidak memberikan jenis enkripsi, GMEK adalah default-nya.YOUR_PROJECT_ID
adalah project ID Cloud yang Anda buat di bagian Sebelum memulai.PROJECT_LOCATION
: Anda harus menggunakan lokasi yang sama dengan yang digunakan untuk mendaftarkan project host.INSTANCE_ID
: Nama instance hub API. Nilai ini harus terdiri dari 4-40 karakter, dan karakter yang valid adalah/[a-z][A-Z][0-9]-_/
.
YOUR_PROJECT_ID
adalah project ID Cloud yang Anda buat di bagian Sebelum memulai.PROJECT_LOCATION
: Anda harus menggunakan lokasi yang sama dengan yang digunakan untuk mendaftarkan project host.- Meninjau peran dan izin yang diperlukan untuk menggunakan API Hub
- Konfigurasikan atribut hub API:
- Mendaftarkan resource API:
- Menambahkan versi API:
Langkah 5: (Opsional) Buat lampiran project runtime
Jika Anda menyediakan API hub di project yang memiliki proxy Apigee, lakukan langkah opsional ini untuk mendaftarkan proxy secara otomatis di API hub.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" -H "X-Google-GFE-Can-Retry: yes" \ https://apihub.googleapis.com/v1/projects/YOUR_PROJECT_ID/locations/PROJECT_LOCATION/runtimeProjectAttachments?runtimeProjectAttachmentId=YOUR_PROJECT_ID
Dengan keterangan:
Langkah berikutnya
Sekarang, Anda siap untuk mulai menggunakan API hub: