Cosmos DB 创建异常 - 禁止 (403);子状态:5300,带 AAD

问题描述 投票:0回答:1

我正在尝试使用 AAD 在 C# 中创建 Cosmos 数据库。

CosmosClient CreateDatabaseIfNotExistsAsync 方法抛出 Cosmos 异常

“禁止 (403);子状态:5300;请求被 Auth cosmos-eus2-01 阻止:给定请求 [POST /dbs] 无法由 AAD 令牌授权”

微软文档称“使用 Microsoft Entra 身份会阻止任何非数据操作”。 链接在这里 https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/troubleshoot-forbidden#non-data-operations-are-not-allowed

使用帐户密钥创建 CosmosClient 是此错误的唯一解决方法吗?

azure azure-active-directory azure-cosmosdb microsoft-entra-id
1个回答
0
投票

是的。您无法在数据平面 SDK 上使用 AAD 凭据执行管理平面操作。

正如您提供的文档链接所述,它指向 https://learn.microsoft.com/azure/cosmos-db/how-to-setup-rbac#permission-model:

您无法使用任何 Azure Cosmos DB 数据平面 SDK 通过 Microsoft Entra 身份对管理操作进行身份验证。相反,您必须通过以下选项之一使用 Azure 基于角色的访问控制

对于 .NET,它是 Azure.ResourceManager.CosmosDB

© www.soinside.com 2019 - 2024. All rights reserved.