Можно ли использовать Azure Graph API для изменения уведомлений в PIM - PullRequest
1 голос
/ 17 июня 2020

Я новичок в stackoverflow, поэтому, если у вас есть отзывы, дайте мне знать! Я создал сценарий PowerShell для установки подходящих назначений ролей в ResourceGroups с помощью Microsoft (бета) Graph API для PIM. Я использую invoke-restmethod для вызова api, например:

$queryApiUri = "https://graph.microsoft.com/beta/privilegedAccess/azureResources/resources/$ResourceID/roleAssignments"
$Headers = @{}
$Headers.Add("Authorization","$($Token.token_type) "+ " " + "$($Token.access_token)")
$query = Invoke-RestMethod -Method Get -Uri $queryApiUri -Headers $Headers

Это работает нормально, но люди и администраторы сходят с ума от всей электронной почты, отправляемой в качестве уведомления при активации ролей. Уведомления отправляются во время создания и активации, а также когда требуются утверждающие. На портале можно вручную установить для уведомлений значение «Только важные электронные письма», чтобы избежать переполнения электронной почты. Кто-нибудь знает, можно ли это сделать с помощью Graph API?

1 Ответ

0 голосов
/ 17 июня 2020

Когда мы изменяем на портале «Только критические сообщения электронной почты» и пытаемся получить ManagementRoleSetting , мы увидим, что результат не изменился. t предоставил метод обновления «Только критические электронные письма».

Но на самом деле мы можем сделать это через Microsoft Graph. Здесь я поделюсь своими шагами. Обратите внимание, что это не упоминается в документе Microsoft Graph. Это просто для справки.

В качестве примера возьмем роль владельца подписки.

Откройте страницу редактирования настроек роли владельца подписки в браузере и нажмите F12, чтобы открыть инструмент разработчика. Нажмите Обновить . Затем мы увидим запрос с именем roleSettingsv2. (Это не Microsoft Graph API)

enter image description here

Заглянув в ответ, мы обнаружим в нем такое «NotificationRule».

{
    "ruleIdentifier": "NotificationRule",
    "setting": "{\"policies\":[{\"deliveryMechanism\":\"email\",\"setting\":[{\"customreceivers\":null,\"isdefaultreceiverenabled\":true,\"notificationlevel\":2,\"recipienttype\":2},{\"customreceivers\":null,\"isdefaultreceiverenabled\":true,\"notificationlevel\":2,\"recipienttype\":0},{\"customreceivers\":null,\"isdefaultreceiverenabled\":true,\"notificationlevel\":2,\"recipienttype\":1}]}]}"
}

Его нет в Microsoft Graph API.

Таким образом, нам просто нужно обновить это «NotificationRule» в Microsoft Graph, используя Update managementRoleSetting .

Например:

PATCH https://graph.microsoft.com/beta/privilegedAccess/azureResources/roleSettings/b12d879d-e521-4b0b-971c-7a2b6ac979ba

{
    "adminEligibleSettings": [{
            "ruleIdentifier": "ExpirationRule",
            "setting": "{\"permanentAssignment\":false,\"maximumGrantPeriodInMinutes\":525600}"
        }, {
            "ruleIdentifier": "MfaRule",
            "setting": "{\"mfaRequired\":false}"
        }, {
            "ruleIdentifier": "NotificationRule",
            "setting": "{\"policies\":[{\"deliveryMechanism\":\"email\",\"setting\":[{\"customreceivers\":null,\"isdefaultreceiverenabled\":true,\"notificationlevel\":2,\"recipienttype\":2},{\"customreceivers\":null,\"isdefaultreceiverenabled\":true,\"notificationlevel\":2,\"recipienttype\":0},{\"customreceivers\":null,\"isdefaultreceiverenabled\":true,\"notificationlevel\":2,\"recipienttype\":1}]}]}"
        }
    ]
}

Вы должны установить значение для notificationlevel.

Обратите внимание, что \"notificationlevel\":2 устанавливает «Только критические письма» как False и \"notificationlevel\":1 равно Истина .

...