你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在数据科学虚拟机上设置通用标识

在 Microsoft Azure 虚拟机 (VM) 或 Data Science Virtual Machine (DSVM) 上,可以在预配 VM 时创建本地用户帐户。 然后,用户将使用这些用户帐户的凭据向 VM 进行身份验证。 如果用户需要访问多个 VM,则凭据管理可能会变得困难。 若要解决此问题,可以部署通用用户帐户,并通过基于标准的标识提供者管理这些帐户。 然后,只需使用一组凭据就能访问 Azure 上的多个资源,包括多个 DSVM。

Active Directory 是一个常用的标识提供者。 Azure 支持将其用作云服务和本地目录。 可以使用 Microsoft Entra ID 或本地 Active Directory 对 Azure 虚拟机规模集中的独立 DSVM 或 DSVM 群集上的用户进行身份验证。 为此,需要将 DSVM 实例加入 Active Directory 域。

如果已有 Active Directory,可以将它用作通用标识提供者。 如果没有 Active Directory,可以通过 Microsoft Entra 域服务在 Azure 上运行托管的 Active Directory 实例。

Microsoft Entra ID 的文档提供了详细的管理说明,包括有关如何将 Microsoft Entra ID 连接到本地目录(如果有)的指导。

本文介绍如何使用 Microsoft Entra 域服务在 Azure 上设置完全托管的 Active Directory 域服务。 然后可以将 DSVM 加入托管的 Active Directory 域。 此方法使用户能够通过通用用户帐户和凭据访问 DSVM 池(和其他 Azure 资源)。

在 Azure 上设置完全托管的 Active Directory 域

使用 Microsoft Entra 域服务可以方便地管理标识。 它在 Azure 上提供完全托管的服务。 在此 Active Directory 域上,可以管理用户和组。 若要在目录中设置 Azure 托管的 Active Directory 域和用户帐户,请执行以下步骤:

  1. 在 Azure 门户中,将用户添加到 Active Directory:

    1. 以全局管理员身份登录到 Azure 门户

    2. 浏览到“Microsoft Entra ID”>“用户”>“所有用户”

    3. 选择“新建用户”

      此时会打开“用户”窗格,如以下屏幕截图所示

      显示添加用户窗格的屏幕截图。

    4. 输入有关用户的信息,例如“姓名”和“用户名”。 用户名的域名部分必须是初始默认域名“[domain name].onmicrosoft.com”,或已验证的非联合自定义域名(例如“contoso.com”)。

    5. 复制或记下生成的用户密码。 完成此过程后,必须向用户提供此密码

    6. (可选)可以打开“配置文件”、“组”或“目录角色”并在其中填写用户信息

    7. 在“用户”下,选择“创建”

    8. 以安全方式将生成的密码分发给新用户,以便用户可以登录

  2. 创建 Microsoft Entra 域服务实例。 有关详细信息,请访问使用 Azure 门户启用 Microsoft Entra 域服务(“创建实例并配置基本设置”部分)。 需要更新 Active Directory 中的现有用户密码,以同步 Microsoft Entra 域服务中的密码。 还需要根据该部分的“填写 Azure 门户的‘基本信息’窗口中的字段来创建 Microsoft Entra 域服务实例”中所述,将 DNS 添加到 Microsoft Entra 域服务。

  3. 在上一步骤的“创建并配置虚拟网络”部分,在你创建的虚拟网络中创建一个单独的 DSVM 子网

  4. 在 DSVM 子网中创建一个或多个 DSVM 实例

  5. 按照说明将 DSVM 添加到 Active Directory

  6. 装载 Azure 文件共享来托管主目录或笔记本目录,以便工作区可以装载到任何计算机上。 如果需要严格的文件级别权限,则需在一个或多个 VM 上运行网络文件系统 [NFS]

    1. 创建 Azure 文件共享

    2. 在 Linux DSVM 上装载此共享。 在 Azure 门户的存储帐户中选择 Azure 文件共享所对应的“连接”时,将会显示可以在 Linux DSVM 的 Bash Shell 中运行的命令。 命令如下所示:

    sudo mount -t cifs //[STORAGEACCT].file.core.windows.net/workspace [Your mount point] -o vers=3.0,username=[STORAGEACCT],password=[Access Key or SAS],dir_mode=0777,file_mode=0777,sec=ntlmssp
    
  7. 例如,假设你已将 Azure 文件共享装载到 /data/workspace 目录中。 现在,请为共享中的每个用户创建目录:

    • /data/workspace/user1
    • /data/workspace/user2
    • 等等

    在每个用户的工作区中创建 notebooks 目录

  8. $HOME/userx/notebooks/remote 中为 notebooks 创建符号链接

现在,这些用户已在 Azure 中托管的 Active Directory 实例中。 使用 Active Directory 凭据,用户可以登录到已加入 Microsoft Entra 域服务的任何 DSVM(SSH 或 JupyterHub)。 由于 Azure 文件共享托管用户工作区,用户在使用 JupyterHub 时可以从任何 DSVM 访问其笔记本和其他工作。

若要进行自动缩放,可以使用虚拟机规模集创建 VM 池。这些 VM 全都以这种方式加入域,并且已装载了共享磁盘。 用户可以登录到虚拟机规模集中的任何可用计算机,并可以访问在其中保存了笔记本的共享磁盘。

后续步骤