Concedere l'accesso alle singole porte di Cloud Workstations

Puoi utilizzare le condizioni IAM per concedere l'accesso alle singole porte della workstation. Questa opzione è utile per condividere l'accesso limitato alle singole porte della workstation. Ad esempio, puoi utilizzare le condizioni IAM per concedere l'accesso a un server demo in esecuzione su una porta della workstation.

Cloud Workstations supporta l'attributo destination.port Condizioni IAM.

Per ulteriori informazioni sulle condizioni IAM, consulta quanto segue:

Prima di iniziare

Prima di poter concedere l'accesso alle singole porte della workstation, devi disporre del ruolo roles/workstations.policyAdmin Amministratore criteri Cloud Workstations sulla workstation.

Controlla i ruoli IAM sulla workstation

Assicurati di disporre dei ruoli Utente Cloud Workstations (roles/workstations.user) e Amministratore criteri Cloud Workstations (roles/workstations.policyAdmin) sulla workstation. In caso contrario, chiedi all'amministratore di Cloud Workstations della tua organizzazione di concederti questi ruoli sulla workstation.

Avvia un server demo nella workstation

Avvia e connettiti alle tue workstation utilizzando la guida Avvia la workstation. Esegui il seguente comando sulla workstation per avviare un server di demo su una porta della workstation.

python3 -m http.server WORKSTATIONS_PORT

Sostituisci quanto segue:

  • WORKSTATIONS_PORT: la porta su cui il server demo ascolterà. Ad esempio, utilizza 8081.

Aggiorna il criterio IAM condizionale della workstation

Per concedere l'accesso a una porta della workstation, puoi utilizzare la console Google Cloud o il comando gcloudiam policies CLI.

Console

Per concedere l'accesso condizionale alla workstation:

  1. Nella console Google Cloud, vai alla pagina Cloud Workstations > Workstation.

    Vai a Workstation

  2. Individua la tua workstation, poi fai clic sul menu opzioni more_vertAltro e seleziona Aggiungi utenti.

    Aggiungi utenti e modifica le autorizzazioni dalla pagina **Workstation**

  3. Per concedere l'accesso condizionale, inserisci l'indirizzo email dell'entità. Ad esempio, 222larabrown@gmail.com.

  4. Assicurati che Utente delle workstation cloud sia selezionato come ruolo.

  5. Aggiorna la condizione IAM per concedere l'accesso specifico per porta:

    1. Fai clic su Aggiungi condizione IAM.

    2. Specifica un titolo, ad esempio Porta 8081.

    3. Nella scheda Editor delle condizioni, inserisci la seguente condizione:

    destination.port == WORKSTATIONS_PORT
    

    Editor delle condizioni IAM con condizione della porta di destinazione 8081

    1. Fai clic su Salva per finalizzare la concessione dell'accesso condizionale alla porta specifica all'entità.

gcloud

  1. Recupera il criterio IAM della workstation utilizzando il comando gcloudworkstations get-iam-policy della CLI. Questo comando stampa il criterio nel file: /tmp/WORKSTATIONS_NAME.yaml. Se il file esiste, verrà sovrascritto.

    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
    

    Sostituisci quanto segue:

    • WORKSTATIONS_NAME: il nome della workstation.
    • WORKSTATIONS_CONFIG_NAME: il nome della configurazione della workstation.
    • WORKSTATIONS_CLUSTER_NAME: il nome del cluster di workstation.
    • LOCATION: il nome della regione per il cluster di workstation.
    • WORKSTATIONS_PROJECT_ID: l'ID del progetto Cloud Workstations contenente la tua workstation.
  2. Per concedere l'accesso condizionale a un'entità, aggiorna il file del criterio IAM della workstation scaricato nel passaggio precedente all'indirizzo: /tmp/WORKSTATIONS_NAME.yaml.

    Ad esempio:

    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
    

    Sostituisci quanto segue:

    • YOUR_ID: il tuo ID di accesso. Ad esempio, 222larabrown@gmail.com.
    • PRINCIPAL: il principale con cui vuoi condividere l'accesso alla porta WORKSTATIONS_PORT della workstation. Ad esempio: baklavainthebalkans@gmail.com.
    • WORKSTATIONS_PORT: la porta della workstation su cui è in ascolto il server demo.
  3. Imposta il criterio IAM della workstation utilizzando il comando gcloudworkstations set-iam-policy della CLI.

    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
    

    Sostituisci quanto segue:

    • WORKSTATIONS_NAME: il nome della workstation.
    • WORKSTATIONS_CONFIG_NAME: il nome della configurazione della workstation.
    • WORKSTATIONS_CLUSTER_NAME: il nome del cluster di workstation.
    • LOCATION: il nome della regione per il cluster di workstation.
    • WORKSTATIONS_PROJECT_ID: l'ID del progetto Cloud Workstations contenente la tua workstation.

Dopo l'aggiornamento del criterio IAM della workstation, il principale potrà accedere alla porta specificata della workstation.

Condividi l'URL della workstation

L'entità principale potrà accedere alla porta specificata con il seguente URL della workstation:

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

I segnaposto rappresentano quanto segue:

  • WORKSTATIONS_PORT: la porta su cui è in ascolto il server demo.
  • WORKSTATIONS_NAME: il nome della workstation.
  • WORKSTATIONS_CLUSTER_NAME: l'identificatore del cluster generato in modo casuale.
  • cloudworkstations.dev: il nome di dominio predefinito per una workstation.

L'entità non potrà accedere ad altre porte della workstation a cui non ha accesso.