Bob オンプレミスへのアクセス

証明書の信頼、クライアントエンドポイント、およびユーザー認証を設定して、bob-ide または bob-shell を IBM Bob オンプレミスデプロイメントに接続します。

Bob オンプレミスを使用すると、セキュリティ、ID 管理、ネットワークアクセスの制御を維持しながら、独自のインフラストラクチャ内で Bob 機能を利用できます。bob-ide または bob-shell を使用する前に、デプロイメント証明書の信頼を設定し、適切なサービスエンドポイントに接続し、組織のクレデンシャルで認証する必要があります。

開始前の確認事項

先に進む前に、以下の項目についてクラスター管理者に確認してください。

  • Bob オンプレミスデプロイメントがインストールされ、稼働していること。Bob カスタムリソース (CR) が Ready ステータスを報告している必要があります。
  • Bob API エンドポイント URL を https://api.<cluster-domain> の形式で持っていること。管理者はインストール後に oc get route を実行してこの URL を確認できます。
  • デプロイメントで自己署名または内部認証局 (CA) が使用されている場合、CA 証明書ファイル (例: bob-ca.crt または bob-ca.pem) を受け取っていること。
  • 利用可能なユーザーアカウントがあること。管理者が LDAP または Active Directory フェデレーションを設定しているか、直接 Keycloak ユーザーアカウントを作成している必要があります。ユーザー管理を参照してください。
注意:

前提条件が不足している場合は、先に進む前にクラスター管理者に問い合わせてください。

CA 証明書の信頼

Bob デプロイメントで自己署名または内部管理の認証局が使用されている場合、Bob サービスへの安全な HTTPS 接続を確立する前に、ワークステーションが CA 証明書を信頼する必要があります。

注意:

デプロイメントでワークステーションによってすでに信頼されている公的に信頼された CA またはエンタープライズ CA が使用されている場合は、このセクションをスキップしてください。

証明書を検証します。

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

出力には subject と issuer フィールドが表示されます。自己署名 CA の場合、これらの値は同一です。notAfter の日付が将来の日付であることを確認してください。

以下のいずれかの方法を使用して証明書をインポートします。

方法 1: キーチェーンアクセス

  1. Finder で bob-ca.crt ファイルを見つけます。
  2. ファイルをダブルクリックします。macOS が 証明書の追加 シートを開きます。
  3. キーチェーンのドロップダウンで システム を選択し、追加 をクリックします。プロンプトが表示されたらパスワードを入力します。
  4. キーチェーンアクセス を開き、サイドバーで システム を選択して 証明書 をクリックします。
  5. インポートした証明書を見つけて、そのプロパティを開きます。
  6. 信頼 を展開し、この証明書を使用するとき を 常に信頼 に設定します。
  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 がまだ証明書を信頼しない場合は、CA 証明書を使用するように Node.js を設定します。

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

設定を永続化するために、シェルプロファイルに変数を追加してください。

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 デプロイメントへの接続に使用するエンドポイントを設定します。

環境変数 (推奨)

セッション間で永続化するために、シェルプロファイル (例: ~/.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 オンプレミスデプロイメントにアクセスし、コード生成、分析、リファクタリング、およびその他のサポートされている開発ワークフローを利用できます。

このトピックはいかがですか?