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

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

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

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

  1. 在工作站中打开一个终端。打开终端窗口的方式取决于您使用的 IDE。 例如,如果您使用的是 Cloud Workstations 基本编辑器,则可以通过选择 终端 > 新建终端 或按 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 Workstations User 角色:

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

在浏览器中连接到工作站

在浏览器中打开工作站网址会自动通过重定向到工作站服务器进行身份验证,并检索由 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 权限。如需详细了解如何为服务帐号指定范围,请参阅 访问权限范围

后续步骤