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 den Zugriff auf einzelne Arbeitsstationsports einzuschränken. Sie können beispielsweise IAM-Bedingungen verwenden, um Zugriff auf einen Demoserver zu gewähren, der auf einem Arbeitsstationsport ausgeführt wird.

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

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

Hinweise

Bevor Sie Zugriff auf einzelne Workstation-Ports gewähren können, müssen Sie die Rolle „Cloud Workstations Policy Admin“ (roles/workstations.policyAdmin) für die Workstation haben.

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) für die Workstation. Wenn Sie sie nicht haben, bitten Sie den Cloud Workstations-Administrator Ihrer Organisation, Ihnen diese Rollen für die Workstation zu gewähren.

Demoserver auf der 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 auf Anfragen wartet. Verwenden Sie beispielsweise 8081.

Bedingte IAM-Richtlinie der Workstation aktualisieren

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

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, klicken Sie auf das Menü more_vertMehr und wählen Sie Nutzer hinzufügen aus.

    Nutzer hinzufügen und Berechtigungen auf der Seite „Arbeitsstation“ 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 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 an, z. B. Port WORKSTATIONS_PORT.

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

    destination.port == WORKSTATIONS_PORT
    

    IAM Conditions-Editor mit Bedingung für Zielport 8081

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

gcloud

  1. Rufen Sie die IAM-Richtlinie für die Workstation mit dem CLI-Befehl gcloud workstations get-iam-policy ab. Mit diesem Befehl wird die Richtlinie in die 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 Arbeitsstation.
    • WORKSTATIONS_CONFIG_NAME: Der Name der Workstation-Konfiguration.
    • 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.

    Das YAML-Format der Richtlinie wird in /tmp/WORKSTATIONS_NAME.yaml heruntergeladen:

    bindings:
    - members:
      - user:222larabrown@gmail.com
      role: roles/workstations.user
    etag: BwYdnV9Eg7Y=
    version: 1
    
  2. Wenn Sie einem Hauptkonto bedingten Zugriff gewähren möchten, fügen Sie der Richtliniendatei, die Sie im vorherigen Schritt heruntergeladen haben, den folgenden hervorgehobenen Bedingungsausdruck hinzu.

    Ändern Sie das ETag nicht. Die Version muss als 3 angegeben werden, da diese Richtlinie das Feld condition enthält.

    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, an dem der Demoserver auf Anfragen wartet.
  3. Legen Sie die IAM-Richtlinie der Workstation mit dem CLI-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 Arbeitsstation.
    • WORKSTATIONS_CONFIG_NAME: Der Name der Workstation-Konfiguration.
    • 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 mit der folgenden Arbeitsstations-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 empfangsbereit ist.
  • WORKSTATIONS_NAME: Der Name der Arbeitsstation.
  • WORKSTATIONS_CLUSTER_NAME: die zufällig generierte Cluster-ID.
  • cloudworkstations.dev: Der Standarddomainname für eine Workstation.

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