禁用掉您的工作区存储帐户的共享密钥访问

Azure 机器学习工作区使用共享密钥访问其默认的 Azure 存储帐户。 利用基于密钥的授权,拥有对存储帐户的密钥和访问权限的任何人都可以访问数据。

若要降低未经授权的访问风险,可以禁用基于密钥的授权,改为使用 Microsoft Entra ID 进行授权。 此配置使用 Microsoft Entra ID 值来授权访问存储帐户。 用于访问存储的标识是用户的标识或托管标识。 用户的标识用于在 Azure 机器学习工作室中查看数据,或者在使用用户的标识进行身份验证时运行笔记本。 在作为托管标识运行训练作业等情况下,Azure 机器学习服务使用托管标识来访问存储帐户。

先决条件

不适用。

创建新的工作区

创建新工作区时,创建过程可以自动禁用共享密钥访问。 或者,你也可以创建 Azure 存储帐户、禁用共享密钥访问,并在工作区创建期间使用它。

  1. 在 Azure 机器学习工作室中,选择“使用自定义网络、加密标识、依赖资源或标记创建”。

    屏幕截图显示选中了“使用自定义网络、加密标识、依赖资源或标记创建”下拉列表选项。

  2. 在“基本信息”选项卡中,选择之前创建的“存储帐户”。

    使用以前创建的存储帐户创建工作区的屏幕截图。

  3. 在“ 标识 ”选项卡中的“ 存储帐户访问 ”部分中,将 存储帐户访问类型 设置为 基于标识

    使用基于标识的存储访问创建工作区的屏幕截图。

  4. 像往常一样继续工作区创建过程。 创建工作区时,会自动为托管标识分配访问存储帐户所需的权限。

更新现有工作区

如果有现有的 Azure 机器学习工作区,请使用本部分中的步骤更新工作区以使用 Microsoft Entra ID 来授权对存储帐户的访问。 然后,在存储帐户上禁用共享密钥访问。

若要更新现有工作区,请转到“属性”并选择“基于标识的访问”。

显示选择基于标识的访问的屏幕截图。

选择“保存”以保存此选项

向用户分配角色

更新工作区后,请更新存储帐户以禁用共享密钥访问。 有关禁用共享密钥访问的详细信息,请参阅 Azure 存储帐户的“阻止共享密钥授权 ”一文。

还必须标识需要访问默认数据存储的所有用户,例如数据科学家。 必须在 Azure 基于角色的存储帐户访问控制中为这些用户分配“存储 Blob 数据参与者”和“存储文件数据特权参与者”角色。 如果这些用户只需要读取访问权限,请改用“存储 Blob 数据读者”和“存储文件数据特权读者”角色。 有关详细信息,请参阅本文档中 的角色分配 资源。

还原为使用共享密钥

若要将工作区还原为使用共享密钥访问存储帐户,请使用以下信息:

若要更新现有工作区,请转到“属性”并选择“基于凭据的访问”。

显示选择基于凭据的访问的屏幕截图。

选择“保存”以保存此选项

还原工作区后,请更新存储帐户以禁用共享密钥访问。 有关禁用共享密钥访问的详细信息,请访问文章阻止对 Azure 存储帐户进行共享密钥授权

角色分配应用场景

若要使用禁用共享密钥访问权限的存储帐户,可能需要向用户或中心的托管标识授予更多角色。 中心默认具有系统分配的托管标识。 但是,某些应用场景需要用户分配的托管标识。 下表总结了需要额外角色分配的应用场景:

场景 Microsoft Entra ID 必需的角色 备注
托管联机终结点 系统分配的托管标识 存储 Blob 数据参与者 预配时自动分配了角色。
请勿手动更改此角色分配。
监视(评估模型质量/性能) 用户分配的托管标识 存储 Blob 数据参与者 如果工作区当前使用现有用户分配的托管标识,请验证它是否具有分配的存储数据 Blob 参与者角色。
用户分配的托管标识是对工作区的系统分配的托管标识的补充。 有关如何将托管标识添加到工作区的信息,请访问添加用户分配的托管标识
模型注册表和 ML 流 用户分配的托管标识 存储 Blob 数据参与者 创建使用用户分配的标识的计算群集。
* 如果将模型作为作业的输入/输出,请单独创建 UAMI,将“存储数据参与者”角色添加到基础存储,并在创建计算群集时关联该 UAMI。 作业随后将成功运行
* 如果从本地文件中注册模型,用户需要底层存储的“存储数据参与者”角色
* 模型包方案存在已知问题,目前不受支持。
并行运行步骤 (PRS) 用户分配的托管标识 存储表数据参与者

存储队列数据参与者
数据标签 用户的标识 存储 Blob 数据参与者
工作室:创建数据集、浏览数据 用户的标识 存储 Blob 数据参与者
计算实例 用户的标识 存储文件数据特权参与者
工作室:笔记本 用户的标识 存储文件数据特权参与者
工作室:笔记本的文件资源管理器 用户的标识 存储文件数据特权参与者
PromptFlow 用户的标识 存储 Blob 数据参与者
存储文件数据特权参与者
数据:数据存储和数据集 用户的标识 存储 Blob 数据参与者

局限性

  • 基于标识的工作区环境不支持使用系统分配的托管标识来创建计算实例。 如果工作区的存储帐户访问类型是基于标识的访问,则计算实例当前不支持系统分配的标识来装载数据存储。 使用用户分配的标识创建计算实例,并确保用户分配的标识在存储帐户上具有 存储文件数据特权参与者