步驟 7:啟用同步處理工具存取權

取得授權權杖

如要發出本主題稍後說明的 Apigee API 呼叫,您必須取得具有 Apigee 機構管理員角色的授權權杖。

  1. 如果您不是與 Apigee 混合式機構相關聯的 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
  2. 如果您的角色中沒有 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
  3. 在指令列中,使用下列指令取得 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%

    權杖應會以編碼字串的形式顯示。

啟用同步器存取權

如何啟用同步器存取權:

  1. 取得要授予同步器存取權的服務帳戶電子郵件地址。 對於非實際工作環境 (如本教學課程所建議),應使用 apigee-non-prod。在正式環境中,應設為 apigee-synchronizer。請使用下列指令:

    非正式環境

    gcloud iam service-accounts list --filter "apigee-non-prod"

    如果符合模式 apigee-non-prod@${ORG_NAME}.iam.gserviceaccount.com,您可以在下一個步驟中使用該模式。

    正式發布階段

    gcloud iam service-accounts list --filter "apigee-synchronizer"

    如果符合模式 apigee-synchronizer@${ORG_NAME}.iam.gserviceaccount.com,您可以在下一個步驟中使用該模式。

  2. 請呼叫 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"'"]}'
    

    正式發布階段

    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:服務帳戶的電子郵件地址。
  3. 如要確認已設定服務帳戶,請使用下列指令呼叫 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="
    }

    正式發布階段

    {
       "identities":[
          "serviceAccount:apigee-synchronizer@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }

您現在可以讓 Apigee 混合式執行階段和管理計畫進行通訊。接下來,我們將將設定套用至混合式執行階段,並完成 Apigee Hybrid 的安裝作業。

1 2 3 4 5 6 7 (下一頁) 步驟 8:安裝混合式執行階段 9 5 6 7 (下一頁) 步驟 8:安裝混合式執行階段 9