取得授權權杖
如要發出本主題稍後說明的 Apigee API 呼叫,您必須取得具有 Apigee 機構管理員角色的授權權杖。
- 如果您不是與 Apigee Hybrid 機構相關聯的 Google Cloud 專案擁有者,請確認您的 Google Cloud 使用者帳戶是否具備 roles/apigee.admin (Apigee 機構管理員) 角色。您可以使用下列指令,查看自己獲派的角色:
gcloud projects get-iam-policy ${PROJECT_ID} \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:your_account_email"例如:
gcloud projects get-iam-policy my-project \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:myusername@example.com"
輸出內容應如下所示:
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
- 如果您的角色沒有
roles/apigee.admin,請將 Apigee 機構管理員角色新增至使用者帳戶。使用下列指令,將角色新增至使用者帳戶:gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member user:your_account_email \ --role roles/apigee.admin例如:
gcloud projects add-iam-policy-binding my-project \ --member user:myusername@example.com \ --role roles/apigee.admin
-
在指令列中,使用下列指令取得
gcloud驗證憑證:Linux / MacOS
export TOKEN=$(gcloud auth print-access-token)
如要確認權杖是否已填入,請使用
echo,如下列範例所示:echo $TOKEN
這時應該會以編碼字串的形式顯示權杖。
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a如要確認權杖是否已填入,請使用
echo,如下列範例所示:echo %TOKEN%
這時應該會以編碼字串的形式顯示權杖。
啟用同步處理工具存取權
如何啟用同步處理工具存取權:
- 取得要授予同步器存取權的服務帳戶電子郵件地址。
如果是非正式版環境 (如本教學課程所述),則應為
apigee-non-prod。在正式環境中,這個值應為apigee-synchronizer。使用下列指令:非正式環境
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-non-prod"如果符合
apigee-non-prod@${ORG_NAME}.iam.gserviceaccount.com模式,您可以在下一個步驟中使用該模式。Prod
gcloud iam service-accounts list --project ${PROJECT_ID} --filter "apigee-synchronizer"如果符合
apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com模式,您可以在下一個步驟中使用該模式。 - 使用下列指令呼叫 setSyncAuthorization API,為 Synchronizer 啟用必要權限:
非正式環境
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"'"]}'Prod
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"'"]}'其中:
${ORG_NAME}:混合式機構的名稱。apigee-non-prod${ORG_NAME}.iam.gserviceaccount.com或
apigee-synchronizer${ORG_NAME}.iam.gserviceaccount.com:服務帳戶的電子郵件地址。
- 如要確認服務帳戶已設定完成,請使用下列指令呼叫 API,取得服務帳戶清單:
curl -X GET -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/${ORG_NAME}:getSyncAuthorization"輸出結果看起來與下列內容相似:
非正式環境
{ "identities":[ "serviceAccount:apigee-non-prod@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
Prod
{ "identities":[ "serviceAccount:apigee-synchronizer@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
您現在已允許 Apigee Hybrid 執行階段和管理平面進行通訊。接著,請將設定套用至 Hybrid 執行階段,並完成 Apigee Hybrid 安裝作業。
1 2 3 4 5 6 7 (NEXT) Step 8: Install the hybrid runtime 9 10