使用 Azure 托管服务标识连接到 Cosmos DB 帐户

Connect to Cosmos DB account using Azure Managed Service Identity

是否可以像 Azure SQL 一样使用 MSI 连接到 Azure cosmos DB?

这就是 Azure SQL 服务器

的工作方式
using (var connection = new SqlConnection(connectionString))
{
    connection.AccessToken = await new AzureServiceTokenProvider().GetAccessTokenAsync("https://database.windows.net/");
    await connection.OpenAsync(cancellationToken);

    //...
}

我无法为 Cosmos DB 找到任何类似的东西。虽然似乎启用了 MSI 对它的支持

不,不直接。 Cosmos DB 不支持 Azure AD 身份验证 - 因此无法使用 MSI。

https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/services-support-managed-identities

不过您可以使用 MSI 提取 Cosmos DB 密钥:https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/tutorial-windows-vm-access-cosmos-db