审核和管理 Azure 机器学习

团队就 Azure 机器学习协作时,可能在资源配置和组织上面临不同要求。 机器学习团队可能希望能够灵活地根据协作来组织工作区,或根据用例要求来调整计算群集的大小。 在这些情况下,如果应用程序团队可以管理自己的基础结构,就能最大程度地提高工作效率。

作为平台管理员,你可以使用策略进行护栏布局,使团队可以管理自己的资源。 Azure Policy 有助于审核和治理资源状态。 本文介绍适用于 Azure 机器学习的审核控制和治理做法。

Azure 机器学习的策略

Azure Policy 是一种管理工具,你可用它来确保 Azure 资源符合你的策略。

Azure 机器学习提供了一组策略,可用于 Azure 机器学习的常见方案。 你可以将这些策略定义分配给现有订阅,也可以将它们作为基础来创建你自己的自定义定义。

下表列出了可以使用 Azure 机器学习来分配的内置策略。 有关所有 Azure 内置策略的列表,请参阅内置策略

名称
(Azure 门户)
说明 效果 版本
(GitHub)
Azure 机器学习计算实例应处于空闲关闭状态。 使用空闲关闭计划可降低成本,方法是关闭在预先确定活动期后处于空闲状态的计算。 Audit、Deny、Disabled 1.0.0
应重新创建 Azure 机器学习计算实例以获取最新的软件更新 确保 Azure 机器学习计算实例在最新的可用操作系统上运行。 通过使用最新的安全修补程序运行,提高了安全性并减少了漏洞。 有关详细信息,请访问 https://docs.azure.cn/machine-learning/concept-vulnerability-management?view=azureml-api-2#compute-instance [parameters('effects')] 1.0.3
Azure 机器学习计算应位于虚拟网络中 Azure 虚拟网络增强了 Azure 机器学习计算群集和实例的安全性和隔离性,并提供子网、访问控制策略和其他功能来进一步限制访问。 为计算配置虚拟网络后,该计算不可公开寻址,并且只能从虚拟网络中的虚拟机和应用程序进行访问。 Audit、Disabled 1.0.1
Azure 机器学习计算应禁用本地身份验证方法 禁用本地身份验证方法可确保机器学习计算需要专用于身份验证的 Azure Active Directory 标识,从而提高安全性。 有关详细信息,请访问:https://docs.azure.cn/machine-learning/security-controls-policy?view=azureml-api-2 Audit、Deny、Disabled 2.1.0
应使用客户管理的密钥对 Azure 机器学习工作区进行加密 使用客户管理的密钥管理 Azure 机器学习工作区数据的静态加密。 默认情况下,使用服务管理的密钥对客户数据进行加密,但为了满足法规符合性标准,通常需要使用客户管理的密钥。 客户管理的密钥允许使用由你创建并拥有的 Azure Key Vault 密钥对数据进行加密。 你可以完全控制并负责关键生命周期,包括轮换和管理。 更多信息请访问 https://docs.azure.cn/machine-learning/how-to-create-workspace-template#deploy-an-encrypted-workspace Audit、Deny、Disabled 1.0.3
Azure 机器学习工作区应禁用公用网络访问 禁用公用网络访问可确保机器学习工作区不会在公共 Internet 上公开,从而提高安全性。 你可以通过创建专用终结点来控制工作区的公开。 有关详细信息,请参阅:https://docs.azure.cn/machine-learning/how-to-configure-private-link?view=azureml-api-2&tabs=azure-portal Audit、Deny、Disabled 2.0.1
Azure 机器学习工作区应使用专用链接 通过 Azure 专用链接,在没有源位置或目标位置的公共 IP 地址的情况下,也可以将虚拟网络连接到 Azure 服务。 专用链接平台处理使用者与服务之间通过 Azure 主干网络进行的连接。 通过将专用终结点映射到 Azure 机器学习工作区,可以降低数据泄露风险。 有关专用链接的详细信息,请访问:https://docs.azure.cn/machine-learning/how-to-configure-private-link Audit、Disabled 1.0.0
Azure 机器学习工作区应使用用户分配的托管标识 使用用户分配的托管标识管理对 Azure ML 工作区和相关资源、Azure 容器注册表、KeyVault、存储和应用见解的访问。 默认情况下,Azure ML 工作区使用系统分配的托管标识来访问关联的资源。 用户分配的托管标识允许你将标识创建为 Azure 资源并维护该标识的生命周期。 更多信息请访问 https://docs.azure.cn/machine-learning/how-to-use-managed-identities?tabs=python Audit、Deny、Disabled 1.0.0
配置 Azure 机器学习计算以禁用本地身份验证方法 禁用本地身份验证方法,使机器学习计算需要专用于身份验证的 Azure Active Directory 标识。 有关详细信息,请访问:https://docs.azure.cn/machine-learning/security-controls-policy 修改,已禁用 2.1.0
将 Azure 机器学习工作区配置为使用专用 DNS 区域 使用专用 DNS 区域来替代专用终结点的 DNS 解析。 专用 DNS 区域会链接到虚拟网络,以解析到 Azure 机器学习工作区。 有关详细信息,请访问:https://docs.azure.cn/machine-learning/how-to-network-security-overview DeployIfNotExists、Disabled 1.1.0
将 Azure 机器学习工作区配置为禁用公用网络访问 禁用对 Azure 机器学习工作区的公用网络访问,确保无法通过公共 Internet 访问工作区。 这有助于防范工作区的数据泄露风险。 你可以通过创建专用终结点来控制工作区的公开。 有关详细信息,请参阅:https://docs.azure.cn/machine-learning/how-to-configure-private-link?view=azureml-api-2&tabs=azure-portal 修改,已禁用 1.0.3
为 Azure 机器学习工作区配置专用终结点 专用终结点可在源或目标位置没有公共 IP 地址的情况下将虚拟网络连接到 Azure 服务。 通过将专用终结点映射到 Azure 机器学习工作区,可以降低数据泄露风险。 有关专用链接的详细信息,请访问:https://docs.azure.cn/machine-learning/how-to-configure-private-link DeployIfNotExists、Disabled 1.0.0
将 Azure 机器学习工作区的诊断设置配置为 Log Analytics 工作区 创建或更新缺少此诊断设置的任何 Azure 机器学习工作区时,请为 Azure 机器学习工作区部署诊断设置,以便将资源日志流式传输到 Log Analytics 工作区。 DeployIfNotExists、Disabled 1.0.1
应启用 Azure 机器学习工作区中的资源日志 发生安全事件或网络遭到入侵时,通过资源日志可重新创建用于调查的活动线索。 AuditIfNotExists、Disabled 1.0.1

