管理对用户管理的笔记本实例的 JupyterLab 界面的访问权限

本页面介绍如何授予对 Vertex AI Workbench 用户管理的笔记本实例的 JupyterLab 界面的访问权限。

您可以通过用户管理的笔记本实例的访问模式控制对该实例的 JupyterLab 界面的访问权限。在创建用户管理的笔记本实例时设置 JupyterLab 访问模式。创建笔记本后,访问模式便无法更改。

JupyterLab 访问模式决定了谁可以使用实例的 JupyterLab 界面。该访问模式还决定了在实例与其他 Google Cloud 服务进行交互时使用哪些凭据。

访问权限限制

向主账号授予对用户管理的笔记本实例的 JupyterLab 界面的访问权限不会授予对实例本身的访问权限。例如,要启动、停止或重置实例,您必须通过在实例上设置 IAM 政策来授予主账号执行这些操作的权限。如需授予对用户管理的笔记本实例的访问权限,请参阅管理对用户管理的笔记本实例的访问权限

JupyterLab 访问模式

用户管理的笔记本实例支持以下访问模式:

  • 仅限单个用户“仅限单个用户”访问模式仅授予对您指定的用户的访问权限。

  • 服务账号服务账号访问模式可授予对服务账号的访问权限。您可以通过此服务账号授予一个或多个用户的访问权限。

仅限单个用户

当您创建具有仅限单个用户访问权限的用户管理笔记本实例时,可以指定一个用户账号。指定的用户账号是唯一有权访问 JupyterLab 界面的用户。如果指定用户不是实例的创建者,您必须向指定用户授予实例的服务账号的 Service Account User 角色 (roles/iam.serviceAccountUser)。如果实例需要访问其他 Google Cloud 资源,则此服务账号还必须有权访问这些 Google Cloud 资源。

向单个用户授予访问权限

如需向单个用户授予访问权限,请完成以下步骤。

  1. 使用以下规范创建用户管理的笔记本实例

    1. 创建实例对话框的 IAM 和安全部分中,选择仅限单个用户访问模式。

    2. 用户电子邮件字段中,输入要授予访问权限的用户账号。

  2. 完成对话框的其余部分,然后点击创建

服务账号

创建具有服务账号访问权限的用户管理笔记本实例时,您需要指定服务账号。如果实例需要访问其他 Google 资源,则此服务账号还必须有权访问这些 Google 资源。

指定服务账号时,请选择以下其中一项:

  • 选择 Compute Engine 默认服务账号。
  • 指定自定义服务账号。自定义服务账号必须与用户管理的笔记本实例位于同一项目中。如需创建实例,您必须拥有服务账号的 iam.serviceAccounts.actAs 权限。

要通过服务账号向用户授予访问权限,请为需要访问 JupyterLab 的每位用户的指定服务账号授予 iam.serviceAccounts.actAs 权限。

通过服务账号向多个用户授予访问权限

  1. 使用以下规范创建用户管理的笔记本实例

    1. 创建实例对话框的 IAM 和安全部分中,选择服务账号访问模式。

    2. 选择 Compute Engine 默认服务账号或自定义服务账号

      • 如需使用 Compute Engine 默认服务账号,请选择使用 Compute Engine 默认服务账号

      • 如需使用自定义服务账号,请清除使用 Compute Engine 默认服务账号,然后在服务账号电子邮件地址字段中输入您的自定义服务账号电子邮件地址。

  2. 完成对话框的其余部分,然后点击创建

  3. 对于需要访问 JupyterLab 的每个用户,请为您的服务账号授予 iam.serviceAccounts.actAs 权限

访问模式元数据

在笔记本元数据中存储您在用户管理的笔记本实例创建期间配置的访问模式。

当您选择仅限单个用户访问模式时,Vertex AI Workbench 会存储 proxy-modeproxy-user-mail 的值。以下是单个用户访问元数据条目的示例:

  • proxy-mode=mail
  • proxy-user-mail=user@example.com

选择服务账号访问模式后,Vertex AI Workbench 会存储 proxy-mode=service_account 元数据条目。

后续步骤