我正在寻找一种在Azure AD App密钥/凭证到期之前获得通知的方法。 link显示脚本以列出帐户和到期日期的详细信息。是否有可能以某种方式自动使用azure本机应用程序(如Logic应用程序或azure监视器)在到期前1周通过电子邮件/ SMS进行通知。
在我个人看来,我建议您使用Azure自动化Runbook来做到这一点。
1.创建automation account(需要创建Run As帐户)和runbook(powershell类型)。
2.导航到portal-> Modules - > Browse Gallery中的自动化帐户 - >导入AzureAD
模块。
3.关注此link以将目录角色分配给由运行方式帐户生成的服务主体(我不确定哪个角色足够Get-AzureADApplication
,您可以直接尝试Global Administrator
)。
4.在Runbook中,使用以下脚本登录服务主体。然后在你的问题中运行样本以获得到期日期,写一些if else语句与当前时间进行比较并判断,然后使用Send-MailMessage
到send a mail message。然后保存并发布您的Runbook。
$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.导航到门户网站中的Runbook - >计划 - >创建并将重复计划链接到您的Runbook,可能每小时或每天,详细信息取决于您。