存取 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
- 在 Finder 中找到
bob-ca.crt檔案。 - 按兩下該檔案。macOS 會開啟「加入憑證」視窗。
- 在金鑰鏈下拉選單中選取 System,然後點按 Add。系統提示時輸入密碼。
- 開啟 Keychain Access,在側邊欄選取 System,然後點按 Certificates。
- 找到已匯入的憑證並開啟其屬性。
- 展開 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 閘道端點:
- 開啟 Settings。
- 點按 Open settings file。
- 指定閘道 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,點按 Sign In。 - 對於
bob-shell,執行bob指令。
你將被重新導向至你組織的驗證提供者(例如 Keycloak),在那裡使用你的組織憑證登入。
成功驗證後,你可以使用 bob-ide 或 bob-shell 存取 IBM Bob 本地部署,進行程式碼生成、分析、重構和其他受支援的開發工作流程。