SSL connections to Azure AD can be decrypted by McAfee Web Gateway and headers can be inserted and replaced providing full support for Tenant Restrictions as defined here: Manage access to cloud apps by restricting tenants - Azure | Microsoft Docs
Reading the entire Microsoft article is recommended but here are the highlights as it pertains to implementing on MWG:
In order to implement what is described in the Microsoft article. You need to have an Azure AD account (comes with Office 365) and you need a proxy like McAfee Web Gateway or McAfee Web Gateway cloud service that performs SSL decryption and can modify headers when accessing the following hosts.
The Certificate Authority used by the web gateway or cloud service must be trusted by the application or browser being used to access cloud services.
Note: At the time of this writing you would need to use a McAfee Web Gateway to manage policy on McAfee Web Gateway Cloud Service in order to implement this feature when filtering through the McAfee cloud (For example if you wanted to enforce tenant restrictions when using the cloud service through an IPSec tunnel or when using the cloud service via explicit proxy using MCP or IP Authentication).
The two headers that must be added or replaced are:
You will need to know your Azure AD Tenant ID and obviously the domains that you want to restrict access to. An MWG ruleset from 7.7.2 is attached, all features and properties used in the ruleset are available on all supported versions of McAfee Web Gateway. To use the ruleset you will need to import it and modify the parameters to include your domains and Azure AD ID.
Note, if you are going to use this in conjunction with the Bypass Office365 Services ruleset, then you would need to add a criteria/condition to that RuleSet to exclude these three Microsoft Login URLs as they are embedded in the following lists and thus hit the Stop Cycle action.
Lync Online URLs
Office 365 URLs
Office for iPad URLs
Office Mobile URLs
SharePoint Online URLs
When I enable tenant restrictions the login page will no longer load. Where in the request cycle should this be placed? It seems like any modification to the header causes a problem for the microsoft site.
Two additional notes: