Mendapatkan token otorisasi
Untuk melakukan panggilan Apigee API yang dijelaskan nanti dalam topik ini, Anda perlu mendapatkan token otorisasi yang memiliki peran Apigee Organization Admin.
- Jika Anda bukan pemilik project Google Cloud yang terkait dengan organisasi Apigee Hybrid 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 akan terlihat seperti ini:
ROLE roles/apigee.admin roles/compute.admin roles/container.admin roles/gkehub.admin roles/iam.serviceAccountAdmin roles/iam.serviceAccountKeyAdmin roles/meshconfig.admin roles/owner roles/resourcemanager.projectIamAdmin roles/servicemanagement.admin roles/serviceusage.serviceUsageAdmin
- Jika tidak memiliki
roles/apigee.admin
dalam peran Anda, 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 sudah diisi, gunakan
echo
, seperti yang ditunjukkan pada contoh berikut:echo $TOKEN
Token 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 sudah diisi, gunakan
echo
, seperti yang ditunjukkan pada contoh berikut:echo %TOKEN%
Token ini akan menampilkan token Anda sebagai string yang dienkode.
Aktifkan akses sinkronisasi
Untuk mengaktifkan akses sinkronisasi:
- Dapatkan alamat email untuk akun layanan yang Anda berikan akses sinkronisasi.
Untuk lingkungan non-produksi (seperti yang disarankan dalam tutorial ini), parameternya harus berupa
apigee-non-prod
. Untuk lingkungan produksi, seharusnya adalahapigee-synchronizer
. Gunakan perintah berikut:Non-produksi
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-non-prod"
Jika cocok dengan pola
apigee-non-prod@${ORG_NAME}.iam.gserviceaccount.com
, Anda dapat menggunakan pola tersebut pada langkah berikutnya.Produksi
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"
Jika cocok dengan pola
apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com
, Anda dapat menggunakan pola tersebut pada langkah berikutnya. - Panggil
setSyncAuthorization
API untuk mengaktifkan izin yang diperlukan bagi Menyinkronkanr menggunakan perintah berikut:
Non-produksi
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-non-prod@${ORG_NAME}.iam.gserviceaccount.com"'"]}'
Produksi
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 campuran Anda.apigee-non-prod${ORG_NAME}.iam.gserviceaccount.com
atau
apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com
: Alamat email akun layanan.
- Untuk memverifikasi bahwa akun layanan telah ditetapkan, gunakan perintah berikut untuk memanggil API guna mendapatkan daftar akun layanan:
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"
Outputnya terlihat mirip dengan yang berikut ini:
Non-produksi
{ "identities":[ "serviceAccount:apigee-non-prod@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Produksi
{ "identities":[ "serviceAccount:apigee-synchronizer@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Sekarang Anda telah memungkinkan sistem pengelolaan dan runtime Apigee Hybrid untuk berkomunikasi. Selanjutnya, mari terapkan konfigurasi Anda ke runtime hybrid dan selesaikan penginstalan Apigee Hybrid Anda.