本文档介绍了如何在工作站中进行身份验证和设置 API 访问权限。如需了解 Google Cloud 身份验证的一般信息,请参阅身份验证概览。
使用 Google Cloud CLI 以用户身份进行身份验证
启动 Cloud Workstations 后,您可以通过 gcloud
CLI 使用您的用户帐号访问 Google Cloud 服务和 API。
- 在工作站中打开一个终端。打开终端窗口的方式取决于您使用的 IDE。 例如,如果您使用的是 Cloud Workstations 基础编辑器,请通过依次选择终端 > 新建终端或按 Ctrl+Shift+` 来打开一个终端。
- 使用以下命令进行身份验证:
gcloud auth login --no-launch-browser
- 按照该命令提供的说明向 Google Cloud 进行身份验证。
- 使用以下命令指定您的 Google Cloud 项目 ID:
gcloud config set project PROJECT_ID
-
启用应用默认凭据,以允许您调用 Google Cloud 服务。
gcloud auth application-default login
- 您的
gcloud
CLI 凭据现已保存,您可以在以后的会话中使用工作站。
向工作站发出 HTTP 请求
如需向工作站发出 HTTP 请求,您需要拥有该工作站上具有 Cloud Workstations User 角色的帐号的访问令牌:
- 使用 generateAccessToken API 方法生成访问令牌。
- 添加一个名为
Authorization
且值为Bearer $TOKEN
的 HTTP 标头。
在浏览器中连接到工作站
在浏览器中打开工作站网址后,系统会自动通过重定向到工作站服务器进行身份验证,并检索由 generateAccessToken API 方法生成的访问令牌。这会重定向回您的工作站,并设置对当前工作站会话有效的身份验证 Cookie。
若要跳过此重定向,请使用 _workstationAccessToken
网址参数:
- 使用 generateAccessToken API 方法生成访问令牌。
- 在浏览器中打开您的工作站网址,并附加采用以下格式的网址参数:
_workstationAccessToken=TOKEN
。
这将在您的浏览器中设置身份验证 Cookie,以允许访问您当前的工作站会话。如果网络政策禁止访问工作站服务器,或使用 iframe 在其他网站中显示工作站,跳过重定向会很有帮助。
模拟服务账号
如果贵组织的安全政策阻止用户帐号具有所需的权限,您还可以使用 gcloud
CLI
impersonate_service_account
属性模拟服务帐号。
-
为了确保主账号具有模拟服务账号的必要权限,请让您的管理员为主账号授予服务账号的 Service Account Token Creator (
roles/iam.serviceAccountTokenCreator
) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限。此预定义角色包含
iam.serviceAccounts.getAccessToken
权限,模拟服务账号需要此权限。 - 在工作站中打开终端,或前往已经打开的终端。
- 如需设置
impersonate_service_account
属性,请输入以下gcloud
CLI 命令:gcloud config set auth/impersonate_service_account=SERVICE_ACCT_EMAIL
- 您的
gcloud
CLI 凭据现已保存,您可以在以后的会话中使用工作站。
如需了解详情,请参阅 使用服务帐号模拟。