Puede usar las condiciones de gestión de identidades y accesos para conceder acceso a puertos de estaciones de trabajo concretos. Esto resulta útil para compartir el acceso limitado a puertos de estaciones de trabajo concretos. Por ejemplo, puedes usar las condiciones de gestión de identidades y accesos para conceder acceso a un servidor de demostración que se ejecute en un puerto de una estación de trabajo.
Cloud Workstations admite el atributo destination.port
de las condiciones de IAM.
Para obtener más información sobre las condiciones de gestión de identidades y accesos, consulta lo siguiente:
Antes de empezar
Para poder conceder acceso a puertos de estaciones de trabajo individuales, debes tener el rol de administrador de políticas de Cloud Workstations (roles/workstations.policyAdmin
) en la estación de trabajo.
Comprobar los roles de gestión de identidades y accesos en la estación de trabajo
Asegúrate de tener los roles 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 lo tienes, pide al administrador de Cloud Workstations de tu organización que te conceda esos roles en la estación de trabajo.
Iniciar un servidor de demostración en una estación de trabajo
Empieza a usar tus estaciones de trabajo y conéctate a ellas con la guía Iniciar 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
Haz los cambios siguientes:
WORKSTATIONS_PORT
: el puerto en el que escuchará el servidor de demostración. Por ejemplo, usa 8081.
Actualizar la política de gestión de identidades y accesos condicional de una estación de trabajo
Para conceder acceso a un puerto de una estación de trabajo, puedes usar la consola Google Cloud o el comando gcloud
CLI iam policies
.
Consola
Para conceder acceso condicional a la estación de trabajo, haz lo siguiente:
En la Google Cloud consola, ve a la página Cloud Workstations > Workstations.
Busca tu estación de trabajo y haz clic en el menú de opciones more_vertMás. A continuación, selecciona Añadir usuarios.
Para conceder acceso condicional, introduce el correo del principal. Por ejemplo,
222larabrown@gmail.com
.Asegúrate de que Usuario de Cloud Workstations esté seleccionado como rol.
Actualiza la condición de IAM para conceder acceso específico a un puerto:
Haz clic en Añadir condición de IAM.
Especifica un título, como Puerto WORKSTATIONS_PORT.
En la pestaña Editor de condiciones, introduce la siguiente condición:
destination.port == WORKSTATIONS_PORT
- Haz clic en Guardar para finalizar la concesión de acceso condicional al puerto específico a la entidad de seguridad.
gcloud
Obtén la política de gestión de identidades y accesos de la estación de trabajo con el comando
workstations get-iam-policy
de lagcloud
CLI. Este comando genera la política en el archivo/tmp/WORKSTATIONS_NAME.yaml
. Si el archivo ya existe, se sobrescribirá.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
Haz los cambios siguientes:
WORKSTATIONS_NAME
: el nombre de la estación de trabajo.WORKSTATIONS_CONFIG_NAME
: el nombre de la configuración de la estación de trabajo.WORKSTATIONS_CLUSTER_NAME
: el nombre del clúster de estaciones de trabajo.LOCATION
: 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.
El formato YAML de la política se descarga en
/tmp/WORKSTATIONS_NAME.yaml
:bindings: - members: - user:222larabrown@gmail.com role: roles/workstations.user etag: BwYdnV9Eg7Y= version: 1
Para conceder acceso condicional a una entidad de seguridad, añade la expresión de condición destacada que se muestra a continuación al archivo de política que has descargado en el paso anterior.
No modifiques el etag. Asegúrate de que la versión se especifique como
3
, ya que esta política incluye el campocondition
.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
Haz los cambios siguientes:
YOUR_ID
: tu propio ID de inicio de sesión. Por ejemplo,222larabrown@gmail.com
.PRINCIPAL
: el principal con el que quieres compartir el acceso al puerto WORKSTATIONS_PORT de la estación de trabajo. Por ejemplo,baklavainthebalkans@gmail.com
.WORKSTATIONS_PORT
: el puerto de la estación de trabajo en el que escucha el servidor de demostración.
Define la política de gestión de identidades y accesos de la estación de trabajo con el comando
gcloud
CLIworkstations set-iam-policy
.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
Haz los cambios siguientes:
WORKSTATIONS_NAME
: el nombre de la estación de trabajo.WORKSTATIONS_CONFIG_NAME
: el nombre de la configuración de la estación de trabajo.WORKSTATIONS_CLUSTER_NAME
: el nombre del clúster de estaciones de trabajo.LOCATION
: 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.
Una vez que se actualice la política de gestión de identidades y accesos de la estación de trabajo, la entidad de seguridad podrá acceder al puerto especificado de la estación de trabajo.
Compartir la URL de la estación de trabajo
El director 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
: el puerto en el que escucha el servidor de demostración.WORKSTATIONS_NAME
: el nombre de la estación de trabajo.WORKSTATIONS_CLUSTER_NAME
: el identificador de clúster generado aleatoriamente.cloudworkstations.dev
: nombre de dominio predeterminado de una estación de trabajo.
La entidad principal no podrá acceder a otros puertos de la estación de trabajo a los que no tenga acceso.