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

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

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

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

  1. 在工作站中打开一个终端。打开终端窗口的方式取决于您使用的 IDE。 例如,如果您使用的是 Cloud Workstations 基础编辑器,请通过依次选择终端 > 新建终端或按 Ctrl+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 且值为 Bearer $TOKEN 的 HTTP 标头。

在浏览器中连接到工作站

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

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

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

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

模拟服务账号

如果贵组织的安全政策阻止用户帐号具有所需的权限,您还可以使用 gcloud CLI impersonate_service_account 属性模拟服务帐号。

  1. 为了确保主账号具有模拟服务账号的必要权限,请让您的管理员为主账号授予服务账号的 Service Account Token Creator (roles/iam.serviceAccountTokenCreator) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限

    此预定义角色包含 iam.serviceAccounts.getAccessToken 权限,模拟服务账号需要此权限。

    您的管理员也可以使用自定义角色或其他预定义角色为主账号授予此权限。

  2. 在工作站中打开终端,或前往已经打开的终端。
  3. 如需设置 impersonate_service_account 属性,请输入以下 gcloud CLI 命令:
    gcloud config set auth/impersonate_service_account=SERVICE_ACCT_EMAIL
  4. 您的 gcloud CLI 凭据现已保存,您可以在以后的会话中使用工作站。
  5. 如需了解详情,请参阅 使用服务帐号模拟

后续步骤