访问 Google Cloud 服务和 API
本页面介绍了如何通过 Colab Enterprise 笔记本访问 Google Cloud 服务和 API 。
概览
在 Colab Enterprise 笔记本中运行代码时,您可以使用与 Google 账号关联的 凭据(也称为 用户凭据) Google Cloud 访问服务和 API。这意味着您使用的运行时具有与用户相同的 访问权限 Google Cloud 。这样一来,编写和运行与服务和 API 交互的代码就更加容易。 Google Cloud
Colab Enterprise 可以使用 应用默认凭证 (ADC),通过您的用户凭据向 服务和 API 进行 Google Cloud 身份验证。 本页介绍了以下几种向 ADC 提供用户凭据的方法:
通过在 笔记本中运行代码,将用户凭据提供给 ADC。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud的新用户, 请创建一个账号,以便在 真实场景中评估我们产品的性能。新客户还可以获得 300 美元的免费抵用金,用于 运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform, Dataform, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform, Dataform, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
所需角色
如需获得在 Colab Enterprise 笔记本中访问服务和 API 所需的权限,请让您的管理员为您授予项目的 Colab Enterprise Admin (roles/aiplatform.colabEnterpriseAdmin) IAM 角色。 Google Cloud 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。
使用启用了最终用户凭据的运行时
您可以使用默认运行时(已启用最终用户凭据),也可以使用根据启用了最终用户凭据的运行时模板创建的任何运行时。
如果您没有足够的启用了最终用户凭据的运行时模板,则必须创建一个。创建运行时模板时,您必须启用或停用最终用户凭据。此设置无法在以后修改。
连接到启用了最终用户凭据的运行时
如需连接到启用了最终用户凭据的运行时,请执行以下操作:
-
在 Google Cloud 控制台中,前往 Colab Enterprise 我的笔记本 页面。
-
在区域菜单中,选择包含笔记本的区域。
-
点击您要打开的笔记本。如果您尚未创建笔记本,请创建一个笔记本。
-
在笔记本中,点击其他连接选项 展开箭头, 然后选择连接到运行时 。
系统会打开连接到 Agent Platform 运行时 对话框。
-
对于选择运行时, 选择连接到现有运行时。
-
在运行时详细信息表中,验证 个人凭据是否为
Enabled。 -
点击连接 。
-
如果这是您第一次连接到启用了最终用户凭据的运行时,系统会显示登录 对话框。
如需为 Colab Enterprise 授予对用户凭据的访问权限, 请完成以下步骤:
-
在登录对话框中,点击您的用户账号。
-
选择查看、修改、配置和删除您的 Google Cloud 数据...,为 Colab Enterprise 授予对用户凭证的访问权限。
-
点击继续 。
-
使用最终用户凭据访问 Google Cloud 服务和 API 时,请注意,如果您的 Google 账号在项目中没有所需的 Identity and Access Management (IAM) 权限,则您的代码可能无法访问某些资源。如果发生这种情况,请让您的管理员为您授予所需的权限。
通过在笔记本中运行代码,将用户凭据提供给 ADC
如果您的运行时未启用最终用户凭据,您仍然可以 使用用户凭据访问 Google Cloud 服务和 API。 为此,请使用 Google Cloud CLI 将用户凭据提供给 ADC。
-
使用以下命令创建凭据文件:
!gcloud auth application-default login
系统会显示登录 对话框。
-
完成该对话框以授予 Colab Enterprise 访问权限。
在您登录后,您的凭据会存储在 ADC 使用的 本地凭据文件中。此文件存储在运行时的虚拟机上。
如果您提供用户凭据来创建本地 ADC 文件,请注意以下事项:
如果没有额外的参数或配置,用户凭据可能不适用于某些方法和 API(例如 Cloud Translation API 或 Cloud Vision API)。如果您看到错误消息,说明 API 未在项目中启用 或者没有可用的配额项目,请参阅 排查 ADC 设置问题。
本地 ADC 包含访问令牌和刷新令牌。有权访问文件系统的任何用户都可以使用这些凭据。如果您不再 需要这些本地凭据,可以使用
gcloud auth application-default revoke命令将其撤消。如果您的 Google 账号在项目中没有所需的 Identity and Access Management (IAM) 角色,则您的代码可能无法访问某些资源。 如果发生这种情况,必须有人为您授予所需的角色。
ADC 访问权限仅限于 Google Cloud。如果您可以通过 Google 账号访问其他服务,ADC 不会自动授予 Colab Enterprise 笔记本访问权限,但您可以授予对某些服务的额外访问权限。例如,如需授予对 Google 云端硬盘的访问权限,请在笔记本的代码单元格中运行以下命令:
!gcloud auth application-default login \ --scopes="https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/cloud-platform"
问题排查
本部分介绍了如何解决运行与服务和 API 交互的代码时出现的问题。 Google Cloud
运行代码时找不到用户凭据
当您尝试在与 Google Cloud 服务和 API 交互的笔记本中运行代码,但尚未授予 Colab Enterprise 访问 您的用户凭据的权限时,就会出现此问题。
错误消息可能如下所示:
Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential
DefaultCredentialsError: Your default credentials were not found.
请参阅以下导致此问题的常见原因及其解决方案:
-
您未完成首次连接到启用了最终用户凭据的运行时时显示的 登录 对话框。完成此对话框后,您将授予 Colab Enterprise 对用户凭据的访问权限。
如需解决此问题,请尝试再次连接到运行时并授予访问权限。
如需验证是否已授予访问权限,请执行以下操作:
-
依次点击账号 > 受管理的 Google 账号 > 数据和隐私设置 > 第三方应用和服务。
-
验证是否已列出 Colab Enterprise。
-
-
在首次连接到启用了最终用户凭据的运行时时显示的登录对话框(同意屏幕)中,您未选择用户账号来授予 Colab Enterprise 对用户凭据的访问权限。
如需解决此问题,请执行以下操作:
-
在 Google Cloud 控制台中,点击您的账号个人资料图片,然后点击 Google 账号。
-
点击数据和隐私设置 。
-
在您使用的应用和服务中的数据 中,点击 第三方应用和服务。
-
点击 Colab Enterprise 。
-
在 Colab Enterprise 具有对您的 Google 账号的部分访问权限 中, 点击 查看详细信息。
-
点击解除使用权限 。
-
点击确认 。
这会移除您当前的访问权限设置。
-
-
弹出式窗口拦截器可能会阻止 Colab Enterprise 登录 对话框(权限请求页面)显示。
如需解决此问题,请在浏览器中暂时启用弹出式窗口,然后尝试再次连接到 运行时。
-
企业服务限制可能会阻止访问 Colab Enterprise。
如需隔离此问题, 请验证您组织的服务限制是否阻止访问 Google 服务。
服务状态 应为对所有人启用 。
-
您未使用启用了最终用户凭据的运行时,并且未使用 Google Cloud CLI 将用户凭据提供给应用默认凭据 (ADC)。
如需解决此问题,请参阅通过在笔记本中运行代码,将用户凭据提供给 ADC。
后续步骤
详细了解应用默认凭据 的工作原理。
创建运行时模板并 启用最终用户凭据。
您可以使用 Colab Enterprise 侧边栏与 Agent Platform 互动。如需了解详情,请参阅:
如需查找可帮助您快速启动项目的笔记本, 请参阅笔记本库。