存取 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:Keychain Access

  1. 在 Finder 中找到 bob-ca.crt 檔案。
  2. 按兩下該檔案。macOS 會開啟「加入憑證」視窗。
  3. 在金鑰鏈下拉選單中選取 System,然後點按 Add。系統提示時輸入密碼。
  4. 開啟 Keychain Access,在側邊欄選取 System,然後點按 Certificates。
  5. 找到已匯入的憑證並開啟其屬性。
  6. 展開 Trust,將 When using this certificate 設為 Always Trust。
  7. 儲存變更。

匯入後,請結束並重新啟動 bob-ide。

Note:

在 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。

Note:

如果重新啟動後 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. 開啟 Settings。
  2. 點按 Open settings file。
  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,點按 Sign In。
  • 對於 bob-shell,執行 bob 指令。

你將被重新導向至你組織的驗證提供者(例如 Keycloak),在那裡使用你的組織憑證登入。

成功驗證後,你可以使用 bob-ide 或 bob-shell 存取 IBM Bob 本地部署,進行程式碼生成、分析、重構和其他受支援的開發工作流程。

這個主題如何?