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

在 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. 选择“新建用户”。

      “用户”窗格将打开:

      The

    4. 输入用户的详细信息,如名称用户名。 用户名的域名部分必须是初始默认域名“[domain name].partner.onmschina.cn”或已验证的非联合自定义域名(例如“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.chinacloudapi.cn/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 全都以这种方式加入域,并且已装载了共享磁盘。 用户可以登录到虚拟机规模集中的任何可用计算机,然后访问在其中保存了笔记本的共享磁盘。

后续步骤