Hello Pawlak, Owen - (BOS),
Welcome to the Microsoft Q&A and thank you for posting your questions here.
I understand that you are looking for an efficient way of tracking Enterprise Apps and App Registrations. Specifically, tracking when App certificates or secrets expire.
Keeping track of the expiration dates for app certificates and secrets in Azure is an important aspect when it comes to ensuring your enterprise applications stay secure and running, but you cannot really achieve this either inside or outside of the portal. Many different ways and tools you can employ to manage your Azure App Registrations as well as how to track certificates, and secrets associated with them:
- Azure AD Access Reviews and Conditional Access.
- Certificates and Secrets Management in the Azure portal.
- Azure CLI and PowerShell is my favorite tool by using Azure AD PowerShell modules to automate the tracking process, like this example:
$apps = Get-AzureADApplication foreach ($app in $apps) { $secrets = Get-AzureADApplicationPasswordCredential -ObjectId $app.ObjectId foreach ($secret in $secrets) { if ($secret.EndDate -lt (Get-Date).AddDays(30)) { Write-Output "$($app.DisplayName) secret expires on $($secret.EndDate)" } } }
- Set up alerts in Azure Monitor to notify you when a certificate or secret is nearing its expiration.
- Using custom Azure Policies to audit the expiration dates of certificates and secrets.
- You can create a custom solution using Azure Functions or Logic Apps to periodically check the expiration dates of certificates and secrets and send notifications or create tickets for remediation like other enterprises.
- I have seen a friend using third-party tools like CloudBolt, AppDynamics, or CloudHealth.
I hope this is helpful! Do not hesitate to let me know if you have any other questions.
Best Regards,
Sina Salam