重要说明:

IBM Cloud Pak® for Data 4.8 版本将于 2025 年 7 月 31 日结束支持(EOS)。 欲了解更多信息,请参阅 IBM Cloud Pak for Data 版本 4.X 的停止服务公告
在 版本支持结束之前,升级到 版本。 IBM Cloud Pak for Data 4.8 IBM Software Hub 5.1 有关更多信息,请参阅从 IBM Cloud Pak for Data 版本 4.8 升级到 IBM Software Hub 版本 5.1

在 Watson Machine Learning 中认证程序化访问

必须将认证用于将 Watson Machine Learning 安全地与 Python 客户机配合使用。 了解 Cloud Pak for Data上的 Watson Machine Learning 中支持的不同认证方法。

Cloud Pak for Data 上 Watson Machine Learning 的认证方法

您可以通过以下方式创建 Watson Machine Learning Python 客户机进行认证:

有关使用 Notebook 进行认证的示例,请参阅 机器学习 Python 样本和示例

使用令牌进行认证

您可以使用令牌在 Watson Studio中使用 Notebook 进行认证。 通过使用令牌,可以屏蔽凭证。 因此,使用令牌可为您提供与服务器的更安全的连接。

您可以使用两种类型的令牌进行认证:

  • 使用 ZenApiKey 令牌进行认证
  • 使用不记名令牌进行认证

使用 ZenApiKey 令牌进行认证

建议的认证方法是使用 ZenApiKey,这为认证提供了最安全可靠的方法。

重要说明:

必须先生成令牌,然后才能将其用于向服务器进行认证。 有关更多信息,请参阅 生成 API 授权令牌

以下示例显示如何使用令牌进行认证:

wml_credentials = {
  "token": "<token>",
  "instance_id": "openshift",
  "url": "<web client url>",
  "version": "4.8"
}

from ibm_watson_machine_learning import APIClient
client = APIClient(wml_credentials)
注:

您必须更换网络客户端 URL。 有关更多信息,请参阅 查找 Web 客户机 URL

使用不记名令牌进行认证

您还可以使用不记名令牌进行认证。 必须先生成不记名令牌,然后才能将其用于认证。 有关更多信息,请参阅 生成不记名令牌

使用凭证进行认证

如果不将 Notebook 存储在 Watson Studio 中,您可绕过检索令牌,使用 Cloud Pak for Data 凭证进行认证。 您可以通过以下方式创建 Python 客户机并使用凭证进行认证:

  • 使用 usernamepassword 凭证创建客户机
  • 使用 usernameapikey 凭证创建客户机

使用 usernamepassword 凭证创建客户机

您可以创建 Python 客户机,并使用用户名和密码进行认证。

以下示例显示如何使用 username/password 凭证创建 Python 客户机:

from ibm_watson_machine_learning import APIClient
wml_credentials = {
  "instance_id": "openshift",
  "url": "<platform URL>",
  "username": "<username>",
  "password": "<password>",
  "version": "4.8"
}
wml_client = APIClient(wml_credentials)
注:

必须用网络客户端 URL 替换 <web_client_url>。 有关更多信息,请参阅 查找 Web 客户机 URL

使用 usernameapikey 凭证创建客户机

您可以创建 Python 客户机并使用用户名和 API 密钥进行认证。 要从 UI 检索 API 密钥,请转至概要文件页面,然后单击 API 密钥

以下示例显示如何使用 usernameapikey 凭证创建 Python 客户机:

from ibm_watson_machine_learning import APIClient
wml_credentials = {
  "url": "<URL>",
  "username": "<USERNAME>",
  "apikey": "<APIKEY>",
  "instance_id": "openshift",
  "version": "4.8"
}
client = APIClient(wml_credentials)
注:

必须用网络客户端 URL 替换 <web_client_url>。 有关更多信息,请参阅 查找 Web 客户机 URL

查找用于认证的 URL

了解如何查找 IBM Cloud Pak 基础服务 URL 和网络客户端 URL。

查找 IBM Cloud Pak 基础服务 URL

IBM Cloud Pak 基础服务 URL 描述了 Red Hat OpenShift 路由,该路由由 IBM Common Services 创建。 默认情况下, IBM Cloud Pak 基础服务命名空间为 ibm-common-services。 使用以下命令可以找到 IBM Cloud Pak 基础服务 URL :

oc get routes -n ibm-common-services

此命令会返回以下输出:

NAME                HOST/PORT                     PATH   SERVICES                   PORT    TERMINATION            WILDCARD
<cp-console>        <foundational services url>          <service name>             https   reencrypt/Redirect     None
<cp-proxy>          <proxy URL>                          <service name>             https   passthrough/Redirect   None

查找网络客户端 URL

要查找 Web 客户机 URL ,请从 Web 客户机中的地址字段查看服务实例的详细信息。

例如,当您登录 Watson Studio 时,如果 Web 浏览器显示以下路径:

https://some-route.apps.your.server.company.com/<xyz>

然后,必须将 web client url 参数设置为
https://some-route.apps.your.server.company.com

有关更多信息,请参阅 端点 URL

故障诊断

如果在创建客户机实例时接收到此消息:

Attempt of generating `bedrock_url` automatically failed. If iamintegration=True, provide `bedrock_url` in wml_credentials. If iamintegration=False, validate your credentials.

检查 wml_credentials 字典的内容以查找错误。 如果找不到任何错误,并且问题仍然存在,请检查在 CPD 安装期间是否已将 iamintegration 参数设置为 True

如果 iamintegration 参数设置为 True,请将以下代码片段添加到 wml_credentials 字典:

"bedrock_url": "<foundational services url>"

有关详细信息,请参阅查找 IBM Cloud Pak 基础服务 URL

了解更多

有关将认证与 Notebook 配合使用的示例,请参阅 Machine Learning Python 样本和示例

父主题: 管理预测性部署