gpt4 book ai didi

azure-resource-manager - Azure 资源管理器 .Net API 无法获取资源组

转载 作者:行者123 更新时间:2023-12-01 03:40:48 27 4
gpt4 key购买 nike

我正在尝试编写一个独立程序来使用 Azure 资源管理器 .Net 库访问 Azure 资源组详细信息。根据文档,它需要在每个资源管理器请求中使用 Azure AD 身份验证和 token 。所以我在 AD 中创建了一个 Web 应用程序并配置了 key 并使用它来生成 token 。

但是即使我在请求中将此 token 作为承载传递,下面的代码也失败了。

m_resourceClient = new ResourceManagementClient(connection.GetCredentials());
m_resourceClient.HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", connection.GetAccessToken());
***ResourceGroupGetResult resourceGroupList = m_resourceClient.ResourceGroups.Get("PraveenTest")*** ;

错误信息:
AuthorizationFailed: The client '5919f7f9-####-####-####-074456eba98c' with object id '5919f7f9-####-####-####-074456eba98c' does not have authorization to perform action 
'Microsoft.Resources/subscriptions/resourcegroups/read' over scope '/subscriptions/1f94c869-####-####-####-055e8ae15be3/resourcegroups/TestGroup'.

最佳答案

您的不记名 token 有效,但您还需要授予您的应用程序访问资源组的权限。

您可以使用以下 PowerShell 命令执行此操作:

New-AzureRmRoleAssignment 
-ObjectId '5919f7f9-####-####-####-074456eba98c' `
-ResourceGroupName TestGroup `
-RoleDefinitionName Reader

如果您使用的是低于 1.0 的 Azure PowerShell 版本,则 cmdlet 为 New-AzureRoleAssignment

我建议使用 Dushyant Gill's blog post 来验证 ARM 请求。

关于azure-resource-manager - Azure 资源管理器 .Net API 无法获取资源组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30989990/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com