Zugriff auf einzelne Cloud Workstations-Ports gewähren

Sie können IAM-Bedingungen verwenden, um Zugriff auf einzelne Workstation-Ports zu gewähren. Dies ist nützlich, um eingeschränkten Zugriff auf einzelne Workstation-Ports zu gewähren. Sie können beispielsweise IAM-Bedingungen verwenden, um Zugriff auf einen Demoserver zu gewähren, der auf einem Workstation-Port ausgeführt wird.

Cloud Workstations unterstützt das IAM-Attribut destination.port Conditions.

Weitere Informationen zu IAM Conditions finden Sie in den folgenden Abschnitten:

Hinweise

Bevor Sie Zugriff auf einzelne Workstation-Ports gewähren können, benötigen Sie die Rolle „Cloud Workstations Policy Admin“ (roles/workstations.policyAdmin) auf der Workstation.

IAM-Rollen auf der Workstation prüfen

Sie benötigen die Rollen „Cloud Workstations-Nutzer“ (roles/workstations.user) und „Cloud Workstations Policy Admin“ (roles/workstations.policyAdmin) auf der Workstation. Andernfalls bitten Sie den Cloud Workstations-Administrator Ihrer Organisation, Ihnen diese Rollen auf der Workstation zu gewähren.

Demoserver auf Workstation starten

Folgen Sie der Anleitung unter Workstation starten, um Ihre Workstations zu starten und eine Verbindung zu ihnen herzustellen. Führen Sie den folgenden Befehl auf der Workstation aus, um einen Demoserver auf einem Workstation-Port zu starten.

python3 -m http.server WORKSTATIONS_PORT

Ersetzen Sie Folgendes:

  • WORKSTATIONS_PORT: Der Port, auf dem der Demoserver wartet. Verwenden Sie beispielsweise 8081.

Bedingte IAM-Richtlinie der Workstation aktualisieren

Sie können die Google Cloud Console oder den Befehl gcloud CLI iam policies verwenden, um Zugriff auf einen Workstation-Port zu gewähren.

Console

So gewähren Sie bedingten Zugriff auf die Workstation:

  1. Rufen Sie in der Google Cloud Console die Seite Cloud Workstations > Workstations auf.

    Zu den Workstations

  2. Suchen Sie Ihre Workstation und klicken Sie auf das Dreipunkt-Menü more_vertMehr und wählen Sie Nutzer hinzufügen aus.

    Nutzer auf der Seite „Workstation“ hinzufügen und Berechtigungen bearbeiten

  3. Wenn Sie bedingten Zugriff gewähren möchten, geben Sie die E-Mail-Adresse des Hauptkontos ein. Beispiel: 222larabrown@gmail.com

  4. Achten Sie darauf, dass Cloud Workstations User (Nutzer von Cloud-Arbeitsstationen) als Rolle ausgewählt ist.

  5. Aktualisieren Sie die IAM-Bedingung, um portspezifischen Zugriff zu gewähren:

    1. Klicken Sie auf IAM-Bedingung hinzufügen.

    2. Geben Sie einen Titel wie Port 8081 an.

    3. Geben Sie auf dem Tab Bedingungseditor die folgende Bedingung ein:

    destination.port == WORKSTATIONS_PORT
    

    IAM-Bedingungseditor mit Bedingung für Zielport 8081

    1. Klicken Sie auf Speichern, um dem Hauptkonto bedingten Zugriff auf den bestimmten Anschluss zu gewähren.

