授予对各个 Cloud Workstations 端口的访问权限

您可以使用 IAM Conditions 授予对各个工作站端口的访问权限。这有助于共享对单个工作站端口的有限访问权限。例如,您可以使用 IAM Conditions 授予对工作站端口上运行的演示服务器的访问权限。

Cloud Workstations 支持 destination.port IAM Conditions 属性。

如需详细了解 IAM 条件,请参阅以下内容:

准备工作

您必须拥有工作站的 Cloud Workstations Policy Admin (roles/workstations.policyAdmin) 角色,然后才能授予对各个工作站端口的访问权限。

检查工作站上的 IAM 角色

确保您在工作站上拥有 Cloud Workstations User (roles/workstations.user) 和 Cloud Workstations Policy Admin (roles/workstations.policyAdmin) 角色。如果您没有这些角色,请让贵组织的 Cloud Workstations Admin 向您授予工作站的这些角色。

在工作站中启动演示服务器

按照启动工作站指南启动工作站并连接到工作站。在工作站上运行以下命令,以在工作站端口上启动演示服务器。

python3 -m http.server WORKSTATIONS_PORT

替换以下内容:

  • WORKSTATIONS_PORT:演示服务器将监听的端口。例如,使用 8081。

更新工作站的条件式 IAM 政策

如需授予对工作站端口的访问权限,您可以使用 Google Cloud 控制台或 gcloud CLI iam policies 命令。

控制台

如需向工作站授予条件式访问权限,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Cloud Workstations > 工作站页面。

    进入“工作站”

  2. 找到您的工作站,然后点击 more_vert更多选项菜单,并选择添加用户

    在 **工作站** 页面中添加用户和修改权限

  3. 如需授予有条件访问权限,请输入主账号的电子邮件地址。例如 222larabrown@gmail.com

  4. 确保已选择 Cloud Workstations User 作为角色。

  5. 更新 IAM 条件以授予特定端口的访问权限:

    1. 点击添加 IAM 条件

    2. 指定标题,例如 Port WORKSTATIONS_PORT

    3. 条件编辑器标签页中,输入以下条件:

    destination.port == WORKSTATIONS_PORT
    

    包含目标端口 8081 条件的 IAM 条件编辑器

    1. 点击保存,完成向主账号授予特定端口的条件性访问权限。

gcloud

  1. 使用 gcloud CLI workstations get-iam-policy 命令获取工作站 IAM 政策。此命令会将政策输出到文件 /tmp/WORKSTATIONS_NAME.yaml 中。如果该文件已存在,则会被覆盖。

    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
    

    替换以下内容: