访问 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:钥匙串访问
- 在 Finder 中找到
bob-ca.crt文件。 - 双击该文件。macOS 会打开添加证书对话框。
- 在钥匙串下拉菜单中,选择 System 并点击 Add。出现提示时输入密码。
- 打开钥匙串访问,在侧边栏中选择 System,然后点击证书。
- 找到已导入的证书并打开其属性。
- 展开 Trust 并将 When using this certificate 设置为 Always Trust。
- 保存更改。
导入后,退出并重新启动 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 网关端点:
- 打开设置。
- 点击打开设置文件。
- 指定网关 URL:
{
"gatewayUrl": "https://api.<cluster-domain>"
}- 保存文件。
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 本地部署,进行代码生成、分析、重构以及其他受支持的开发工作流。