可以在不同的范围(如订阅或资源组级别)内设置策略。 有关详细信息,请参阅 Azure Policy 文档

分配内置策略

若要查看与 Azure 机器学习相关的内置策略定义,请使用以下步骤:

  1. Azure 门户中转到“Azure Policy”。
  2. 选择“定义”。
  3. 对于“类型”,请选择“内置”;对于“类别”,请选择“机器学习” 。

可在此选择策略定义以进行查看。 查看定义时,可使用“分配”链接将策略分配到某个特定范围,并配置策略的参数。 有关详细信息,请参阅分配策略 - 门户

还可以使用 Azure PowerShellAzure CLI模板来分配策略。

条件性访问策略

若要控制谁可以访问 Azure 机器学习工作区,请使用 Microsoft Entra 条件访问。 若要对 Azure 机器学习工作区使用条件访问,请将条件访问策略分配给名为 Azure 机器学习的应用。 应用 ID 为 0736f41a-0425-bdb5-1563eff02385

使用登陆区域启用自助服务

登陆区域是一种体系结构模式,用于设置与缩放、治理、安全性和工作效率相关的 Azure 环境。 数据登陆区域是应用程序团队用来托管数据和分析工作负荷的管理员配置环境。

登陆区域的用途是确保团队在 Azure 环境中启动时,所有基础结构配置工作都已完成。 例如,已将安全控制设置为符合组织标准,并已设置网络连接。

