В Azure есть функция, которая называется Identity Governance или Entitlement Management. Эта функция позволяет создавать пакеты доступа и управлять разрешениями пользователей с помощью рабочего процесса запроса-утверждения.
Я хочу автоматизировать создание ресурсов AccessPackages и AccessPackageCatalog. Azure CLI и модуль Azure PW SH не поддерживают пакеты AccessPackages. Единственный способ автоматизировать это описан здесь: https://github.com/MicrosoftDocs/azure-docs/issues/52179, в котором говорится: «Используйте API-интерфейс Microsoft Graph beta»
Я пробовал следующее для доступа к API из командной строки:
Использование простого PowerShell:
$tokenJson=$(az account get-access-token --resource-type ms-graph)
$tokenObject=$(echo $tokenJson | ConvertFrom-Json)
$headers = @{Authorization = "Bearer $($tokenObject.accessToken)"}
$result = Invoke-WebRequest https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackages -Headers $headers
или использование az rest
az rest --method get --uri https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackages
оба запроса приводят к следующей ошибке с ответом 403:
{
"error": {
"code": "UnknownError",
"message": "",
"innerError": {
"request-id": "0cd50759-d95a-4171-a942-3424cb19a622",
"date": "2020-05-26T15:34:48"
}
}
}
Когда я пытаюсь просмотреть AccessPackages внутри портала, все работает так, как ожидалось: я могу перечислить и создать пакеты.
БОКОВОЕ ПРИМЕЧАНИЕ У меня НЕТ постоянного доступа к панели Identity Governance. в azure. Вместо этого я должен использовать Privileged Identity Management
, чтобы активировать роль User Administrator
для моей учетной записи.
az logout && az login
после активации роли ничего не изменилось.