管理托管特征存储的访问控制
本文介绍如何管理对 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
角色所需的权限
若要创建和/或删除托管特征存储,建议在资源组上使用内置的 Contributor
和 User 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(访问控制列表)。