Azure 支持人员要求我发布这个问题,只是想看看是否有人有有用的意见。
我正在逐步完成 MS Azure 培训课程。我创建了通常的免费帐户来完成这些。我已经经历了几十个,现在是这个:
这会尝试使用 Azure PowerShell 服务。我在访问 PowerShell 页面时遇到了一些麻烦。看来,如果我还没有登录到门户,它会进入一个半无限循环,尝试进入 shell 页面,然后尝试登录,然后是 shell 页面,最后它放弃并说“我们无法让您登录。请重试。”。
但是,我能够解决这个问题。如果在单独的选项卡中登录 Azure 门户,然后返回并点击 Azure Cloud Shell 的链接,它会通过登录门并将我发送到我选择 Bash 或 PowerShell 的页面。该课程指定使用 Bash。当我选择它时,它会要求我创建一个 Storage 对象。当我确认这一点时,它给了我以下错误(订阅 ID 省略):
{
"error": {
"code": "RequestDisallowedByPolicy",
"target": "cs733f82532facdx4f04x95b",
"message": "Resource 'cs733f82532facdx4f04x95b' was disallowed by policy. Policy identifiers: '[{\"policyAssignment\":{\"name\":\"Enforce tag on resource\",\"id\":\"/subscriptions/xxxxx/providers/Microsoft.Authorization/policyAssignments/740514d625684aad84ef8ca0\"},\"policyDefinition\":{\"name\":\"Enforce tag on resource\",\"id\":\"/subscriptions/xxxxx/providers/Microsoft.Authorization/policyDefinitions/be3862a6-ca1e-40b0-a024-0c0c7d1e8b3e\"}}]'.",
"additionalInfo": [
{
"type": "PolicyViolation",
"info": {
"policyDefinitionDisplayName": "Enforce tag on resource",
"evaluationDetails": {
"evaluatedExpressions": [
{
"result": "True",
"expressionKind": "Field",
"expression": "tags[Department]",
"path": "tags[Department]",
"targetValue": "false",
"operator": "Exists"
}
]
},
"policyDefinitionId": "/subscriptions/xxxxx/providers/Microsoft.Authorization/policyDefinitions/be3862a6-ca1e-40b0-a024-0c0c7d1e8b3e",
"policyDefinitionName": "be3862a6-ca1e-40b0-a024-0c0c7d1e8b3e",
"policyDefinitionEffect": "deny",
"policyAssignmentId": "/subscriptions/xxxxx/providers/Microsoft.Authorization/policyAssignments/740514d625684aad84ef8ca0",
"policyAssignmentName": "740514d625684aad84ef8ca0",
"policyAssignmentDisplayName": "Enforce tag on resource",
"policyAssignmentScope": "/subscriptions/xxxxx",
"policyAssignmentParameters": {
"tagName": {
"value": "Department"
}
}
}
}
]
}
}
我认为由此得出的简单结论是我的免费帐户没有足够的权利来做这里需要的事情。我读过的文档似乎暗示我必须在帐户上获得额外的权限才能做到这一点。但是,我只是使用我创建的免费帐户来完成 Azure 培训课程。要求我这样做是没有意义的。我已经看到其他 Azure 课程创建了一个临时沙箱,据说是因为它们在沙箱中预先创建了特定的对象,但我也认为沙箱具有免费帐户中不可用的特定权限。在我看来,解决这个问题的唯一合理方法是将该课程重构为使用具有正确权限的临时沙箱。
我只是在寻找对此的任何意见,并确认这是应该做的。