Hi Qusai Qasem
Thanks for using the Q&A platform.
There is no perfect way of handling all your requests however, I recommend exploring the Azure Lighthouse. Azure Lighthouse enables centralized management of multiple tenants. It gives your service principal or identity access to customer subscriptions without switching directories.
With its cross-tenant experience, you can work more efficiently with Azure services such as Azure Policy, Microsoft Sentinel, Azure Arc, and many more.
Find doc: https://learn.microsoft.com/en-us/azure/lighthouse/overview
Additionally, since you already have GDAP, you can use PowerShell or Azure CLI scripts with the Az module to iterate over customer tenants. You can also use Azure resource graph to detect retired services, and also Terraform to deploy changes across tenants.
You can mark it 'Accept Answer' and 'Upvote' if this helped you
Regards,
Obinna