Меня попросила Azure Поддержка, чтобы опубликовать этот вопрос, просто чтобы узнать, есть ли у кого-нибудь полезное мнение.
Я прохожу учебные курсы по MS Azure. Я создал обычную бесплатную учетную запись на go через них. Я прошел через несколько десятков из них, и теперь я нахожусь на этом:
https://docs.microsoft.com/en-us/learn/modules/secure-and-isolate-with-nsg-and-service-endpoints/3-exercise-network-security-groups?source=learn
Это попытка использовать службу Azure PowerShell. У меня были некоторые проблемы при переходе на страницу PowerShell. Похоже, что если я еще не вошел в портал, он переходит в полубесконечное l oop, пытаясь добраться до страницы оболочки, затем пытаясь войти, затем страница оболочки, и, наконец, он сдается и говорит: «Мы не можем войти в систему. Пожалуйста, попробуйте еще раз».
Однако я смог обойти это. Если на отдельной вкладке я захожу на портал Azure, а затем go назад и перехожу по ссылке на Azure Cloud Shell, он проходит ворота входа и отправляет меня на страницу, где я выбираю Bash или PowerShell. Курс определяет использование Bash. Когда я выбираю это, он просит меня создать объект Storage. Когда я подтверждаю это, мне выдается следующая ошибка (идентификатор подписки исключен):
{
"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"
}
}
}
}
]
}
}
Я думаю, что простой вывод из этого заключается в том, что у моей бесплатной учетной записи недостаточно прав для выполнения необходимых действий. , Кажется, из документации, которую я прочитал, я должен получить дополнительные права на аккаунт, чтобы сделать это. Однако я просто использую бесплатную учетную запись, созданную для go с помощью Azure учебных курсов. Нет смысла просить меня сделать это. Я видел, как другие Azure курсы создают временную изолированную программную среду, предположительно, потому что у них есть определенные объекты, предварительно созданные в изолированной программной среде, но я также думаю, что у изолированной программной среды есть определенные разрешения, которые недоступны в бесплатной учетной записи. Мне кажется, что единственное разумное решение этой проблемы - это рефакторинг этого курса для использования временной песочницы с правильными разрешениями.
Я просто ищу мнения по этому поводу и подтверждаю, что это это то, что должно быть сделано.