Vous pouvez utiliser les conditions IAM pour accorder l'accès à des ports de station de travail individuels. Cela s'avère utile pour partager un accès limité à des ports de station de travail individuels. Par exemple, vous pouvez utiliser les conditions IAM pour accorder l'accès à un serveur de démonstration exécuté sur un port de station de travail.
Cloud Workstations est compatible avec l'attribut destination.port
Conditions IAM.
Pour en savoir plus sur les conditions IAM, consultez les pages suivantes:
Avant de commencer
Avant de pouvoir accorder l'accès à des ports de poste de travail individuels, vous devez disposer du rôle Administrateur des règles Cloud Workstations (roles/workstations.policyAdmin
) sur le poste de travail.
Vérifier les rôles IAM sur la station de travail
Assurez-vous de disposer des rôles Utilisateur Cloud Workstations (roles/workstations.user
) et Administrateur des règles Cloud Workstations (roles/workstations.policyAdmin
) sur la station de travail. Si ce n'est pas le cas, demandez à l'administrateur Cloud Workstations de votre organisation de vous attribuer ces rôles sur la station de travail.
Démarrer un serveur de démonstration dans une station de travail
Démarrez et connectez-vous à vos stations de travail à l'aide du guide Démarrer la station de travail. Exécutez la commande suivante sur le poste de travail pour démarrer un serveur de démonstration sur un port de poste de travail.
python3 -m http.server WORKSTATIONS_PORT
Remplacez les éléments suivants :
WORKSTATIONS_PORT
: port sur lequel le serveur de démonstration écoutera. Par exemple, utilisez 8081.
Mettre à jour la stratégie IAM conditionnelle d'une station de travail
Pour accorder l'accès à un port de station de travail, vous pouvez utiliser la console Google Cloud ou la commande iam policies
de la CLI gcloud
.
Console
Pour accorder un accès conditionnel à la station de travail:
Dans la console Google Cloud, accédez à la page Cloud Workstations > Workstations.
Recherchez votre station de travail, puis cliquez sur le menu d'options more_vertPlus, puis sélectionnez Ajouter des utilisateurs.
Pour accorder un accès conditionnel, saisissez l'adresse e-mail du principal. Par exemple,
222larabrown@gmail.com
.Assurez-vous que le rôle Utilisateur des stations de travail cloud est sélectionné.
Mettez à jour la condition IAM pour accorder un accès spécifique au port:
Cliquez sur Ajouter une condition IAM.
Spécifiez un titre, par exemple Port 8081.
Dans l'onglet Éditeur de conditions, saisissez la condition suivante:
destination.port == WORKSTATIONS_PORT
- Cliquez sur Enregistrer pour finaliser l'octroi d'un accès conditionnel au port spécifique au principal.
gcloud
Obtenez la stratégie IAM de la station de travail à l'aide de la commande
workstations get-iam-policy
de la CLIgcloud
. Cette commande génère la règle dans le fichier/tmp/WORKSTATIONS_NAME.yaml
. Si le fichier existe déjà, il sera écrasé.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
Remplacez les éléments suivants :
WORKSTATIONS_NAME
: nom de la station de travail.WORKSTATIONS_CONFIG_NAME
: nom de la configuration de la station de travail.WORKSTATIONS_CLUSTER_NAME
: nom du cluster de stations de travail.LOCATION
: nom de la région de votre cluster de stations de travail.WORKSTATIONS_PROJECT_ID
: ID du projet "Cloud Workstations" contenant votre station de travail.
Pour accorder un accès conditionnel à un principal, mettez à jour le fichier de stratégie IAM de la station de travail téléchargée à l'étape précédente à l'adresse :
/tmp/WORKSTATIONS_NAME.yaml
.Exemple :
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
Remplacez les éléments suivants :
YOUR_ID
: votre propre ID de connexion. Exemple :222larabrown@gmail.com
.PRINCIPAL
: compte principal avec lequel vous souhaitez partager l'accès au port WORKSTATIONS_PORT de la station de travail. Par exemple,baklavainthebalkans@gmail.com
.WORKSTATIONS_PORT
: port de la station de travail sur lequel le serveur de démonstration écoute.
Définissez la stratégie IAM de la station de travail à l'aide de la commande
workstations set-iam-policy
de la CLIgcloud
.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
Remplacez les éléments suivants :
WORKSTATIONS_NAME
: nom de la station de travail.WORKSTATIONS_CONFIG_NAME
: nom de la configuration de la station de travail.WORKSTATIONS_CLUSTER_NAME
: nom du cluster de stations de travail.LOCATION
: nom de la région de votre cluster de stations de travail.WORKSTATIONS_PROJECT_ID
: ID du projet Cloud Workstations contenant votre station de travail.
Une fois la stratégie IAM de la station de travail mise à jour, l'entité principale pourra accéder au port spécifié de la station de travail.
Partager l'URL de la station de travail
Le principal pourra accéder au port spécifié avec l'URL de la station de travail suivante:
https://WORKSTATIONS_PORT-WORKSTATIONS_NAME.WORKSTATIONS_CLUSTER_NAME.cloudworkstations.dev
Les espaces réservés représentent les éléments suivants:
WORKSTATIONS_PORT
: port sur lequel le serveur de démonstration écoute.WORKSTATIONS_NAME
: nom de la station de travail.WORKSTATIONS_CLUSTER_NAME
: identifiant de cluster généré de manière aléatoire.cloudworkstations.dev
: nom de domaine par défaut d'une station de travail.
Le principal ne pourra pas accéder aux autres ports de la station de travail auxquels il n'a pas accès.