使用登陆区域模式,可以让机器学习团队能够以自助方式部署和管理自己的资源。 使用 Azure Policy,你可以作为管理员来审核和管理 Azure 资源的符合性,确保工作区符合你的要求。

Azure 机器学习与云采用框架数据管理和分析方案中的数据登陆区域集成。 此引用实现提供了一个优化的环境(可以将机器学习工作负荷迁移到其中),并包括预配置的 Azure 机器学习策略。

配置内置策略

计算实例应具有空闲关闭

控制 Azure 机器学习计算实例是否应启用空闲关闭。 空闲关闭会在指定时间段内处于空闲状态时自动停止计算实例。 此策略可用于节省成本,以及确保不必要地使用资源。

若要配置此策略,请将 effect 参数设置为 AuditDenyDisabled。 如果设置为 Audit,则可以创建未启用空闲关闭的计算实例,并在活动日志中创建警告事件。

应重新创建计算实例以获取软件更新

控制是否应审核 Azure 机器学习计算实例,以确保它们正在运行最新的可用软件更新。 此策略有助于确保计算实例正在运行最新的软件更新,以维护安全性和性能。 有关详细信息,请参阅 Azure 机器学习的漏洞管理

若要配置此策略,请将 effect 参数设置为 AuditDisabled。 如果设置为 Audit,则计算未运行最新软件更新时,将在活动日志中创建警告事件。

计算群集和实例应位于虚拟网络中

控制虚拟网络后的计算群集和实例资源的审核。

若要配置此策略,请将 effect 参数设置为 AuditDisabled。 如果设置为 Audit,则可以创建未在虚拟网络后配置的计算,并在活动日志中创建警告事件。

计算应已禁用本地身份验证方法。

控制 Azure 机器学习计算群集或实例是否应禁用本地身份验证 (SSH)。

若要配置此策略,请将 effect 参数设置为 AuditDenyDisabled。 如果设置为 Audit,则可以创建启用了 SSH 的计算,并在活动日志中创建警告事件。

如果策略设置为 Deny,则无法创建计算,除非禁用 SSH。 尝试创建启用了 SSH 的计算会导致错误。 还会在活动日志中记录该错误。 策略标识符将作为此错误的一部分返回。

工作区应使用客户管理的密钥进行加密

控制是应使用客户管理的密钥对工作区进行加密,还是应使用 Azure 管理的密钥来加密指标和元数据。 若要详细了解如何使用客户管理的密钥,请参阅数据加密文章的 Azure Cosmos DB 部分。

若要配置此策略,请将 effect 参数设置为 AuditDeny。 如果设置为 Audit,则无需客户管理的密钥即可创建工作区,并在活动日志中创建警告事件。

如果策略设置为 Deny,则无法创建工作区,除非该策略指定了客户管理的密钥。 尝试在不使用客户管理的密钥的情况下创建工作区会导致类似于“Resource 'clustername' was disallowed by policy”的错误,会在活动日志中创建一个错误。 策略标识符也作为此错误的一部分返回。

工作区应禁用公用网络访问

控制工作区是否应禁用公用 Internet 的网络访问。

若要配置此策略,请将 effect 参数设置为 AuditDenyDisabled。 如果设置为 Audit,则可创建具有公共访问权限的工作区,并在活动日志中创建警告事件。

如果策略设置为 Deny,则无法创建允许从公用 Internet 进行网络访问的工作区。

工作区应启用 V1LegacyMode 以支持网络隔离后向兼容性

控制工作区是否应启用 V1LegacyMode 以支持网络隔离后向兼容性。 如果要在专用网络中保留 Azure 机器学习控制平面数据,此策略非常有用。 有关更多信息,请参阅新 API 平台的网络隔离更改

