Condividi tramite

Azure Cosmos DB for MongoDB vCore 中的基于角色的访问控制 (RBAC)

访问控制是保护 Azure Cosmos DB for MongoDB vCore 群集的关键部分。 Azure 基于角色的访问控制(RBAC)提供一种集中机制,用于通过Microsoft Entra ID 分配和强制实施权限,确保只有授权标识才能在群集上执行作。 RBAC 不依赖手动管理凭据,而是实现随环境扩展的细粒度角色分配。 此方法简化了治理,支持最低特权原则,并使审核变得简单-帮助组织在部署增长时保持运营完整性和合规性。

在 Azure Cosmos DB for MongoDB vCore 中管理访问权限涉及两个不同的级别:

群集作为 Azure 资源的 Azure 基于角色的访问控制 (RBAC)

Azure 基于角色的访问控制(RBAC) 对于管理对 Azure Cosmos DB for MongoDB vCore 群集的访问至关重要。 它提供了一种统一、安全且可扩展的方式,以管理谁可以在群集上执行操作。 通过与 Microsoft Entra ID 的集成,RBAC 可集中控制跨 Azure 资源的标识和访问,帮助维护企业安全标准的合规性。 该方法消除了非托管凭据和手动用户预配的风险,同时为管理、读写以及只读角色提供了精细化的权限设置。 对于运行任务关键型工作负荷的组织,RBAC 提供关键优势:通过最低特权访问增强安全性、跨环境的作一致性,以及简化大规模部署的治理。 随着数据资产的增长,RBAC 可确保访问策略保持一致、可审核且符合法规要求,从而帮助团队自信地协作,而不会损害数据完整性。

Azure Cosmos DB for MongoDB vCore 支持用于 mongoCluster 资源类型的 Azure RBAC。 Azure RBAC 中提供了以下资源类型的mongoCluster,用于单个分配和自定义 RBAC 角色创建

Action Description
Microsoft.DocumentDB/mongoClusters/read 读取mongoCluster资源或列出所有mongoCluster资源。
Microsoft.DocumentDB/mongoClusters/write 创建或更新指定 mongoCluster 资源的属性或标记。
Microsoft.DocumentDB/mongoClusters/delete 删除指定的 mongoCluster 资源。
Microsoft.DocumentDB/mongoClusters/私有终结点连接批准/操作 管理资源的专用终结点连接mongoCluster
Microsoft.DocumentDB/mongoClusters/listConnectionStrings/action 列出给定 mongoCluster 资源的连接字符串
Microsoft.DocumentDB/mongoClusters/firewallRules/read 读取防火墙规则或列出指定 mongoCluster 资源的所有防火墙规则。
Microsoft.DocumentDB/mongoClusters/firewallRules/写入 在指定 mongoCluster 资源上创建或更新防火墙规则。
Microsoft.DocumentDB/mongoClusters/firewallRules/delete 删除指定 mongoCluster 资源的现有防火墙规则。
Microsoft.DocumentDB/mongoClusters/privateEndpointConnectionProxies/read 读取指定 mongoCluster 资源的专用终端连接代理。
Microsoft.DocumentDB/mongoClusters/privateEndpointConnectionProxies/write 在指定的 mongoCluster 资源上创建或更新专用终结点连接代理。
Microsoft.DocumentDB/mongoClusters/privateEndpointConnectionProxies/delete 删除指定 mongoCluster 资源的现有专用终结点连接代理。
Microsoft.DocumentDB/mongoClusters/privateEndpointConnectionProxies/validate/action 验证指定 mongoCluster 资源的专用终结点连接代理。
Microsoft.DocumentDB/mongoClusters/privateEndpointConnections/read 读取专用终结点连接或列出指定 mongoCluster 资源的所有专用终结点连接。
Microsoft.DocumentDB/mongoClusters/privateEndpointConnections/write 在指定 mongoCluster 资源上创建或更新专用终结点连接。
Microsoft.DocumentDB/mongoClusters/privateEndpointConnections/delete 删除指定 mongoCluster 资源的现有专用终结点连接。
Microsoft.DocumentDB/mongoClusters/privateLinkResources/read 读取一个专用链接资源或列出指定的 mongoCluster 资源的所有专用链接资源。
Microsoft.DocumentDB/mongoClusters/users/read 读取用户或列出指定 mongoCluster 资源的所有用户。
Microsoft.DocumentDB/mongoClusters/users/write 在指定 mongoCluster 资源上创建或更新用户。
Microsoft.DocumentDB/mongoClusters/users/delete 删除指定 mongoCluster 资源的现有用户。

基于角色的数据库访问控制(RBAC)

群集上的 DocumentDB 内置管理员用户和 Entra ID 管理员用户 对群集具有完全读写权限,包括完全用户管理权限。

本机 DocumentDB 非管理用户Entra ID 非管理用户和安全主体 在群集级别为该群集上的所有数据库创建并授予特权。 readWriteAnyDatabaseclusterAdmin 角色共同授予对群集的完整读写权限,包括数据库管理和数据库作的权限。 readAnyDatabase 角色用于授予对群集的只读权限。

注释

仅支持具有数据库管理和数据库操作权限的完整读写权限用户。 不能单独分配 readWriteAnyDatabaseclusterAdmin 角色。

非管理(辅助)用户和安全主体在群集上被授予以下有限的 用户管理 权限:

安全提供商 角色 创建用户 (CreateUser) DeleteUser UpdateUser 列出用户
Entra ID 读写(readWriteAnyDatabase, clusterAdmin) ✔️
Entra ID 只读(readAnyDatabase) ✔️
原生 DocumentDB 读写(readWriteAnyDatabase, clusterAdmin) 仅更改自己的密码 ✔️
原生 DocumentDB 只读(readAnyDatabase) 仅更改自己的密码 ✔️