本文档介绍了如何在工作站中进行身份验证和设置 API 访问权限,包括如何使用 Workstations 界面登录,以对 gcloud CLI 进行身份验证并向应用默认凭证 (ADC) 提供凭证。
使用 Google Cloud CLI 以用户身份进行身份验证
启动 Cloud Workstations 后,您可以使用用户账号通过 gcloud CLI 访问 Google Cloud 服务和 API。
如需对 gcloud CLI 进行身份验证并向应用默认凭证 (ADC) 提供用户凭证,请选择以下选项之一:
用户通过 Workstations 界面登录
通过 Google Cloud 控制台登录会自动对gcloud CLI 进行身份验证,并向工作站环境中的应用默认凭证 (ADC) 提供您的用户凭证。
在工作站资源上启用界面登录
如需使用此功能,请确保您的工作站配置和集群均已设置为支持界面登录:
-
在 Google Cloud 控制台中,前往工作站配置的环境设置部分。在身份验证下,选中启用推送凭据复选框(或在 API 中设置
enable_pushing_credentials: true)。 -
使用
gcloudCLI 将集群上的控制台基础网址设置为 Google Cloud 控制台端点(例如https://console.cloud.google.com/):gcloud beta workstations clusters update CLUSTER_NAME \ --region=REGION \ --console-base-url="https://console.cloud.google.com/"
从工作站登录
如需登录工作站并进行身份验证,请执行以下操作:
- 在 Code OSS for Cloud Workstations 编辑器中,点击登录您的工作站。 系统会打开 Google Cloud 控制台登录窗口。
- 在 Google Cloud 控制台中,验证您的工作站详细信息(例如工作站 ID)和账号详细信息,然后点击继续。
- 点击确认以完成登录。
-
显示确认消息后,关闭浏览器窗口并返回编辑器。
您的凭证现在可供工作站环境中的
gcloudCLI 和应用默认凭证 (ADC) 使用。
您的登录会话会在 1 小时后过期。 当您的会话即将到期时,Code OSS for Cloud Workstations 编辑器中的登录按钮会显示 EMAIL (Google) - 即将到期(其中 EMAIL 是您的电子邮件地址)或工作站登录即将到期。如需刷新凭据,请点击该按钮,然后按照 Google Cloud 控制台中的提示操作。
使用 gcloud CLI 登录
如果您的配置或集群未启用界面登录,您可以使用 gcloud CLI 从工作站内的终端手动登录:
- 在工作站中打开一个终端。打开终端窗口的方式取决于您使用的 IDE。 例如,如果您使用的是 Cloud Workstations 基础编辑器,请依次选择终端 > 新建终端或按 Control+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
- 您的
gcloudCLI 凭证现已保存,可在您日后使用工作站时使用。
向工作站发出 HTTP 请求
如需向工作站发出 HTTP 请求,您需要一个账号的访问令牌,该账号对该工作站具有 Cloud Workstations User 角色:
- 使用 generateAccessToken API 方法生成访问令牌。
- 添加一个名为
Authorization且值为Bearer $TOKEN的 HTTP 标头。
在浏览器中连接到工作站
在浏览器中打开工作站网址会自动通过重定向到工作站服务器进行身份验证,并检索由 generateAccessToken API 方法生成的访问令牌。这会重定向回您的工作站,并设置对当前工作站会话有效的身份验证 Cookie。
如需跳过此重定向,请使用 _workstationAccessToken 网址参数:
- 使用 generateAccessToken API 方法生成访问令牌。
- 在浏览器中打开工作站网址,并附加以下形式的网址参数:
_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 权限。如需详细了解如何为服务账号指定范围,请参阅访问权限范围。
后续步骤
- 详细了解 SSH 支持。
- 查看工作站配置参数列表。
- 使用 Identity and Access Management 和 Cloud Workstations 进行访问权限控制