访问控制是保护 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 非管理用户和安全主体 在群集级别为该群集上的所有数据库创建并授予特权。 readWriteAnyDatabase 和 clusterAdmin 角色共同授予对群集的完整读写权限,包括数据库管理和数据库作的权限。 readAnyDatabase 角色用于授予对群集的只读权限。
注释
仅支持具有数据库管理和数据库操作权限的完整读写权限用户。 不能单独分配 readWriteAnyDatabase 和 clusterAdmin 角色。
非管理(辅助)用户和安全主体在群集上被授予以下有限的 用户管理 权限:
| 安全提供商 | 角色 | 创建用户 (CreateUser) | DeleteUser | UpdateUser | 列出用户 |
|---|---|---|---|---|---|
| Entra ID | 读写(readWriteAnyDatabase, clusterAdmin) | ❌ | ❌ | ❌ | ✔️ |
| Entra ID | 只读(readAnyDatabase) | ❌ | ❌ | ❌ | ✔️ |
| 原生 DocumentDB | 读写(readWriteAnyDatabase, clusterAdmin) | ❌ | ❌ | 仅更改自己的密码 | ✔️ |
| 原生 DocumentDB | 只读(readAnyDatabase) | ❌ | ❌ | 仅更改自己的密码 | ✔️ |
相关内容
- 了解如何在群集上启用Microsoft Entra ID 和管理 Entra ID 用户
- 了解如何在群集上管理非管理员(次要)DocumentDB 的本机用户