Zugriff auf Bob On-Premises

Verbinde bob-ide oder bob-shell mit einem IBM Bob On-Premises-Deployment, indem du die Zertifikatsvertrauensstellung, den Client-Endpoint und die Benutzerauthentifizierung konfigurierst.

Bob On-Premises ermöglicht es dir, Bob-Funktionen innerhalb deiner eigenen Infrastruktur zu nutzen und gleichzeitig die Kontrolle über Sicherheit, Identitätsmanagement und Netzwerkzugriff zu behalten. Bevor du bob-ide oder bob-shell verwenden kannst, musst du die Vertrauensstellung für das Deployment-Zertifikat konfigurieren, eine Verbindung zum entsprechenden Service-Endpoint herstellen und dich mit den Anmeldedaten deiner Organisation authentifizieren.

Vorbereitung

Bestätige vor dem Fortfahren Folgendes mit deinem Cluster-Administrator:

  • Ein Bob On-Premises-Deployment ist installiert und betriebsbereit. Die benutzerdefinierte Bob-Ressource (CR) muss den Status Ready melden.
  • Du hast die URL des Bob-API-Endpoints im Format https://api.<cluster-domain>. Dein Administrator kann diese nach der Installation durch Ausführen von oc get route abrufen.
  • Wenn das Deployment eine selbstsignierte oder interne Zertifizierungsstelle (CA) verwendet, hast du die CA-Zertifikatsdatei erhalten (z. B. bob-ca.crt oder bob-ca.pem).
  • Ein Benutzerkonto steht für dich zur Verfügung. Dein Administrator hat entweder eine LDAP- oder Active-Directory-Federation konfiguriert oder ein direktes Keycloak-Benutzerkonto erstellt. Siehe Benutzerverwaltung.
Hinweis:

Wenn eine Voraussetzung fehlt, wende dich an deinen Cluster-Administrator, bevor du fortfährst.

CA-Zertifikat als vertrauenswürdig einstufen

Wenn das Bob-Deployment eine selbstsignierte oder intern verwaltete Zertifizierungsstelle verwendet, muss deine Workstation dem CA-Zertifikat vertrauen, bevor sie sichere HTTPS-Verbindungen zu Bob-Services aufbauen kann.

Hinweis:

Überspringe diesen Abschnitt, wenn das Deployment eine öffentlich vertrauenswürdige oder Unternehmens-CA verwendet, der deine Workstation bereits vertraut.

Zertifikat überprüfen:

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

Die Ausgabe zeigt die Felder subject und issuer. Bei einer selbstsignierten CA sind diese Werte identisch. Bestätige, dass das Datum notAfter in der Zukunft liegt.

Importiere das Zertifikat mit einer der folgenden Optionen:

Option 1: Schlüsselbundverwaltung

  1. Suche die Datei bob-ca.crt im Finder.
  2. Doppelklicke auf die Datei. macOS öffnet das Dialogfenster Zertifikate hinzufügen.
  3. Wähle im Dropdown-Menü für den Schlüsselbund System aus und klicke auf Hinzufügen. Gib dein Passwort ein, wenn du dazu aufgefordert wirst.
  4. Öffne die Schlüsselbundverwaltung, wähle System in der Seitenleiste aus und klicke auf Zertifikate.
  5. Suche das importierte Zertifikat und öffne seine Eigenschaften.
  6. Klappe Vertrauen auf und setze Bei Verwendung dieses Zertifikats auf Immer vertrauen.
  7. Speichere die Änderungen.

Beende bob-ide und starte es nach dem Import neu.

Hinweis:

Wenn unter macOS Sequoia ein Doppelklick auf die Zertifikatsdatei keine Wirkung hat, benenne die Datei um, um sicherzustellen, dass sie die Dateiendung .crt hat, und versuche es erneut.

Option 2: Befehlszeile

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

Zertifikatsimport überprüfen:

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

Beende bob-ide und starte es nach dem Importieren des Zertifikats neu.

Hinweis:

Wenn bob-ide nach dem Neustart weiterhin UNABLE_TO_VERIFY_LEAF_SIGNATURE anzeigt, aktiviere die experimentelle Einstellung für Systemzertifikate in deiner bob-ide-Einstellungsdatei:

{
  "http.experimental.systemCertificatesV2": true
}

Wenn bob-shell dem Zertifikat weiterhin nicht vertraut, konfiguriere Node.js so, dass das CA-Zertifikat verwendet wird:

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

Füge die Variable zu deinem Shell-Profil hinzu, um die Einstellung dauerhaft zu machen.

CA-Zertifikat in den System-Trust-Store importieren:

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

Importiere das Zertifikat mit certmgr.msc in den Speicher für vertrauenswürdige Stammzertifizierungsstellen oder führe folgenden Befehl aus:

certutil -addstore "Root" bob-ca.crt

Client-Endpoint konfigurieren

Nachdem deine Workstation dem Deployment-Zertifikat vertraut, konfiguriere deinen Client für die Kommunikation mit dem Bob-API-Endpoint, der von deinem Cluster-Administrator bereitgestellt wurde.

bob-ide

Konfiguriere den API-Gateway-Endpoint in deiner Einstellungsdatei:

  1. Öffne die Einstellungen.
  2. Klicke auf Einstellungsdatei öffnen.
  3. Gib die Gateway-URL an:
{
  "gatewayUrl": "https://api.<cluster-domain>"
}
  1. Speichere die Datei.

bob-shell

Konfiguriere den Endpoint, den bob-shell für die Verbindung zum Bob-Deployment verwendet.

Umgebungsvariablen (empfohlen)

Füge die folgenden Variablen zu deinem Shell-Profil hinzu (z. B. ~/.bashrc oder ~/.zshrc), damit sie über Sitzungen hinweg erhalten bleiben:

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

Befehlszeilenoptionen

bob \
  --gateway-url https://api.<cluster-domain> \
  --web-login-url https://<login-domain>
Hinweis:
  • BOB_WEB_LOGIN_URL und --web-login-url sind nur erforderlich, wenn SSO-Authentifizierung verwendet wird und die Login-URL nicht automatisch aus der Gateway-URL abgeleitet werden kann.
  • Für die API-Schlüssel-Authentifizierung ist nur BOB_GATEWAY_URL erforderlich.
  • Wenn gatewayUrl in settings.json konfiguriert ist, verwenden sowohl bob-ide als auch bob-shell diesen Wert.

Anmelden

Authentifiziere dich nach dem Konfigurieren des Endpoints beim Bob-Deployment mit deinen zugewiesenen Anmeldedaten.

  • Für bob-ide klicke auf Sign In.
  • Für bob-shell führe den Befehl bob aus.

Du wirst zum Authentifizierungsanbieter deiner Organisation weitergeleitet (z. B. Keycloak), wo du dich mit deinen organisatorischen Anmeldedaten anmeldest.

Nach erfolgreicher Authentifizierung kannst du bob-ide oder bob-shell verwenden, um auf das IBM Bob On-Premises-Deployment für Codegenerierung, Analyse, Refactoring und andere unterstützte Entwicklungsworkflows zuzugreifen.

Wie ist dieses Thema?