管理托管特征存储的访问控制

本文介绍如何管理对 Azure 机器学习托管特征存储的访问权限(授权)。 Azure 基于角色的访问控制 (Azure RBAC) 管理对 Azure 资源的访问权限,包括创建新资源或使用现有资源的权限。 Microsoft Entra ID 中的用户获得特定角色,从而拥有资源访问权限。 Azure 提供内置角色和创建自定义角色的功能。

标识和用户类型

Azure 机器学习支持对以下托管特征存储资源进行基于角色的访问控制:

  • 特征存储
  • 特征存储实体
  • 特征集

若要控制对这些资源的访问,请考虑此处所示的用户类型。 对于每种用户类型,标识可以是 Microsoft Entra 标识、服务主体或 Azure 托管标识(系统管理的标识和用户分配的标识)。

  • 功能集开发人员(例如,数据科学家、数据工程师和机器学习工程师):他们主要使用功能商店工作区,负责处理
    • 功能管理生命周期(从创建到存档)
    • 具体化和特征回填设置
    • 特征新鲜度和质量监视
  • 特征集使用者(例如,数据科学家和机器学习工程师):他们主要在项目工作区中工作,以下述方式使用特征:
    • 用于模型重用的特征发现
    • 在训练过程中对特征进行试验,了解这些特征是否提高模型性能
    • 设置使用特征的训练/推理管道
  • 特征存储管理员:通常负责处理:
    • 特征存储生命周期管理(从创建到停用)
    • 特征存储用户访问生命周期管理
    • 特征存储配置:配额和存储(脱机/联机存储)
    • 成本管理

此表描述了每种用户类型所需的权限:

角色 说明 所需的权限
feature store admin 谁可以创建/更新/删除特征存储 feature store admin 角色所需的权限
feature set consumer 谁可以在其机器学习生命周期中使用已定义的特征集。 feature set consumer 角色所需的权限
feature set developer 谁可以创建/更新特征集,或设置具体化(例如回填和重复性作业)。 feature set developer 角色所需的权限

如果特征存储需要具体化,则还需要这些权限:

角色 说明 所需的权限
feature store materialization managed identity Azure 用户分配的托管标识,由特征存储具体化作业用于数据访问。 如果功能商店启用了具体化,则需要此标识 feature store materialization managed identity 角色所需的权限

若要详细了解角色创建,请访问创建自定义角色资源。

资源

授予访问权限涉及以下资源:

  • Azure 机器学习托管特征存储
  • 由特征存储用作脱机存储的 Azure 存储帐户(第 2 代)
  • Azure 用户分配的托管标识,由特征存储用于其具体化作业
  • 托管功能集源数据的 Azure 用户存储帐户

feature store admin 角色所需的权限

若要创建和/或删除托管特征存储,建议在资源组上使用内置的 ContributorUser Access Administrator 角色。 还可以创建具有以下最低权限的自定义 Feature store admin 角色:

范围 行动/角色
resourceGroup (创建特征存储的位置) Microsoft.MachineLearningServices/workspaces/featurestores/read
resourceGroup (创建特征存储的位置) Microsoft.MachineLearningServices/workspaces/featurestores/write
resourceGroup (创建特征存储的位置) Microsoft.MachineLearningServices/workspaces/featurestores/delete
特征存储 Microsoft.Authorization/roleAssignments/write
用户分配的托管标识 托管的标识操作员角色

预配特征存储时,默认情况下会预配其他资源。 但是,你可以使用现有资源。 如果需要新资源,则创建特征存储的标识必须拥有对资源组的以下权限:

  • Microsoft.Storage/storageAccounts/write
  • Microsoft.Storage/storageAccounts/blobServices/containers/write
  • Microsoft.Insights/components/write
  • Microsoft.KeyVault/vaults/write
  • Microsoft.ContainerRegistry/registries/write
  • Microsoft.OperationalInsights/workspaces/write
  • Microsoft.ManagedIdentity/userAssignedIdentities/write

feature set consumer 角色所需的权限

通过以下内置角色来使用特征存储中定义的特征集:

作用域 角色
特征存储 AzureML 数据科学家
源数据存储帐户,即特征集数据源 存储 Blob 数据读取者角色
存储特征存储脱机存储存储帐户 存储 Blob 数据读取者角色

注意

AzureML Data Scientist 允许用户在特征存储中创建和更新特征集。

若要避免使用 AzureML Data Scientist 角色,可以使用这些单独的操作:

作用域 行动/角色
特征存储 Microsoft.MachineLearningServices/workspaces/featurestores/read
特征存储 Microsoft.MachineLearningServices/workspaces/featuresets/read
特征存储 Microsoft.MachineLearningServices/workspaces/featurestoreentities/read
特征存储 Microsoft.MachineLearningServices/workspaces/datastores/listSecrets/action
特征存储 Microsoft.MachineLearningServices/workspaces/jobs/read

feature set developer 角色所需的权限

若要在特征存储中开发特征集,请使用以下内置角色:

范围 角色
特征存储 AzureML 数据科学家
源数据存储帐户 存储 Blob 数据读取者角色
特征存储脱机存储存储帐户 存储 Blob 数据读取者角色

若要避免使用 AzureML Data Scientist 角色,可以使用这些单独的操作(除了为 Featureset consumer 列出的操作之外的操作)

范围 角色
特征存储 Microsoft.MachineLearningServices/workspaces/featuresets/write
特征存储 Microsoft.MachineLearningServices/workspaces/featuresets/delete
特征存储 Microsoft.MachineLearningServices/workspaces/featuresets/action
特征存储 Microsoft.MachineLearningServices/workspaces/featurestoreentities/write
特征存储 Microsoft.MachineLearningServices/workspaces/featurestoreentities/delete
特征存储 Microsoft.MachineLearningServices/workspaces/featurestoreentities/action

feature store materialization managed identity 角色所需的权限

除了 feature set consumer 角色所需的所有权限外,还使用以下内置角色:

范围 行动/角色
特征存储 AzureML 数据科学家角色
特征存储离线存储的存储帐户 存储 Blob 数据参与者角色
源数据的存储帐户 存储 Blob 数据读取者角色

为托管特征存储创建的新操作

针对托管特征存储使用情况,创建了以下新操作:

操作 说明
Microsoft.MachineLearningServices/workspaces/featurestores/read 列出和获取特征存储
Microsoft.MachineLearningServices/workspaces/featurestores/write 创建和更新特征存储(配置具体化存储、具体化计算等)
Microsoft.MachineLearningServices/workspaces/featurestores/delete 删除特征存储
Microsoft.MachineLearningServices/workspaces/featuresets/read 列出并显示特征集
Microsoft.MachineLearningServices/workspaces/featuresets/write 创建和更新特征集。 可以在创建或更新的同时配置具体化设置
Microsoft.MachineLearningServices/workspaces/featuresets/delete 删除特征集
Microsoft.MachineLearningServices/workspaces/featuresets/action 触发对特征集的操作(例如,回填作业)
Microsoft.MachineLearningServices/workspaces/featurestoreentities/read 列出并显示特征存储实体
Microsoft.MachineLearningServices/workspaces/featurestoreentities/write 创建和更新特征存储实体
Microsoft.MachineLearningServices/workspaces/featurestoreentities/delete 删除实体
Microsoft.MachineLearningServices/workspaces/featurestoreentities/action 触发对特征存储实体的操作

功能商店实体和功能集的实例没有 ACL(访问控制列表)。

后续步骤