首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure策略定义权限错误: AuthorizationFailed

Azure策略定义权限错误: AuthorizationFailed
EN

Stack Overflow用户
提问于 2020-12-15 11:21:31
回答 2查看 470关注 0票数 1

我正在通过使用(官方的github )定义一个自定义的蔚蓝策略。作为参数,我只是在param中传递日志分析工作区名称。下面的powershell代码(取自azure )就是为此目的使用的,我刚刚在第二个命令中添加了-AssignIdentity (这是必要的)。作为角色定义,我在模板中授予订阅权限的所有者。

代码语言:javascript
复制
$definition = New-AzPolicyDefinition -Name "deploy-oms-vm-extension-windows-vm" -DisplayName "Deploy default Log Analytics VM Extension for Windows VMs." -description "This policy deploys the Log Analytics VM Extensions on Windows VMs, and connects to the selected Log Analytics workspace." -Policy 'https://raw.githubusercontent.com/Azure/azure-policy/master/samples/Compute/deploy-oms-vm-extension-windows-vm/azurepolicy.rules.json' -Parameter 'https://raw.githubusercontent.com/Azure/azure-policy/master/samples/Compute/deploy-oms-vm-extension-windows-vm/azurepolicy.parameters.json' -Mode Indexed 
$definition
$assignment = New-AzPolicyAssignment -Name <assignmentname> -Scope <scope> -logAnalytics <logAnalytics> -PolicyDefinition $definition -AssignIdentity
$assignment 

策略是正确创建的。但是,当我尝试创建一个补救任务时,该任务失败,并得到以下错误:

详细代码AuthorizationFailed消息客户端‘xxxx-xxxx’对象id‘’客户端‘如果最近授予了访问权限,请刷新凭据。

在门户网站上,我看到策略定义具有我定义的所有者权限。

但我也在策略补救页面上看到了这一点:

我不明白这个错误的原因。有人知道吗?

EN

回答 2

Stack Overflow用户

发布于 2020-12-17 06:54:03

根据一些测试,这可能是由您的帐户许可。我不认为这与你的政策定义的作用有任何关系。

显示相同错误消息的一种情况是使用错误的订阅或错误的资源组执行操作,但我认为选择错误的订阅或资源组的可能性很低,因为您是在门户上这样做的。

显示此错误消息的另一种情况是我在我这边测试的内容。我测试的一个帐户没有分配一个角色,有足够的权限,它显示相同的错误信息。因此,请检查您的帐户角色并分配一个具有更高权限的角色,然后创建补救任务。

票数 0
EN

Stack Overflow用户

发布于 2020-12-17 07:18:43

我找到了解决办法。因此,在执行New-AzPolicyAssignment命令期间创建的托管标识没有使用正确的权限创建。解决方案如下:

代码语言:javascript
复制
$definition = New-AzPolicyDefinition -Name "deploy-oms-vm-extension-windows-vm" -DisplayName "Deploy default Log Analytics VM Extension for Windows VMs." -description "This policy deploys the Log Analytics VM Extensions on Windows VMs, and connects to the selected Log Analytics workspace." -Policy 'https://raw.githubusercontent.com/Azure/azure-policy/master/samples/Compute/deploy-oms-vm-extension-windows-vm/azurepolicy.rules.json' -Parameter 'https://raw.githubusercontent.com/Azure/azure-policy/master/samples/Compute/deploy-oms-vm-extension-windows-vm/azurepolicy.parameters.json' -Mode Indexed 
$assignment = New-AzPolicyAssignment -Name <assignmentname> -Scope <scope> -logAnalytics <logAnalytics> -PolicyDefinition $definition -AssignIdentity

## Get newly created policy assignment object
$PolicyAssignment = Get-AzPolicyAssignment -Name $assignmentname -Scope $scope

## Extract the RoleID and ObjectID
$roleDefinitionId = [GUID]($definition.properties.policyRule.then.details.roleDefinitionIds -split "/")[4]
$objectID = [GUID]($PolicyAssignment.Identity.principalId)

## Create a role assignment from the previous information
New-AzRoleAssignment -Scope $scope -ObjectId $objectID -RoleDefinitionId $roleDefinitionId

有一个已经开放的问题这里。我已经从那里调整了解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65304872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档