*SyncAuthorization API

本主题介绍 setSyncAuthorization 和 getSyncAuthorization API。这些 API 用于设置和获取运行同步器所需的 GCP 服务帐号。在 Apigee 混合安装过程中,这些 API 可让同步器从管理平面检索环境数据。

setSyncAuthorization

设置允许同步器从控制平面下载环境数据所需的权限。您必须调用此 API 才能实现混合正常运行。此 API 在混合安装过程中使用。

资源网址

https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization

动词

POST

标头参数

名称 说明
Authorization:Bearer 有效的 OAuth 令牌 (必需)如需了解如何获取令牌,请参阅第 5 步:启用同步器
Content-Type application/json (必需)HTTP 内容类型

请求正文

{"identities":["serviceAccount:service-account-name"], ...}
名称 说明 默认 是否必需?
identities serviceAccount:service-account-name 元素的数组。例如,如果您有多个环境并希望为每个服务帐号分配唯一的 SA,则可以指定多个服务帐号。SA 必须具有 Apigee Synchronizer Manager 角色。该名称的格式类似于电子邮件地址。例如:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com

API 调用示例

设置一个 SA:

curl -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type:application/json" \
  "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \
   -d '{"identities":["serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"]}'

设置两个 SA。例如,如果您有多个环境并希望为每个服务帐号分配唯一的 SA,则可以指定多个服务帐号。

curl -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type:application/json" \
  "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \
   -d '{"identities":["serviceAccount:my-synchronizer-sa_1@my_project_id.iam.gserviceaccount.com",
   "serviceAccount:my-synchronizer-sa_2@my_project_id.iam.gserviceaccount.com"]}'

getSyncAuthorization

要验证使用 setSyncAuthorization 设置的一个或多个服务帐号,请使用 getSyncAuthorization。

https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization

动词

POST

标头参数

名称 说明
Authorization:Bearer 有效的 OAuth 令牌 (必需)如需了解如何获取令牌,请参阅第 5 步:启用同步器
Content-Type application/json (必需)HTTP 内容类型

请求正文

您必须指定空的请求正文。

{}

示例 API 调用

curl -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type:application/json" \
  "https://apigee.googleapis.com/v1/organizations/myorg:getSyncAuthorization" \
   -d ''

输出类似于以下内容:

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