加入代理程序
本教程将指导您如何加载可用于将定价套餐连接到第三方服务的代理。 当用户从 IBM Cloud® 目录创建服务实例时,代理将管理这些实例的生命周期,并将该服务连接到开发者正在构建的应用程序。
本教程是演示如何将第三方服务加载并发布到 IBM Cloud的系列中的五个教程之一。 完成本教程时,请调整每个步骤以满足产品的需求。
准备工作
在您开始与经纪人合作之前,请完成以下步骤:
- 有关如何构建代理的示例,请参阅 Open Service Broker 参考应用程序和 IBM Cloud Open Service Broker API。
经纪人认证方案
在合作伙伴中心添加代理时,可以选择以下三种身份验证方案来验证与代理交互的客户端的身份:
- 不记名 CRN
- 在这种方法中,资源控制器使用其连接的代理的云资源名称 (CRN) 生成 IAM 令牌。 该令牌包括作为 JWT 身份的代理 CRN。 当使用令牌调用服务时,服务的代理应用程序会通过验证调用者的身份是否与预期的代理 CRN 相符来授权请求。 此方法不需要 API 密钥或 API 密钥轮换。 在授权请求之前,代理必须验证 IAM 令牌。 用于验证的键盘可在 https://iam.cloud.ibm.com/identity/keys. 请参阅下面的 CRN 标记示例:
{
"iam_id": "crn-crn:v1:bluemix:public:resource-controller::a/f71446b6474d45bf81196da45de13940::resource-broker:1f4a9711-e359-4e00-8ad3-c8bfd38446b3",
"id": "crn-crn:v1:bluemix:public:resource-controller::a/f71446b6474d45bf81196da45de13940::resource-broker:1f4a9711-e359-4e00-8ad3-c8bfd38446b3",
"realmid": "crn",
"jti": "86912b78-4b25-482e-9876-665f6cf97978",
"identifier": "crn:v1:bluemix:public:resource-controller::a/f71446b6474d45bf81196da45de13940::resource-broker:1f4a9711-e359-4e00-8ad3-c8bfd38446b3",
"sub": "crn:v1:bluemix:public:resource-controller::a/f71446b6474d45bf81196da45de13940::resource-broker:1f4a9711-e359-4e00-8ad3-c8bfd38446b3",
"sub_type": "CRN",
"authn": {
"sub": "crn:v1:bluemix:public:resource-controller::a/f71446b6474d45bf81196da45de13940::resource-broker:1f4a9711-e359-4e00-8ad3-c8bfd38446b3",
"iam_id": "crn-crn:v1:bluemix:public:resource-controller::a/f71446b6474d45bf81196da45de13940::resource-broker:1f4a9711-e359-4e00-8ad3-c8bfd38446b3",
"sub_type": "CRN"
},
"account": {
"valid": true,
"bss": "f71446b6474d45bf81196da45de13940",
"frozen": true
},
"iat": 1746518443,
"exp": 1746520239,
"iss": "https://iam.cloud.ibm.com/identity",
"grant_type": "urn:ibm:params:oauth:grant-type:iam-authz",
"scope": "ibm openid resource-controller",
"client_id": "resource-controller",
"acr": 0,
"amr": []
}
- 基本
-
基本认证需要提供用户名和密码,这些信息将传递给经纪人,经纪人将验证呼叫者的身份以及凭证是否有效。 这种方法安全性较低,不推荐使用,因为每次请求都会重复发送凭据。
Basic and bearer authentication schemas are deprecated and will no longer be supported in the future due to security reasons. Use bearer CRN authentication for continued access instead.
- 持有者
-
在此方法中,资源控制器会使用提供的 API 密钥生成 IAM 令牌。 这是一种基于令牌的身份验证方法,其中
apikey
用作用户名,实际 API 密钥值用作密码。 资源控制器将此 API 密钥换成 JWT 令牌,然后发送给代理。 在授权请求之前,代理会验证令牌的真实性并检查调用者的身份。 在授权请求之前,代理必须验证 IAM 令牌。 用于验证的键盘可在 https://iam.cloud.ibm.com/identity/keys. 有关服务 ID 令牌,请参阅下面的示例:
{
"iam_id": "iam-ServiceId-c1e45eff-8df9-49b7-af73-d9c6e6f99a69",
"id": "iam-ServiceId-c1e45eff-8df9-49b7-af73-d9c6e6f99a69",
"realmid": "iam",
"jti": "c4810836-2467-49e6-9612-ad3595de4eb1",
"identifier": "ServiceId-c1e45eff-8df9-49b7-af73-d9c6e6f99a69",
"name": "My Service ID",
"sub": "ServiceId-c1e45eff-8df9-49b7-af73-d9c6e6f99a69",
"sub_type": "ServiceId",
"authn": {
"sub": "ServiceId-c1e45eff-8df9-49b7-af73-d9c6e6f99a69",
"iam_id": "iam-ServiceId-c1e45eff-8df9-49b7-af73-d9c6e6f99a69",
"sub_type": "ServiceId",
"name": "My Service ID"
},
"account": {
"valid": true,
"bss": "f71446b6474d45bf81196da45de13940",
"frozen": true
},
"iat": 1746519454,
"exp": 1746523054,
"iss": "https://iam.cloud.ibm.com/identity",
"grant_type": "urn:ibm:params:oauth:grant-type:apikey",
"scope": "ibm openid",
"client_id": "default",
"acr": 1,
"amr": [
"pwd"
]
}
添加代理程序
-
在 IBM Cloud 控制台中,单击 导航菜单 图标
> 合作伙伴中心> 我的产品。
-
选择要加入的服务。
-
在“代理程序”页面中,单击 添加代理程序。
-
输入您的经纪商的程序名称以及可访问您的经纪商的 URL。
-
选择验证与代理交互的客户端身份时要使用的身份验证方案。 您可以选择基本、不记名和记名 CRN 方案。
出于安全考虑,基本认证和承载认证模式已被弃用,未来将不再支持。 请使用无记名CRN认证继续访问。
-
选择经纪人类型。
-
输入用于代理验证的用户名。 如果您在上一步中选择了承载验证,
apikey
将自动作为用户名输入。对于承载 CRN 验证方案,不需要用户名和密码信息。
-
输入代理验证密码。 如果选择了承载验证,请输入 API 密钥。
-
单击保存。
设置 IBM Cloud SSO
您可以为服务启用 IBM Cloud 单点登录,并添加任何可处理认证和授权的重定向 URL。
-
在 IBM Cloud 控制台中,单击 导航菜单 图标
> 合作伙伴中心> 我的产品。
-
选择要加入的服务。
-
在“代理程序”页面中,单击 设置 IBM Cloud SSO。
-
添加团队成员作为客户标识的所有者。 所有者可以查看和编辑客户标识。
您无法从所有者列表中除去自己。
-
点击 “添加” 以添加URL。
-
输入能够处理您的服务认证和授权URL。
-
单击保存。
-
复制客户端标识和私钥。
关闭 IBM Cloud SSO 面板后,无法查看私钥。 如果密钥丢失,那么必须创建新的客户机标识。
-
单击完成。
必须复制或显示私钥才能完成此操作。
后续步骤
现在,您可以添加 定价套餐。