你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 中云规模分析的数据管理和基于角色的访问控制
授权是指向经过身份验证的一方授予执行某项操作的权限的操作。 访问控制的关键原则是仅为用户提供执行作业所需的访问权限,并且仅允许在特定范围内执行某些操作。 基于角色的安全性/基于角色的访问控制 (RBAC) 对应于访问控制,许多组织使用它根据定义的角色或作业功能与单个用户来控制访问。 然后,会为用户分配一个或多个安全角色,其中每个角色都有权执行特定任务。
使用 Microsoft Entra ID 作为集中式标识提供者时,可以针对每个用户或每个应用程序授予访问数据服务和存储的授权,并且基于 Microsoft Entra 标识。 授权涵盖对存储中文件、文件夹或对象级别的服务和访问控制列表的 RBAC。
数据服务授权
Microsoft Azure 包括标准和内置 RBAC,这是一种基于 Azure 资源管理器构建的授权系统,可提供对 Azure 资源的详细访问管理。 RBAC 角色有助于控制对资源的访问级别;安全主体、用户、组、服务或应用程序对其有权访问的资源和区域有什么作用? 规划访问控制策略时,建议仅向用户授予执行作业所需的访问权限,并且仅允许在特定范围内执行某些操作。
以下内置角色是所有 Azure 资源类型(包括 Azure 数据服务)的基础:
说明 | |
---|---|
所有者: | 此角色对资源具有完全访问权限,可以管理有关资源的所有内容,包括授予其访问权限的权限。 |
参与者: | 此角色可以管理资源,但不能授予对资源的访问权限。 |
读者: | 此角色可以查看资源及其相关信息(访问密钥或机密等敏感信息除外),但无法对资源做出任何更改。 |
某些服务具有特定的 RBAC 角色,如存储 Blob 数据参与者或数据工厂参与者,这意味着应该为这些服务使用特定的 RBAC 角色。 RBAC 是一种附加模型,其中添加角色分配是一种活动权限。 RBAC 还支持优先于角色分配的拒绝分配。
Azure 中云规模分析的 RBAC 一般做法
以下最佳做法可帮助你开始使用 RBAC:
使用 RBAC 角色进行服务管理和操作,并使用特定于服务的角色进行数据访问和特定于工作负载的任务:使用 Azure 资源上的 RBAC 角色向需要执行资源管理和操作任务的安全主体授予权限。 需要访问存储中数据的安全主体不需要资源上的 RBAC 角色,因为它们不需要管理它。 相反,请直接向数据对象授予权限。 例如,授予对 Azure Data Lake Storage Gen2 中的文件夹的读取访问权限,或授予对 Azure SQL 数据库中数据库的包含数据库用户和表的权限。
使用内置 RBAC 角色:首先,使用内置的 RBAC Azure 资源角色管理服务并分配操作角色来控制访问。 只有在内置角色不满足特定需求时,才为 Azure 资源创建和使用自定义角色。
使用组管理访问权限: 分配对 Microsoft Entra 组的访问权限,以及管理组成员身份,以便进行持续访问管理。
订阅和资源组范围: 虽然在资源组范围授予访问权限以分隔服务管理和操作访问需求与授予对单个资源的访问权限(尤其是在非生产环境中)是合理的,但可以改为授予对单个资源的访问权限以执行特定于工作负载的任务,如数据湖文件系统支持和操作,尤其是在生产环境中。 这是因为在非生产环境中,开发人员和测试人员需要管理资源,例如创建 Azure 数据工厂引入管道或在 Data Lake Storage Gen2 中创建容器。 在生产环境中,用户只需使用资源,例如查看计划的数据工厂输入管道的状态或读取 Data Lake Storage Gen2 中的数据文件。
不要在订阅范围内授予不必要的访问权限:此范围涵盖订阅内的所有资源。
选择最低特权访问:为作业选择正确且唯一的角色。