当 Azure AD 管理员将用户分配给应用程序(企业或自定义)时,我想向用户发送一封欢迎电子邮件。最好使用自定义模板来定义访问 URL 以及一些附加信息(如何使用、一些规则等)。我在 Azure 门户中没有发现任何类似的东西。
Azure AD 是否提供此类功能?或者我应该构建自定义实现(Graph API、EventGrid + Azure Functions、SCIM 协议等)?
当 Azure AD 管理员将用户分配给应用程序(企业或自定义)时,我想向用户发送一封欢迎电子邮件。最好使用自定义模板来定义访问 URL 以及一些附加信息(如何使用、一些规则等)。我在 Azure 门户中没有发现任何类似的东西。
Azure AD 是否提供此类功能?或者我应该构建自定义实现(Graph API、EventGrid + Azure Functions、SCIM 协议等)?
据我了解,从根本上讲,您希望在将用户分配给企业应用程序(或自定义 - 假设也属于同一类)时发送一封电子邮件。我假设您不需要知道谁实际分配了权限。无论哪种方式,通过下面的查询,您应该有足够的时间开始工作。
据我所知,AD 中没有对此的本机支持(我根本找不到任何可用的东西,但我可能错了),但我们的解决方法是使用 Log Analytics + Azure Logic App 来实现。虽然我们的用例略有不同(我们使用它来监控并在登录到特定帐户时收到警报),但相同的逻辑可能适用于您 - 我将几行代码放在一起来查询日志分析。但我无法让警报部分工作 - Azure 现在可能只是昏昏欲睡。
编辑:警报在第二天起作用。我猜只是需要一些时间来热身。
试试看:
AuditLogs
| where TimeGenerated > ago(5m) //Change as required
| where ActivityDisplayName has "Add app role assignment grant to user"
| project Time = TimeGenerated, Activity = ActivityDisplayName, Application=parse_json(TargetResources)[0].displayName, User=parse_json(TargetResources)[1].userPrincipalName
| where Application contains "myapp"
从 Log Analytics 创建警报(希望您可以立即使用它 - 每个警报的费用为 1.50 美元/月)。
(a) 您需要创建一个Action Group
(b) 在 下Action Group,在 中配置您的电子邮件Notifications。
(c) 您需要返回以将Action字段重新配置到您将在下面创建的逻辑应用程序。
创建一个逻辑应用并从HTTP 连接器作为触发器开始,以接收 JSON 格式的内容。
设置带有所有变量等的发送电子邮件 (v2)操作,或其他连接器(如果适用于您的情况)。自定义 HTML 格式的电子邮件
使用 Log Analytics 和警报的一种替代方法也可以是使用 PowerShell 查询 AAD 日志HTTP POST Url,然后通过保存 HTTP 连接器时显示的信息将信息解析到逻辑应用程序。
使用 HTTP 连接器的另一种替代方法是使用带触发器的O365 连接器When a new email arrives (v3)
需要考虑的事项:
希望这能给你一些想法。