我从azure而不是服务原则创建了用户身份。
过程是手动创建的,我通过门户添加新用户身份创建了新身份。
var credential = new DefaultAzureCredential(new DefaultAzureCredentialOptions { ManagedIdentityClientId = "Azureuseridentity"});
var blobClient = new BlobClient(new Uri("https://my.blob.core.windows.net/my-container"), credential);
在本地,当我使用此代码时,它给了我 401。
对于 SPN 身份,我们可以使用 Tanat 客户端和令牌,并且可以在本地环境中工作以获取 SPN 身份>
但对于自定义用户身份它不起作用。 我参考这个链接 https://github.com/MicrosoftDocs/azure-docs/issues/90776 他们说“托管身份不能用于本地开发。”
对此有什么想法
托管身份只能在 Azure 中运行服务时使用,DefaultAzureCredential 将能够按预期获取分配的身份。
您可以为本地开发创建应用程序注册(服务主体)并使用该凭据。