Во-первых, я хотел бы уточнить, что разрешение NotActions
определяет операции управления, которые исключены из разрешенного Actions
. См. Ссылку здесь .
Таким образом, если действие не включено в Actions
, нет необходимости помещать его в NotActions
, чтобы оно потеряло эффективность. В этом случае у пользователя не будет разрешения на выполнение действия.
Действие «Microsoft.Automation / automationAccounts / сертификаты / чтение» - это то, что вы хотите, чтобы команда PowerShell Get-AzAutomationCertificate
стала эффективной. Обратите внимание, что он позволяет выполнить Get-AzAutomationCertificate
, но не возвращает результатов.
Вот мой пример:
{
"Name": "Custom Role 2",
"Id": null,
"IsCustom": true,
"Description": "Don't allow for Get-AzAutomationCertificate",
"Actions": [
"Microsoft.Automation/automationAccounts/certificates/read",
"Microsoft.Automation/automationAccounts/read"
],
"NotActions": [
"Microsoft.Automation/automationAccounts/certificates/read"
],
"AssignableScopes": [
"/subscriptions/{subscription id}"
]
}
Обратите внимание на примечание в ссылке выше:
Если пользователю назначена роль, исключающая операцию в NotActions, и назначена вторая роль, которая предоставляет доступ к той же операции, пользователю разрешается выполнять эту операцию. NotActions - это не правило запрета - это просто удобный способ создать набор разрешенных операций, когда необходимо исключить указанные c операции.
После обновления настраиваемой роли и ее назначения пользователю следует повторно открыть окно PowerShell и повторно войти в систему с пользователем. Тогда это сработает для вас.