若要配置此策略,请将 effect 参数设置为 AuditDenyDisabled。 如果设置为 Audit,则无需启用 V1LegacyMode 即可创建工作区,并在活动日志中创建警告事件。

如果策略设置为 Deny,则无法创建工作区,除非该策略启用了 V1LegacyMode。

控制工作区是否应使用 Azure 专用链接与 Azure 虚拟网络进行通信。 有关使用专用链接的详细信息,请参阅为工作区配置专用链接

若要配置此策略,请将 effect 参数设置为 AuditDeny。 如果设置为 Audit,则无需使用专用链接即可创建工作区,并在活动日志中创建警告事件。

如果策略设置为 Deny,则无法创建工作区,除非该策略使用了专用链接。 尝试不使用专用链接创建工作区会导致错误。 还会在活动日志中记录该错误。 策略标识符将作为此错误的一部分返回。

工作区应使用用户分配的托管标识

控制是使用系统分配的托管标识(默认设置)还是使用用户分配的托管标识创建工作区。 工作区的托管标识用于访问关联的资源,例如 Azure 存储、Azure 容器注册表、Azure Key Vault 和 Azure Application Insights。 有关详细信息,请参阅将托管标识与 Azure 机器学习配合使用

若要配置此策略,请将 effect 参数设置为 AuditDenyDisabled。 如果设置为 Audit,则可以在不指定用户分配的托管标识的情况下创建工作区。 将使用系统分配的标识,并在活动日志中创建一个警告事件。

如果将此策略设置为 Deny,那么除非在创建过程中提供用户分配的标识,否则无法创建工作区。 尝试在不提供用户分配的标识的情况下创建工作区会导致错误。 系统还会将该错误记录到活动日志中。 策略标识符将作为此错误的一部分返回。

配置计算以修改/禁用本地身份验证

修改任何 Azure 机器学习计算群集或实例创建请求,以禁用本地身份验证 (SSH)。

若要配置此策略,请将 effect 参数设置为“Modify”或“Disabled”。 如果设置“Modify”,则应用策略的范围内的任何计算群集或实例的创建将自动禁用本地身份验证。

将工作区配置为使用专用 DNS 区域

配置工作区以使用专用 DNS 区域,替代专用终结点的默认 DNS 解析。

若要配置此策略,请将 effect 参数设置为 “DeployIfNotExists”。 将 “privateDnsZoneId” 设置为要使用的专用 DNS 区域的 Azure 资源管理器 ID。

将工作区配置为禁用公用网络访问

将工作区配置为禁用公用 Internet 的网络访问。 这有助于保护工作区免受数据泄漏风险。 可以通过创建专用终结点来访问工作区。 有关详细信息,请参阅配置工作区的专用链接

若要配置此策略,请将 effect 参数设置为“Modify”或“Disabled”。 如果设置为 Modify,则应用策略的范围内的任何工作区的创建将自动禁用公用网络访问。

为工作区配置专用终结点

配置工作区,以便在 Azure 虚拟网络的指定子网内创建专用终结点。

若要配置此策略,请将 effect 参数设置为 “DeployIfNotExists”。 将 privateEndpointSubnetID 设置为子网的 Azure 资源管理器 ID。

将诊断工作区配置为将日志发送到 Log Analytics 工作区

将 Azure 机器学习工作区的诊断设置配置为将日志发送到 Log Analytics 工作区。

若要配置此策略,请将 effect 参数设置为 DeployIfNotExistsDisabled。 如果设置为 DeployIfNotExists,则策略会创建诊断设置,以在日志不存在的情况下将日志发送到 Log Analytics 工作区。

应启用工作区中的资源日志

审核是否已为 Azure 机器学习工作区启用资源日志。 资源日志提供有关对工作区中的资源执行的操作的详细信息。

若要配置此策略,请将 effect 参数设置为 AuditIfNotExistsDisabled。 如果设置为 AuditIfNotExists,则策略会审核是否未为工作区启用资源日志。

后续步骤