是否可以使用Azure Graph API更改PIM中的通知

yhuiod9q  于 2022-12-14  发布在  其他
关注(0)|答案(1)|浏览(97)

我是stackoverflow的新手,所以如果你有任何反馈,请告诉我!我已经创建了一个powershell脚本,通过使用用于PIM的Microsoft(beta)Graph API在ResourceGroups上设置合格的角色分配。我使用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

这很好用,但是人们和管理员会被激活角色时发送的所有电子邮件通知弄得抓狂。通知会在创建和激活时发送,也会在需要审批者时发送。可以手动在门户网站将通知设置为“仅限关键电子邮件”,以消除电子邮件泛滥。有人知道是否可以通过使用图形API来做到这一点吗?

hgtggwj0

hgtggwj01#

当我们在门户修改“Critical emails only”并尝试get governanceRoleSetting时,我们将看到结果没有变化。
显然,Microsoft Graph还没有公开更新“仅关键电子邮件”的方法。
但事实上,我们可以通过Microsoft Graph来制作,这里我将分享我的步骤,请注意Microsoft Graph文档中没有提到,仅供参考。
以订阅所有者角色为例。
在浏览器中打开订阅所有者的编辑角色设置页,然后按F12打开开发人员工具。单击更新。然后我们将看到名为“roleSettingsv2”的请求。(它不是Microsoft Graph API)

查看响应,我们将在其中发现这样的“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中缺少该属性。
因此,我们只需要使用Update governanceRoleSetting在Microsoft Graph中更新此“NotificationRule”。
例如:

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将“仅关键电子邮件”设置为\"notificationlevel\":1设置为

相关问题