本部分详细介绍了 Apigee API Hub for Private Cloud 连接器的配置步骤,包括网络、身份验证和组织专用设置。
网络和身份验证设置
- 将端口列入许可名单:Apigee API Hub for Private Cloud 连接器需要连接到管理服务器才能获取所需的 API 元数据,因此连接器需要能够访问管理服务器端口 8080 和 443。
- 基于密钥的 Google Cloud Platform 服务身份验证:Apigee API Hub for Private Cloud 连接器与 Google Cloud 服务通信,需要使用令牌进行身份验证。这是通过使用服务账号密钥创建模拟令牌来实现的。
- 用于生成令牌的服务账号:创建一个专门用于生成令牌的新服务账号。此服务账号必须具有
Token Creator
角色。 - 生成并下载服务账号密钥:
- 按照创建服务账号密钥中的步骤为令牌生成服务账号生成 JSON 密钥。
- 下载此密钥文件(例如,下载到适用于私有云的 Apigee API Hub 连接器虚拟机的
/opt/apigee/keys/uapim.key
中)。
- 设置
GOOGLE_APPLICATION_CREDENTIALS
:启动适用于私有云的 Apigee API Hub 连接器时,您需要通过环境变量提供此文件的路径:export $GOOGLE_APPLICATION_CREDENTIALS=/opt/apigee/keys/uapim.key
- 用于生成令牌的服务账号:创建一个专门用于生成令牌的新服务账号。此服务账号必须具有
- 管理 API 身份验证 (UAPIM_MGMT_AUTH):Apigee API Hub for Private Cloud 连接器需要凭据才能调用 Apigee Management API。为了安全起见,并实现自动化,请在 Apigee 中使用机器用户,而不是人工用户。
在 Apigee 中创建机器用户:
- 创建用户:
- 在 Apigee 控制台中,创建机器用户(或系统用户)。如需详细了解用户和角色,请参阅自动执行令牌生成流程。
- 分配电子邮件地址(用于标识)和描述性名称(例如,
uapim-connector-user
)。
- 分配角色:向机器用户分配以下角色:
- Apigee API 管理员:此角色提供对 Management API 的访问权限,允许 Apigee API Hub for Private Cloud 连接器与 Apigee 的管理系统进行交互(例如,提取元数据或管理 API 配置)。
- 创建用户:
生成采用 Base64 编码的凭据:
- 为机器用户生成“用户名:密码”对。
- 对凭据进行 Base64 编码:
echo -n 'username:password' | base64
- 使用 base64 编码的值设置环境变量 $UAPIM_MGMT_AUTH:
export UAPIM_MGMT_AUTH=USERNAME_PASSWORD
其中,USERNAME_PASSWORD 是用户名和密码对的 base64 编码值。
请确保在启动 Apigee API Hub for Private Cloud 连接器之前设置此环境变量。
为 Private Cloud 连接器配置 Apigee API Hub
打开配置文件 /opt/apigee/customer/application/uapim-connector.properties
,指定需要将数据上传到 API Hub 的 Apigee 组织。您可能拥有多个插件实例或多个 API Hub 实例。
conf_uapim.settings.json={\ "connectorConfig" : { \ "org1" : { \ "runtimeDataPubsub" : "", \ "metadataPubsub":"", \ "serviceAccount": "mysa1@in.myfirstProject",\ "pluginInstanceId":"aaaa" \ },\ "org2" : { \ "runtimeDataPubsub" : "", \ "metadataPubsub":"",\ "serviceAccount": "mysa2@in.mySecondProject",\ "pluginInstanceId":"bbbbb", \ } }, "runtimeDataPath":"/the/nfs/mounted/path", \ "managementServer": "hostname" }
设置 JSON 的说明
- connectorConfig 部分:
- 这是一个映射,其中每个键都是一个 Apigee 组织名称(例如,org1、org2)。
- 每个组织条目都包含以下字段,这些字段是在插件创建步骤中收到的:
- runtimeDataPubsub:相应组织的运行时(分析)数据的 Pub/Sub 主题。
- metadataPubsub:相应组织的 API 元数据的 Pub/Sub 主题。
- serviceAccount:用于对向此组织的 Pub/Sub 写入数据进行身份验证的服务账号(例如 mysa1@in.myfirstProject.iam.gserviceaccount.com)。
- pluginInstanceId:与相应组织关联的插件的唯一实例 ID。
- runtimeDataPath 部分:提供 NFS 装载的路径,消息处理器会将 Analytics (AX) 数据写入该路径。此路径必须与消息处理器上配置的路径相同。
- managementServer 部分:Apigee 管理服务器网址的主机名或 IP 地址。
- 环境变量 UAPIM_MGMT_AUTH:此环境变量在外部设置,包含用于访问管理服务器的 base64 编码的 username:password。
添加转发代理配置
在同一文件 /opt/apigee/customer/application/uapim-connector.properties
中添加转发代理配置
conf_http_client_service_jetty.proxy.enabled=true
conf_http_client_service_jetty.proxy.host=
conf_http_client_service_jetty.proxy.port=
conf_http_client_service_jetty.proxy.user=
conf_http_client_service_jetty.proxy.password=
为了使连接器正常工作,它需要连接到以下外部来源:
pubsub.googleapis.com:443
oauth2.googleapis.com:443
iamcredentials.googleapis.com:443
如果连接器不允许直接连接到外部来源,但允许通过正向代理连接,则用户需要通过以下配置提供正向代理配置,并确保上述外部来源已列入许可名单。
启动适用于私有云的 Apigee API Hub 连接器
设置完所有配置后,使用 Apigee 服务命令启动 Apigee API Hub for Private Cloud 连接器:
apigee-service edge-uapim-connector start