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 客户机并使用凭证进行认证:
- 使用 username 和 password 凭证创建客户机
- 使用 username 和 apikey 凭证创建客户机
使用 username 和 password 凭证创建客户机
您可以创建 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。
使用 username 和 apikey 凭证创建客户机
您可以创建 Python 客户机并使用用户名和 API 密钥进行认证。 要从 UI 检索 API 密钥,请转至概要文件页面,然后单击 API 密钥。
以下示例显示如何使用 username 和 apikey 凭证创建 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 样本和示例。
父主题: 管理预测性部署