在工作站中进行身份验证并设置 API 访问权限

本文档介绍了如何在工作站中进行身份验证和设置 API 访问权限。 如需了解有关 Google Cloud 身份验证的一般信息,请参阅身份验证概览

使用 Google Cloud CLI 以用户身份进行身份验证

启动 Cloud Workstations 后,您可以通过 gcloud CLI 使用用户账号访问 Google Cloud 服务和 API。

  1. 在工作站中打开一个终端。打开终端窗口的方式取决于您使用的 IDE。 例如,如果您使用的是 Cloud Workstations 基础编辑器,请选择 Terminal > New Terminal 或按 Control+Shift+` 打开终端。
  2. 使用以下命令进行身份验证:
    gcloud auth login --no-launch-browser
  3. 按照该命令提供的说明向 Google Cloud 进行身份验证。
  4. 使用以下命令指定您的 Google Cloud 项目 ID:
    gcloud config set project PROJECT_ID
  5. 启用应用默认凭据,以便调用 Google Cloud 服务。
    gcloud auth application-default login
  6. 您的 gcloud CLI 凭据现已保存,并会在您日后使用工作站的会话中提供。

向工作站发出 HTTP 请求

如需向工作站发出 HTTP 请求,您需要拥有一个账号的访问令牌,该账号在相应工作站上具有 Cloud 工作站用户角色:

  1. 使用 generateAccessToken API 方法生成访问令牌。
  2. 添加一个名为 Authorization 且值为 Bearer $TOKEN 的 HTTP 标头。

在浏览器中连接到工作站

在浏览器中打开工作站网址会自动通过重定向到工作站服务器进行身份验证,并检索由 generateAccessToken API 方法生成的访问令牌。这会重定向回您的工作站,并设置一个对当前工作站会话有效的身份验证 Cookie。

如需跳过此重定向,请使用 _workstationAccessToken 网址参数:

  1. 使用 generateAccessToken API 方法生成访问令牌。
  2. 在浏览器中打开您的工作站网址,然后附加一个网址参数,格式如下:_workstationAccessToken=TOKEN

这会在浏览器中设置一个身份验证 Cookie,以允许您当前的工作站会话访问该服务。当网络政策阻止访问工作站服务器,或者使用 iframe 在其他网站中显示工作站时,跳过重定向会很有帮助。

模拟服务账号

如果贵组织的安全政策阻止用户账号获取所需的权限,您还可以模拟服务账号。如需模拟工作站配置中指定的 服务账号,您可以指定 服务账号权限范围字段。

        gcloud workstations configs create CONFIG \
            --cluster=CLUSTER \
            --region=REGION \
            --project=PROJECT \
            --service-account=SERVICE_ACCOUNT \
            --service-account-scopes=https://www.googleapis.com/auth/cloud-platform
      
如果指定了此值,则在此配置下工作站的用户必须对服务账号拥有 iam.serviceAccounts.actAs 权限。如需详细了解如何为服务账号指定范围,请参阅访问权限范围

后续步骤