为 Azure AD Apps 密钥过期设置通知

Set notification for Azure AD Apps key expiration

我一直在寻找一种在 Azure AD 应用 key/credential 过期之前得到通知的方法。 link 显示用于列出帐户详细信息和到期日期的脚本。是否有可能以某种方式自动使用 azure 原生应用程序(例如 Logic 应用程序或 azure monitor)在 1 周到期前通过 email/SMS 通知。

在我个人看来,我建议您使用 Azure 自动化 运行book 来做到这一点。

1.Create automation account(need to create Run As account) and runbook(powershell 类型)。

2.navigate 到门户中的自动化帐户 -> 模块 -> 浏览图库 -> 导入 AzureAD 模块。

3.Follow 此 将目录角色分配给 运行 As 帐户生成的服务主体(我不确定哪个角色足以 Get-AzureADApplication , 你可以直接试试 Global Administrator).

4.In 你的 运行book,使用下面的脚本使用服务主体登录。然后运行你问题中的sample获取过期时间,写一些if else语句和当前时间比较判断,然后用Send-MailMessage to 。然后保存并发布您的 运行 图书。

$connectionName = "AzureRunAsConnection"
try
{
    # Get the connection "AzureRunAsConnection "
    $servicePrincipalConnection=Get-AutomationConnection -Name $connectionName         

    "Logging in to Azure..."
    Connect-AzureAD `
        -TenantId $servicePrincipalConnection.TenantId `
        -ApplicationId $servicePrincipalConnection.ApplicationId `
        -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint 
}
catch {
    if (!$servicePrincipalConnection)
    {
        $ErrorMessage = "Connection $connectionName not found."
        throw $ErrorMessage
    } else{
        Write-Error -Message $_.Exception
        throw $_.Exception
    }
}

5.Navigate 到门户中的 运行 图书 -> 日程安排 -> 创建并 link 为您的 运行 图书创建一个重复计划,可能每小时或每天,具体看你。