Mendapatkan token otorisasi
Untuk melakukan panggilan API Apigee yang akan dijelaskan nanti dalam topik ini, Anda perlu mendapatkan token otorisasi yang memiliki peran Admin Organisasi Apigee.
- Jika Anda bukan pemilik project Google Cloud yang terkait dengan organisasi hybrid Apigee Anda, pastikan akun pengguna Google Cloud Anda memiliki peran roles/apigee.admin (Apigee Organization Admin). Anda dapat memeriksa peran yang ditetapkan kepada Anda dengan perintah ini:
gcloud projects get-iam-policy ${PROJECT_ID} \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:your_account_email"
Contoh:
gcloud projects get-iam-policy my-project \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:myusername@example.com"
Output harus mencakup
roles/apigee.admin
. - Jika Anda tidak memiliki
roles/apigee.admin
, tambahkan peran Apigee Organization Admin ke akun pengguna Anda. Gunakan perintah berikut untuk menambahkan peran ke akun pengguna Anda:gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member user:your_account_email \ --role roles/apigee.admin
Contoh:
gcloud projects add-iam-policy-binding my-project \ --member user:myusername@example.com \ --role roles/apigee.admin
-
Pada command line, dapatkan kredensial autentikasi
gcloud
menggunakan perintah berikut:Linux / MacOS
export TOKEN=$(gcloud auth print-access-token)
Untuk memeriksa apakah token Anda telah diisi, gunakan
echo
, seperti yang ditunjukkan pada contoh berikut:echo $TOKEN
Tindakan ini akan menampilkan token Anda sebagai string yang dienkode.
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a
Untuk memeriksa apakah token Anda telah diisi, gunakan
echo
, seperti yang ditunjukkan pada contoh berikut:echo %TOKEN%
Tindakan ini akan menampilkan token Anda sebagai string yang dienkode.
Aktifkan akses sinkronisasi
Untuk mengaktifkan akses sinkronisasi:
- Dapatkan alamat email untuk akun layanan yang Anda beri akses sinkronisasi.
Untuk lingkungan non-produksi (seperti yang disarankan dalam tutorial ini), nilainya harus berupa
apigee-non-prod
. Untuk lingkungan produksi, nilainya harus berupaapigee-synchronizer
. Gunakan perintah berikut:gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"
- Panggil API
setSyncAuthorization
untuk mengaktifkan izin yang diperlukan bagi Synchronizer menggunakan perintah berikut:
Tidak ada residensi data
curl -X POST -H "Authorization: Bearer ${TOKEN}" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:setSyncAuthorization" \ -d '{"identities":["'"serviceAccount:apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com"'"]}'
Dengan keterangan:
${ORG_NAME}
: Nama organisasi hybrid Anda.apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: Alamat email akun layanan.
Residensi Data
curl -X POST -H "Authorization: Bearer ${TOKEN}" \ -H "Content-Type:application/json" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/${ORG_NAME}:setSyncAuthorization" \ -d '{"identities":["'"serviceAccount:apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com"'"]}'
Dengan keterangan:
CONTROL_PLANE_LOCATION
: Lokasi untuk data bidang kontrol jika penginstalan hybrid menggunakan residensi data. Di sini, konten inti pelanggan seperti paket proxy disimpan. Untuk mengetahui daftarnya, lihat Region bidang kontrol Apigee API yang tersedia.${ORG_NAME}
: Nama organisasi campuran Anda.apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: Alamat email akun layanan.
- Untuk memverifikasi bahwa akun layanan sudah ditetapkan, gunakan perintah berikut untuk memanggil API guna mendapatkan daftar akun layanan:
Tidak ada residensi data
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
Residensi Data
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
Outputnya terlihat mirip dengan yang berikut ini:
{ "identities":[ "serviceAccount:apigee-synchronizer@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Sekarang Anda telah mengaktifkan bidang pengelolaan dan runtime hybrid Apigee untuk berkomunikasi. Selanjutnya, instal cert-manager untuk mengaktifkan Apigee Hybrid guna menafsirkan dan mengelola sertifikat.