为 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 为您的 运行 图书创建一个重复计划,可能每小时或每天,具体看你。
我一直在寻找一种在 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 此 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 为您的 运行 图书创建一个重复计划,可能每小时或每天,具体看你。