gcloud

  1. Rufen Sie die IAM-Richtlinie für die Workstation mit dem Befehl gcloud workstations get-iam-policy ab. Mit diesem Befehl wird die Richtlinie in der Datei /tmp/WORKSTATIONS_NAME.yaml ausgegeben. Wenn die Datei vorhanden ist, wird sie überschrieben.

    gcloud workstations get-iam-policy WORKSTATIONS_NAME \
      --cluster=WORKSTATIONS_CLUSTER_NAME \
      --config=WORKSTATIONS_CONFIG_NAME \
      --region=LOCATION \
      --project=WORKSTATIONS_PROJECT_ID \
      > /tmp/WORKSTATIONS_NAME.yaml
    

    Ersetzen Sie Folgendes:

    • WORKSTATIONS_NAME: Der Name der Workstation.
    • WORKSTATIONS_CONFIG_NAME: Der Name der Workstationkonfiguration.
    • WORKSTATIONS_CLUSTER_NAME: Der Name des Workstation-Clusters.
    • LOCATION: Der Regionsname für Ihren Workstation-Cluster.
    • WORKSTATIONS_PROJECT_ID: die ID des Cloud Workstations-Projekts, das Ihre Workstation enthält.
  2. Wenn Sie einem Hauptkonto bedingten Zugriff gewähren möchten, aktualisieren Sie die IAM-Richtliniendatei der Workstation, die Sie im vorherigen Schritt unter /tmp/WORKSTATIONS_NAME.yaml heruntergeladen haben.

    Beispiel:

    bindings:
    - members:
      - user:YOUR_ID
        role: roles/workstations.user
    - condition:
        expression: destination.port == WORKSTATIONS_PORT
        title: Port WORKSTATIONS_PORT
      members:
      - user:PRINCIPAL
      role: roles/workstations.user
    etag: BwYlui8uSXo=
    version: 3
    

    Ersetzen Sie Folgendes:

    • YOUR_ID: Ihre eigene Anmelde-ID. Beispiel: 222larabrown@gmail.com
    • PRINCIPAL: Das Hauptkonto, mit dem Sie den Zugriff auf den Port WORKSTATIONS_PORT der Workstation teilen möchten. Beispiel: baklavainthebalkans@gmail.com
    • WORKSTATIONS_PORT: Der Workstation-Port, auf dem der Demoserver wartet.
  3. Legen Sie die IAM-Richtlinie der Workstation mit dem Befehl gcloud workstations set-iam-policy fest.

    gcloud workstations set-iam-policy WORKSTATIONS_NAME \
      --cluster=WORKSTATIONS_CLUSTER_NAME \
      --config=WORKSTATIONS_CONFIG_NAME \
      --region=LOCATION \
      --project=WORKSTATIONS_PROJECT_ID \
      /tmp/WORKSTATIONS_NAME.yaml
    

    Ersetzen Sie Folgendes:

    • WORKSTATIONS_NAME: Der Name der Workstation.
    • WORKSTATIONS_CONFIG_NAME: Der Name der Workstationkonfiguration.
    • WORKSTATIONS_CLUSTER_NAME: Der Name des Workstation-Clusters.
    • LOCATION: Der Regionsname für Ihren Workstation-Cluster.
    • WORKSTATIONS_PROJECT_ID: die ID des Cloud Workstations-Projekts, das Ihre Workstation enthält.

Nachdem die IAM-Richtlinie der Workstation aktualisiert wurde, kann das Hauptkonto auf den angegebenen Port der Workstation zugreifen.

URL der Arbeitsstation teilen

Das Hauptkonto kann über die folgende Workstation-URL auf den angegebenen Port zugreifen:

https://WORKSTATIONS_PORT-WORKSTATIONS_NAME.WORKSTATIONS_CLUSTER_NAME.cloudworkstations.dev

Die Platzhalter stehen für Folgendes:

  • WORKSTATIONS_PORT: der Port, auf dem der Demoserver wartet.
  • WORKSTATIONS_NAME: den Namen der Workstation.
  • WORKSTATIONS_CLUSTER_NAME: die zufällig generierte Cluster-ID.
  • cloudworkstations.dev: der Standarddomainname einer Workstation.

Das Hauptkonto kann nicht auf andere Ports der Workstation zugreifen, auf die es keinen Zugriff hat.