访问 Bob 本地版

通过配置证书信任、客户端端点和用户身份验证,将 bob-ide 或 bob-shell 连接到 IBM Bob 本地部署。

Bob 本地版让你能够在自己的基础设施中使用 Bob 的功能,同时保持对安全、身份管理和网络访问的控制。在使用 bob-ide 或 bob-shell 之前,你必须为部署证书配置信任关系、连接到相应的服务端点,并使用组织凭证进行身份验证。

开始之前

在继续操作之前,请向集群管理员确认以下事项:

  • Bob 本地部署已安装并正常运行。Bob 自定义资源(CR)必须报告 Ready 状态。
  • 你已获得格式为 https://api.<cluster-domain> 的 Bob API 端点 URL。管理员可在安装后运行 oc get route 来获取该地址。
  • 如果部署使用自签名或内部证书颁发机构(CA),你已收到 CA 证书文件(例如 bob-ca.crt 或 bob-ca.pem)。
  • 你的用户账号已准备好。管理员已配置 LDAP 或 Active Directory 联合,或已直接在 Keycloak 中创建用户账号。请参阅用户管理。
注意:

如果缺少任何先决条件,请在继续操作之前联系集群管理员。

信任 CA 证书

如果 Bob 部署使用自签名或内部管理的证书颁发机构,你的工作站必须先信任该 CA 证书,才能与 Bob 服务建立安全的 HTTPS 连接。

注意:

如果部署使用工作站已信任的公共可信或企业 CA,请跳过本节。

验证证书:

openssl x509 -in bob-ca.crt -noout -subject -issuer -dates

输出内容会显示 subject 和 issuer 字段。对于自签名 CA,这两个值相同。请确认 notAfter 日期在未来。

使用以下选项之一导入证书:

选项 1:钥匙串访问

  1. 在 Finder 中找到 bob-ca.crt 文件。
  2. 双击该文件。macOS 会打开添加证书对话框。
  3. 在钥匙串下拉菜单中,选择 System 并点击 Add。出现提示时输入密码。
  4. 打开钥匙串访问,在侧边栏中选择 System,然后点击证书。
  5. 找到已导入的证书并打开其属性。
  6. 展开 Trust 并将 When using this certificate 设置为 Always Trust。
  7. 保存更改。

导入后,退出并重新启动 bob-ide。

注意:

在 macOS Sequoia 上,如果双击证书文件没有效果,请将文件重命名以确保其扩展名为 .crt,然后重试。

选项 2:命令行

sudo security add-trusted-cert \
  -d \
  -r trustRoot \
  -k /Library/Keychains/System.keychain \
  bob-ca.crt

验证证书是否已成功导入:

security find-certificate -c "Bob Internal CA" \
  /Library/Keychains/System.keychain

导入证书后,退出并重新启动 bob-ide。

注意:

如果 bob-ide 在重新启动后仍显示 UNABLE_TO_VERIFY_LEAF_SIGNATURE,请在 bob-ide 设置文件中启用实验性系统证书设置:

{
  "http.experimental.systemCertificatesV2": true
}

如果 bob-shell 仍不信任该证书,请配置 Node.js 使用该 CA 证书:

export NODE_EXTRA_CA_CERTS="/path/to/bob-ca.crt"

将该变量添加到 shell 配置文件中以使设置持久生效。

将 CA 证书导入系统信任存储:

sudo cp bob-ca.crt /usr/local/share/ca-certificates/bob-ca.crt
sudo update-ca-certificates

使用 certmgr.msc 将证书导入"受信任的根证书颁发机构"存储,或运行:

certutil -addstore "Root" bob-ca.crt

配置客户端端点

在你的工作站信任部署证书后,配置客户端以与集群管理员提供的 Bob API 端点进行通信。

bob-ide

在设置文件中配置 API 网关端点:

  1. 打开设置。
  2. 点击打开设置文件。
  3. 指定网关 URL:
{
  "gatewayUrl": "https://api.<cluster-domain>"
}
  1. 保存文件。

bob-shell

配置 bob-shell 用于连接到 Bob 部署的端点。

环境变量(推荐)

将以下变量添加到 shell 配置文件(例如 ~/.bashrc 或 ~/.zshrc)以在会话间持久保存:

export BOB_GATEWAY_URL=https://api.<cluster-domain>
export BOB_WEB_LOGIN_URL=https://<login-domain>

命令行选项

bob \
  --gateway-url https://api.<cluster-domain> \
  --web-login-url https://<login-domain>
注意:
  • BOB_WEB_LOGIN_URL 和 --web-login-url 仅在使用 SSO 身份验证且无法从网关 URL 自动推导登录 URL 时才需要。
  • 对于 API 密钥身份验证,只需要 BOB_GATEWAY_URL。
  • 如果在 settings.json 中配置了 gatewayUrl,则 bob-ide 和 bob-shell 均使用该值。

登录

配置端点后,使用分配的凭证向 Bob 部署进行身份验证。

  • 对于 bob-ide,点击登录。
  • 对于 bob-shell,运行 bob 命令。

你将被重定向到组织的身份验证提供商(例如 Keycloak),在那里使用组织凭证登录。

成功通过身份验证后,你可以使用 bob-ide 或 bob-shell 访问 IBM Bob 本地部署,进行代码生成、分析、重构以及其他受支持的开发工作流。

这个主题怎么样?