Puedes usar las condiciones de IAM para otorgar acceso a puertos de estaciones de trabajo individuales. Esto es útil para compartir acceso limitado a puertos individuales de la estación de trabajo. Por ejemplo, puedes usar las condiciones de IAM para otorgar acceso a un servidor de demostración que se ejecuta en un puerto de estación de trabajo.
Cloud Workstations admite el atributo Condiciones de IAM de destination.port
.
Para obtener más información sobre las Condiciones de IAM, consulta los siguientes temas:
Antes de comenzar
Antes de poder otorgar acceso a puertos de estaciones de trabajo individuales, debes tener el rol de
Administración de políticas de Cloud Workstations
(roles/workstations.policyAdmin
) en la estación de trabajo.
Verifica los roles de IAM en la estación de trabajo
Asegúrate de tener los roles de usuario de Cloud Workstations (roles/workstations.user
) y administrador de políticas de Cloud Workstations (roles/workstations.policyAdmin
) en la estación de trabajo. Si no es así, pídele al administrador de Cloud Workstations de tu
organización que te otorgue esos roles en la estación de trabajo.
Cómo iniciar un servidor de demostración en la estación de trabajo
Inicia y conéctate a tus estaciones de trabajo con la guía Cómo iniciar una estación de trabajo. Ejecuta el siguiente comando en la estación de trabajo para iniciar un servidor de demostración en un puerto de la estación de trabajo.
python3 -m http.server WORKSTATIONS_PORT
Reemplaza lo siguiente:
WORKSTATIONS_PORT
: Es el puerto en el que escuchará el servidor de demostración. Por ejemplo, usa 8081.
Actualiza la política de IAM condicional de la estación de trabajo
Para otorgar acceso a un puerto de estación de trabajo, puedes usar la consola de Google Cloud o el comando iam policies
de la CLI de gcloud
.
Console
Para otorgar acceso condicional a la estación de trabajo, sigue estos pasos:
En la consola de Google Cloud, navega a la página Cloud Workstations > Estaciones de trabajo.
Busca tu estación de trabajo y, luego, haz clic en el menú de opciones more_vertMás y selecciona Agregar usuarios.
Para otorgar acceso condicional, ingresa el correo electrónico de la principal. Por ejemplo,
222larabrown@gmail.com
.Asegúrate de que el rol Usuario de estaciones de trabajo en la nube esté seleccionado.
Actualiza la condición de IAM para otorgar acceso específico al puerto:
Haz clic en Agregar condición de IAM.
Especifica un título, como Puerto 8081.
En la pestaña Editor de condiciones, ingresa la siguiente condición:
destination.port == WORKSTATIONS_PORT
- Haz clic en Guardar para finalizar el otorgamiento de acceso condicional al puerto específico al principal.
gcloud
Obtén la política de IAM de la estación de trabajo con el comando
workstations get-iam-policy
de la CLI degcloud
. Este comando genera la política en el archivo/tmp/WORKSTATIONS_NAME.yaml
. Si el archivo ya existe, se reemplazará.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
Reemplaza lo siguiente:
WORKSTATIONS_NAME
: Es el nombre de la estación de trabajo.WORKSTATIONS_CONFIG_NAME
: Es el nombre de la configuración de la estación de trabajo.WORKSTATIONS_CLUSTER_NAME
: Es el nombre del clúster de estaciones de trabajo.LOCATION
: Es el nombre de la región de tu clúster de estaciones de trabajo.WORKSTATIONS_PROJECT_ID
: El ID del proyecto de Cloud Workstations que contiene tu estación de trabajo.
Para otorgar acceso condicional a un principal, actualiza el archivo de política de IAM de la estación de trabajo que descargaste en el paso anterior en
/tmp/WORKSTATIONS_NAME.yaml
.Por ejemplo:
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
Reemplaza lo siguiente:
YOUR_ID
: Tu propio ID de acceso Por ejemplo,222larabrown@gmail.com
PRINCIPAL
: El principal con el que deseas compartir el acceso al puerto WORKSTATIONS_PORT de la estación de trabajo. Por ejemplo,baklavainthebalkans@gmail.com
.WORKSTATIONS_PORT
: Es el puerto de la estación de trabajo en el que escucha el servidor de demostración.
Establece la política de IAM de la estación de trabajo con el comando
workstations set-iam-policy
de la CLI degcloud
.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
Reemplaza lo siguiente:
WORKSTATIONS_NAME
: Es el nombre de la estación de trabajo.WORKSTATIONS_CONFIG_NAME
: Es el nombre de la configuración de la estación de trabajo.WORKSTATIONS_CLUSTER_NAME
: Es el nombre del clúster de estaciones de trabajo.LOCATION
: Es el nombre de la región de tu clúster de estaciones de trabajo.WORKSTATIONS_PROJECT_ID
: El ID del proyecto de Cloud Workstations que contiene tu estación de trabajo.
Después de que se actualice la política de IAM de la estación de trabajo, el principal poderá acceder al puerto especificado de la estación de trabajo.
Cómo compartir la URL de la estación de trabajo
El principal podrá acceder al puerto especificado con la siguiente URL de la estación de trabajo:
https://WORKSTATIONS_PORT-WORKSTATIONS_NAME.WORKSTATIONS_CLUSTER_NAME.cloudworkstations.dev
Los marcadores de posición representan lo siguiente:
WORKSTATIONS_PORT
: Es el puerto en el que escucha el servidor de demostración.WORKSTATIONS_NAME
: El nombre de la estación de trabajo.WORKSTATIONS_CLUSTER_NAME
: Es el identificador del clúster generado de forma aleatoria.cloudworkstations.dev
: Es el nombre de dominio predeterminado de una estación de trabajo.
El principal no podrá acceder a otros puertos de la estación de trabajo a los que no tenga acceso.