本主题介绍 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=" }