API-Zugriff auf einer Workstation authentifizieren und einrichten

In diesem Dokument wird beschrieben, wie Sie den API-Zugriff innerhalb einer Workstation authentifizieren und einrichten. Allgemeine Informationen zur Google Cloud-Authentifizierung finden Sie in der Authentifizierungsübersicht.

Als Nutzer mit der Google Cloud CLI authentifizieren

Nach dem Start von Cloud Workstations können Sie mit Ihren Nutzerkonten über die gcloud-Befehlszeile auf Google Cloud-Dienste und die API zugreifen.

  1. Öffnen Sie ein Terminal auf der Workstation. Wie Sie ein Terminalfenster öffnen, hängt von der verwendeten IDE ab. Wenn Sie beispielsweise den Basiseditor von Cloud Workstations verwenden, öffnen Sie ein Terminal. Wählen Sie dazu Terminal > Neues Terminal aus oder drücken Sie Strg + Umschalttaste +.
  2. Authentifizieren Sie sich mit dem folgenden Befehl:
    gcloud auth login --no-launch-browser
  3. Folgen Sie der Anleitung des Befehls, um sich bei Google Cloud zu authentifizieren.
  4. Geben Sie Ihre Google Cloud-Projekt-ID mit dem folgenden Befehl an:
    gcloud config set project PROJECT_ID
  5. Aktivieren Sie die Standardanmeldedaten für Anwendungen, damit Sie Google Cloud-Dienste aufrufen können.
    gcloud auth application-default login
  6. Ihre Anmeldedaten für die gcloud-Befehlszeile werden jetzt gespeichert und sind verfügbar, wenn Sie Ihre Workstation in zukünftigen Sitzungen verwenden.

HTTP-Anfrage an eine Workstation senden

Wenn Sie eine HTTP-Anfrage an eine Workstation senden möchten, benötigen Sie ein Zugriffstoken für ein Konto, das auf dieser Workstation die Rolle Cloud Workstations User hat:

  1. Generieren Sie ein Zugriffstoken mit der API-Methode generateAccessToken.
  2. Fügen Sie einen HTTP-Header namens Authorization mit dem Wert Bearer $TOKEN hinzu.

Verbindung zur Workstation im Browser herstellen

Wenn Sie die Workstation-URL im Browser öffnen, erfolgt die Authentifizierung automatisch über eine Weiterleitung zum Workstationserver und es wird ein Zugriffstoken abgerufen, das von der API-Methode generateAccessToken generiert wird. Dadurch erfolgt eine Weiterleitung zurück zu Ihrer Workstation und ein Authentifizierungscookie, das für die aktuelle Workstationsitzung gültig ist.

Verwende den URL-Parameter _workstationAccessToken, um diese Weiterleitung zu überspringen:

  1. Generieren Sie mit der API-Methode generateAccessToken ein Zugriffstoken.
  2. Öffnen Sie die Workstation-URL im Browser und hängen Sie einen URL-Parameter im folgenden Format an: _workstationAccessToken=TOKEN.

Dadurch wird ein Authentifizierungscookie in Ihrem Browser festgelegt, das den Zugriff für die aktuelle Workstationsitzung ermöglicht. Das Überspringen der Weiterleitung kann hilfreich sein, wenn der Zugriff auf den Workstationserver durch Netzwerkrichtlinien blockiert wird oder wenn iFrames verwendet werden, um die Workstation auf anderen Websites anzuzeigen.

Identitätswechsel des Dienstkontos

Wenn die Sicherheitsrichtlinien Ihrer Organisation verhindern, dass Nutzerkonten die erforderlichen Berechtigungen haben, können Sie die Identität eines Dienstkontos auch über das Attribut impersonate_service_account der gcloud-Befehlszeile übernehmen.

  1. Bitten Sie Ihren Administrator, dem Hauptkonto die IAM-Rolle Dienstkonto-Token-Ersteller (roles/iam.serviceAccountTokenCreator) zu gewähren, damit das Hauptkonto die erforderliche Berechtigung hat, die Identität eines Dienstkontos zu übernehmen.. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

    Diese vordefinierte Rolle enthält die Berechtigung iam.serviceAccounts.getAccessToken, die erforderlich ist, um die Identität eines Dienstkontos zu übernehmen.

    Ihr Administrator kann dem Hauptkonto möglicherweise auch diese Berechtigung mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erteilen.

  2. Öffnen Sie ein Terminal auf Ihrer Workstation oder rufen Sie ein bereits geöffnetes Terminal auf.
  3. Geben Sie zum Festlegen des Attributs impersonate_service_account den folgenden gcloud-Befehl über die Befehlszeile ein:
    gcloud config set auth/impersonate_service_account=SERVICE_ACCT_EMAIL
  4. Ihre Anmeldedaten für die gcloud-Befehlszeile werden jetzt gespeichert und sind verfügbar, wenn Sie Ihre Workstation in zukünftigen Sitzungen verwenden.
  5. Weitere Informationen finden Sie unter Identitätswechsel für Dienstkonten verwenden.

Nächste Schritte