Updates from: 03/04/2022 02:20:03
Category Microsoft Docs article Related commit history on GitHub Change details
admin Admin Roles Page https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/add-users/admin-roles-page.md
f1.keywords:
- NOCSH -+ audience: Admin ms.localizationpriority: medium - M365-subscription-management-- Adm_O365-
+- Adm_O365W
- AdminSurgePortfolio - AdminTemplateSet
Assign the Exchange admin role to users who need to view and manage your user's
### Global admin
-Assign the global admin role to users who need global access to most management features and data across Microsoft online services. Giving too many users global access is a security risk and we recommend that you have between 2 and 4 Global admins. Only global admins can reset passwords for all user and add and manage domains. They can also open and manage support requests to Microsoft support . The person who signed up for Microsoft online services automatically becomes a global admin. [Learn more](/microsoft-365/admin/add-users/about-admin-roles#roles-available-in-the-microsoft-365-admin-center)
+Assign the global admin role to users who need global access to most management features and data across Microsoft online services. Giving too many users global access is a security risk and we recommend that you have between 2 and 4 Global admins. Only global admins can reset passwords for all user and add and manage domains. They can also open and manage support requests to Microsoft support. The person who signed up for Microsoft online services automatically becomes a global admin. [Learn more](/microsoft-365/admin/add-users/about-admin-roles#roles-available-in-the-microsoft-365-admin-center)
### Global reader
admin Capabilities https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/basic-mobility-security/capabilities.md
You can use Basic Mobility and Security to secure and manage the following devic
> [!NOTE] > Devices already enrolled with earlier OS versions continue to function although the capabilities might change without notice.
-If people in your organization use mobile devices that aren't supported by Basic Mobility and Security, you might want to block Exchange ActiveSync app access to Microsoft 365 email for those devices, to help make your organization's data more secure. For steps to block Exchange ActiveSync, see [Manage device access settings in Basic Mobility and Security](manage-device-access-settings.md).
+If people in your organization use mobile devices that aren't supported by Basic Mobility and Security, you may want to block Exchange ActiveSync app access to Microsoft 365 email for those devices, to help make your organization's data more secure. For steps to block Exchange ActiveSync, see [Manage device access settings in Basic Mobility and Security](manage-device-access-settings.md).
## Access control for Microsoft 365 email and documents The supported apps for the different types of mobile devices in the following table prompt users to enroll in Basic Mobility and Security where there is a new mobile device management policy that applies to a userΓÇÖs device and the user hasnΓÇÖt previously enrolled the device. If a userΓÇÖs device doesnΓÇÖt comply with a policy, depending on how you set the policy up, a user might be blocked from accessing Microsoft 365 resources in these apps, or they might have access but Microsoft 365 reports a policy violation.
-|**Product**|**iOS 10.0 or later**|**Android 5.0 or later**|
+|**Product**|**iOS**|**Android**|
|:--|:--|:--| |**Exchange** Exchange ActiveSync includes built-in email and third-party apps, like TouchDown, that use Exchange ActiveSync Version 14.1 or later. |Mail |Email | |**Office** and **OneDrive for Business** |Outlook </br>OneDrive </br>Word </br>Excel </br>PowerPoint|**On phones and tablets**:<br/>Outlook <br/> OneDrive <br/> Word <br/> Excel <br/> PowerPoint <br/> **On phones only:** <br/> Office Mobile |
The following sections list the policy settings you can use to help secure and m
## Security settings
-|**Setting name**|**iOS |**Android**|**Samsung Knox**|
+|**Setting name**|**iOS** |**Android**|**Samsung Knox**|
|:--|:--|:--|:--| |Require a password|Yes|Yes|Yes| |Prevent simple password|Yes|No|No|
The following sections list the policy settings you can use to help secure and m
## Encryption settings
-|**Setting name**|**iOS |**Android**|**Samsung Knox**|
+|**Setting name**|**iOS** |**Android**|**Samsung Knox**|
|:--|:--|:--|:--| |Require data encryption on devices<sup>1</sup> |No|Yes|Yes|
The following sections list the policy settings you can use to help secure and m
## Jail broken setting
-|**Setting name**|**iOS |**Android**|**Samsung Knox**|
+|**Setting name**|**iOS** |**Android**|**Samsung Knox**|
|:--|:--|:--|:--| |Device cannot be jail broken or rooted |Yes|Yes|Yes|
The following sections list the policy settings you can use to help secure and m
The following option can block users from accessing their Microsoft 365 email if theyΓÇÖre using a manually created email profile. Users on iOS devices must delete their manually created email profile before they can access their email. After they delete the profile, a new profile is automatically created on the device. For instructions on how end users can get compliant, see [An existing email account was found](/intune-user-help/existing-company-email-account-found).
-|**Setting name**|**iOS |**Android**|**Samsung Knox**|
+|**Setting name**|**iOS** |**Android**|**Samsung Knox**|
|:--|:--|:--|:--| |Email profile is managed |Yes|No|No| ## Cloud settings
-|**Setting name**|**iOS |**Android**|**Samsung Knox**|
+|**Setting name**|**iOS** |**Android**|**Samsung Knox**|
|:--|:--|:--|:--| |Require encrypted backup |Yes|No|No| |Block cloud backup |Yes|No|No|
The following option can block users from accessing their Microsoft 365 email if
## System settings
-|**Setting name**|**iOS |**Android**|**Samsung Knox**|
+|**Setting name**|**iOS** |**Android**|**Samsung Knox**|
|:--|:--|:--|:--| |Block screen capture |Yes|No|Yes| |Block sending diagnostic data from device |Yes|No|Yes| ## Application settings
-|**Setting name**|**iOS |**Android**|**Samsung Knox**|
+|**Setting name**|**iOS** |**Android**|**Samsung Knox**|
|:--|:--|:--|:--| |Block video conferences on device |Yes|No|No| |Block access to application store |Yes|No|Yes|
The following option can block users from accessing their Microsoft 365 email if
## Device capabilities settings
-|**Setting name**|**iOS |**Android**|**Samsung Knox**|
+|**Setting name**|**iOS** |**Android**|**Samsung Knox**|
|:--|:--|:--|:--| |Block connection with removable storage |Yes|Yes|No| |Block Bluetooth connection |Yes|Yes|No|
The following option can block users from accessing their Microsoft 365 email if
You can set the following additional policy settings by using Security & Compliance Center PowerShell cmdlets. For more information, seeΓÇ»[Security & Compliance Center PowerShell](/powershell/exchange/scc-powershell).
-|**Setting name**|**iOS |**Android**|
+|**Setting name**|**iOS** |**Android**|
|:--|:--|:--| |CameraEnabled|Yes|Yes| |RegionRatings|Yes|No|
admin Autopilot Profile Settings https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/devices/autopilot-profile-settings.md
Title: "About AutoPilot Profile settings"-- NOCSH audience: Admin
+f1.keywords:
- 'ZTDProfileSettings' - 'O365E_ZTDProfileSettings' - 'BCS365_ZTDProfileSettings'
admin Protection Settings For Windows 10 Devices https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/devices/protection-settings-for-windows-10-devices.md
Title: "Edit or set application protection settings for Windows 10 devices"-- NOCSH audience: Admin
+f1.keywords:
- 'Win10AppPolicy' - 'O365E_Win10AppPolicy' - 'BCS365_Win10AppPolicy'
admin Create Dns Records At 1 1 Internet https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/dns/create-dns-records-at-1-1-internet.md
audience: Admin
-localization_priority: Normal
+ms.localizationpriority: medium
- M365-subscription-management
admin Create Dns Records At 123 Reg Co Uk https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/dns/create-dns-records-at-123-reg-co-uk.md
audience: Admin
-localization_priority: Normal
+ms.localizationpriority: medium
- M365-subscription-management
admin Create Dns Records At Aws https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/dns/create-dns-records-at-aws.md
audience: Admin
-localization_priority: Normal
+ms.localizationpriority: medium
- M365-subscription-management
admin Create Dns Records At Cloudflare https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/dns/create-dns-records-at-cloudflare.md
audience: Admin
-localization_priority: Normal
+ms.localizationpriority: medium
- M365-subscription-management
admin Create Dns Records At Godaddy https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/dns/create-dns-records-at-godaddy.md
audience: Admin
-localization_priority: Normal
+ms.localizationpriority: medium
- M365-subscription-management
admin Create Dns Records At Namecheap https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/dns/create-dns-records-at-namecheap.md
audience: Admin
-localization_priority: Normal
+ms.localizationpriority: medium
- M365-subscription-management
admin Create Dns Records At Network Solutions https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/dns/create-dns-records-at-network-solutions.md
audience: Admin
-localization_priority: Normal
+ms.localizationpriority: medium
- M365-subscription-management
admin Create Dns Records At Ovh https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/dns/create-dns-records-at-ovh.md
audience: Admin
-localization_priority: Normal
+ms.localizationpriority: medium
- M365-subscription-management
admin Create Dns Records At Web Com https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/dns/create-dns-records-at-web-com.md
audience: Admin
-localization_priority: Normal
+ms.localizationpriority: medium
- M365-subscription-management
admin Create Dns Records At Wix https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/dns/create-dns-records-at-wix.md
audience: Admin
-localization_priority: Normal
+ms.localizationpriority: medium
- M365-subscription-management
admin Empower Your Small Business With Remote Work https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/misc/empower-your-small-business-with-remote-work.md
Title: "Empower your small business with remote work"
f1.keywords: - NOCSH -+ audience: Admin
admin Secure Windows 10 Devices https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/misc/secure-windows-10-devices.md
Title: "Secure Windows 10 devices"-- CSH audience: Admin
+f1.keywords:
- 'O365E_BCSSetup4WindowsConfig' ms.localizationpriority: medium
admin Business Set Up https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/setup/business-set-up.md
Title: "Set up Microsoft 365 Business Premium"-- NOCSH audience: Admin
+f1.keywords:
- 'O365E_M365SetupBanner' - 'BCS365_M365SetupBanner'
admin Upgrade Users To Latest Office Client https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/admin/setup/upgrade-users-to-latest-office-client.md
Title: Upgrade your Office 2010 to Microsoft 365 - Microsoft 365 admin
f1.keywords: - NOCSH -+ audience: Admin
bookings Comparison Chart https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/bookings/comparison-chart.md
Teams app features are being added all the time and we will continue to update t
| Publish a self-service scheduling page | Yes | No | | Manage customer contacts | Yes | No | | Set time off for staff | Yes | No |
+| Scheduled queue view | No | Yes |
bookings Turn Bookings On Or Off https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/bookings/turn-bookings-on-or-off.md
Bookings can be turned on or off for your entire organization or for specific us
4. Select **Save Changes**.
-## Turn Bookings on or off for your organization using PowerShell
+### Turn Bookings on or off for your organization using PowerShell
To turn Bookings on or off for your organization using the PowerShell cmdlet [Set-OrganizationConfig](/powershell/module/exchange/set-organizationconfig), [Connect to Exchange Online PowerShell](/powershell/exchange/connect-to-exchange-online-powershell) and run the following command:
To turn Bookings on or off for your organization using the PowerShell cmdlet [Se
Set-OrganizationConfig -BookingsEnabled $false ```
-### Turn Bookings on or off for individual users
+Use the settings below to control who can use Bookings, decide on what Bookings information is shared and whether staff need approval before they can be added to a Booking calendar.
-You can disable Bookings for individual users.
-1. Go to the Microsoft 365 admin center, then select **Users** \> <a href="https://go.microsoft.com/fwlink/p/?linkid=834822" target="_blank">**Active users**</a>.
+### Block bookings from outside your organization
-1. Select the desired user, then select **Licenses and Apps**.
+You can set up Bookings so only people in your organization can book appointments. Only users in your organization who've signed and are authenticated can book appointments.
-1. Expand **Apps** and clear the checkbox for Microsoft Bookings.
+### Block social sharing options
+
+You can control how booking pages are shared on social networks. This setting is available in the Microsoft 365 admin center under **Settings** -> **Org settings** -> **Bookings**.
+
+### Block sharing staff details with customers
+
+Staff details, such as contact information, will never be sent to customers via email or any other communication.
+
+### Require staff approvals before sharing free/busy information
+
+You can require employees in your organization to opt-in before their availability information is shared through Bookings and before they can be bookable through a booking page.
-## Require staff approvals before sharing free/busy information
+When this setting is enabled, people added as staff in booking calendars will get an email with a link to **Approve/Reject** the request.
-Admins can require employees in their organization to opt-in before their availability information is shared through Bookings and before they can be bookable through a booking page. This setting is available in the Microsoft 365 admin center under **Settings** \> <a href="https://go.microsoft.com/fwlink/p/?linkid=2053743" target="_blank">**Org settings**</a> \> **Bookings**.
+## Restrict collection of customer data
-When this setting is enabled, employees added as staff in booking calendars will find an Approve/Reject link in the email notification they receive.
+For compliance reasons, you may not want to collect some customer information. If you select a checkbox for any of these options, these fields won't be included on any forms shown to your clients or customers.
-## Block social sharing options
-Admins can control how booking pages are shared on social networks. This setting is available in the Microsoft 365 admin center under **Settings** \> <a href="https://go.microsoft.com/fwlink/p/?linkid=2053743" target="_blank">**Org settings**</a> \> **Bookings**.
+### Turn Bookings on or off for individual users
+
+You can disable Bookings for individual users.
+
+1. Go to the Microsoft 365 admin center, then select **Users** \> <a href="https://go.microsoft.com/fwlink/p/?linkid=834822" target="_blank">**Active users**</a>.
+
+1. Select the desired user, then select **Licenses and Apps**.
+
+1. Expand **Apps** and clear the checkbox for Microsoft Bookings.
## Allow only selected users to create Bookings calendars
-By using policy restrictions, you can restrict licensed users from being able to create Bookings calendars. You must first enable Bookings for your entire organization. All users in you organization will have Bookings licenses, but only those included in the policy can create Bookings calendars and have full control over who can access the calendars they create.
+By using policy restrictions, you can restrict licensed users from being able to create Bookings calendars. You must first enable Bookings for your entire organization. All users in your organization will have Bookings licenses, but only those included in the policy can create Bookings calendars and have full control over who can access the calendars they create.
Users who are included in this policy can create new Bookings calendars and can be added as staff in any capacity (including the administrator role) to existing Bookings calendars. Users who aren't included in this policy won't be able to create new Bookings calendars and will receive an error message if they try to do so.
For more information on OWA mailbox policies, check out the following topics:
- [Create an Outlook on the web mailbox policy in Exchange Online](/exchange/clients-and-mobile-in-exchange-online/outlook-on-the-web/create-outlook-web-app-mailbox-policy) -- [Apply or remove an Outlook on the web mailbox policy on a mailbox in Exchange Online](/exchange/clients-and-mobile-in-exchange-online/outlook-on-the-web/create-outlook-web-app-mailbox-policy)
+- [Apply or remove an Outlook on the web mailbox policy on a mailbox in Exchange Online](/exchange/clients-and-mobile-in-exchange-online/outlook-on-the-web/create-outlook-web-app-mailbox-policy)
business-premium M365bp Setup https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/business-premium/m365bp-setup.md
You have several options for setting up and configuring Microsoft 365 Business Premium. You can: - [Use a guided setup experience for basic setup and configuration](#guided-process-for-basic-setup)-- [Work through the setup process manually](#manual-setup-and-configuration) - [Work with a partner, such as a Microsoft Cloud Solution Provider (CSP)](#work-with-a-microsoft-partner)
+- [Work through the setup process manually](#manual-setup-and-configuration)
+ Use this article as a guide.
After you have finished the guided setup, there are additional steps to complete
> [!TIP] > See the following section for more details about setting up and configuring Microsoft 365 Business Premium. +
+## Work with a Microsoft partner
+
+Microsoft has a list of solution providers who are authorized to sell offerings, including Microsoft 365 Business Premium.
+
+To find a solution provider in your area, take the following steps:
+
+1. Go to the **Microsoft Solution Providers** page ([https://www.microsoft.com/solution-providers](https://www.microsoft.com/solution-providers)).
+
+2. In the search box, fill in your location and company size.
+
+3. In the **Search for products, services, skills, industries** box, put `Microsoft 365`, and then select **Go**.
+
+4. Review the list of results. Select a provider to learn more about their expertise and the services they provide.
+
+Also see [Find your partner or reseller](../admin/manage/find-your-partner-or-reseller.md).
+ ## Manual setup and configuration
-The following table describes how to set up and configure Microsoft 365 Business Premium, step by step.
+If you prefer to complete your setup and configuration process manually, use the following table as a guide:
-| Phase | Task | Guidance |
+| Phase | Task | Resources to learn more |
|||| | **Planning** | Plan your setup and configuration process | [Plan your setup of Microsoft 365 for business](../admin/setup/plan-your-setup.md) | | | Review the requirements | [Microsoft 365 Business Premium requirements](https://www.microsoft.com/microsoft-365/business/microsoft-365-business-premium?activetab=pivot:overviewtab) |
The following table describes how to set up and configure Microsoft 365 Business
| | Add users and assign licenses in Microsoft 365 | [Add users and assign licenses at the same time](../admin/add-users/add-users.md) | | | Assign admin roles to users who'll perform certain functions, such as: <br/>- Managing features<br/>- Managing user accounts<br/>- Managing devices<br/>- Viewing or managing your organization's security and compliance information | [Learn about admin roles](../admin/add-users/about-admin-roles.md) <br/><br/> [Assign admin roles](../admin/add-users/assign-admin-roles.md) | | | Install Microsoft 365 Apps (like Word, Excel, PowerPoint, and more) | [Install Office applications](../admin/setup/install-applications.md) |
-| **Securing your organization** | Review your security checklist so you'll know what needs to be configured | [Secure your Microsoft 365 for business plan](../admin/security-and-compliance/secure-your-business-data.md) |
+| **Securing your organization** | Refer to the top 10 days to secure your Microsoft 365 subscription | [Top 10 ways to secure Microsoft 365 for business plans](../admin/security-and-compliance/secure-your-business-data.md) |
| | Require everyone to use an additional verification method when they sign in to Microsoft 365 | [Set up multifactor authentication](../admin/security-and-compliance/set-up-multi-factor-authentication.md) | | **Protecting email and content** | Set up advanced anti-phishing protection to guard against malicious impersonation-based phishing attacks and other phishing attacks | [Protect your email from phishing attacks](../admin/security-and-compliance/secure-your-business-data.md) | | | Set up Safe Attachments to protect your organization from malicious email attachments | [Protect against malicious attachments and files with Safe Attachments](../admin/security-and-compliance/secure-your-business-data.md) |
-| | Set up Safe Links to protect your organization by providing time-of-click verification of web addresses (URLs) in email messages and Office documents | [Set up Safe Links](../admin/security-and-compliance/secure-your-business-data.md) |
-| | Set data loss prevention policies to prevent sensitive information from being shared | [Set up compliance features](../admin/security-and-compliance/set-up-compliance.md) |
+| | Set up Safe Links to protect against malicious websites (URLs) in email messages and Office documents | [Set up Safe Links](../admin/security-and-compliance/secure-your-business-data.md) |
+| | Set up data loss prevention policies to protect sensitive information from being shared | [Set up compliance features](../admin/security-and-compliance/set-up-compliance.md) |
| **Managing and protecting devices** | Secure your organization's Windows devices | [Secure Windows devices](m365bp-secure-windows-devices.md) <br/><br/>[Set or edit application protection settings for Windows 10 devices](../admin/devices/protection-settings-for-windows-10-devices.md) | | | Secure Microsoft 365 apps on mobile devices | [Set app protection settings for Android or iOS devices](../admin/devices/app-protection-settings-for-android-and-ios.md) | | | Set up Microsoft Defender for Business (when available for your tenant) | [Overview of Microsoft Defender for Business](../security/defender-business/mdb-overview.md)<br/><br/>[Use the wizard to set up Defender for Business](../security/defender-business/mdb-use-wizard.md) |
-| **File storage and migrating content** | Set up file storage and how sharing will work | [Set up file storage and sharing in Microsoft 365](../admin/setup/set-up-file-storage-and-sharing.md) |
+| **File storage and migrating content** | Set up file storage and how sharing will work for your organization | [Set up file storage and sharing in Microsoft 365](../admin/setup/set-up-file-storage-and-sharing.md) |
| | Import or migrate email and contacts | [Migrate email and contacts to Microsoft 365](../admin/setup/migrate-email-and-contacts-admin.md) |
-| | Move the company files that everyone needs to access to SharePoint. SharePoint typically replaces the use of a file share or network drive. | [Move files to SharePoint](../admin/setup/files-to-sharepoint.md) |
-| | Move your existing work files, such as personal work files or sensitive business files, to OneDrive. | [Move files to OneDrive](../admin/setup/files-to-onedrive.md) |
+| | Move the company files that everyone needs to access to SharePoint (SharePoint typically replaces the use of a file share or network drive) | [Move files to SharePoint](../admin/setup/files-to-sharepoint.md) |
+| | Move your existing work files, such as personal work files or sensitive business files, to OneDrive | [Move files to OneDrive](../admin/setup/files-to-onedrive.md) |
| **Training admins and your security team** | Learn how to use the admin center | [Overview of the Microsoft 365 admin center](../admin/admin-overview/admin-center-overview.md) | | | Use the free training video library for Microsoft 365 admins | [Admin training video library](../admin/admin-video-library.yml) |
-| | Learn how to use the Microsoft 365 Defender portal | [Get started using the Microsoft 365 Defender portal](../security/defender-business/mdb-get-started.md) |
+| | Learn how to use the Microsoft 365 Defender portal ([https://security.microsoft.com](https://security.microsoft.com)) | [Get started using the Microsoft 365 Defender portal](../security/defender-business/mdb-get-started.md) |
> [!TIP] > Need some help? Consider getting [Business Assist for Microsoft 365](https://support.microsoft.com/en-us/office/business-assist-for-microsoft-365-37deb8fe-61cc-4cf9-9ad1-1c8d93475070)
-## Work with a Microsoft partner
-
-Microsoft has a list of solution providers who are authorized to sell offerings, including Microsoft 365 Business Premium.
-
-To find a solution provider in your area, take the following steps:
-
-1. Go to the **Microsoft Solution Providers** page ([https://www.microsoft.com/solution-providers](https://www.microsoft.com/solution-providers)).
-
-2. In the search box, fill in your location and company size.
-
-3. In the **Search for products, services, skills, industries** box, put `Microsoft 365`, and then select **Go**.
-
-4. Review the list of results. Select a provider to learn more about their expertise and the services they provide.
-
-Also see [Find your partner or reseller](../admin/manage/find-your-partner-or-reseller.md).
- ## See also - [Overview of Microsoft Defender for Business](../security/defender-business/mdb-overview.md) (now included with Microsoft 365 Business Premium!)
commerce Manage Billing Profiles https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/commerce/billing-and-payments/manage-billing-profiles.md
Title: Understand billing profiles-- NOCSH audience: Admin
+f1.keywords:
- 'MACBillingBillsPaymentsBillingProfiles' ms.localizationpriority: medium
commerce Understand Your Invoice https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/commerce/billing-and-payments/understand-your-invoice.md
Title: Understand your bill or invoice-- CSH audience: Admin
+f1.keywords:
- 'MACBillingBillsPaymentsInvoices' ms.localizationpriority: medium
commerce Allotment Basics https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/commerce/licenses/allotment-basics.md
- Adm_O365 - commerce_licensing
+search.appverid: MET150
description: "Learn about the new allotments feature." Last updated 03/17/2021
commerce Manage Auto Claim Policies https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/commerce/licenses/manage-auto-claim-policies.md
Last updated 04/06/2021
An auto-claim policy lets users automatically claim a license for a product the first time that they sign into an app. As an admin, you typically assign licenses to users either manually, or by using group-based licensing. By using auto-claim policies, you manage the products for which users can automatically claim licenses. You can also control which products those licenses come from.
-After you create an auto-claim policy, you can do the following tasks to manage the policy:
--- [Manage auto-claim policies](#manage-auto-claim-policies)
- - [Before you begin](#before-you-begin)
- - [Turn the auto-claim policy feature on or off](#turn-the-auto-claim-policy-feature-on-or-off)
- - [Turn on auto-claim policies](#turn-on-auto-claim-policies)
- - [Turn off auto-claim policies](#turn-off-auto-claim-policies)
- - [Create an auto-claim policy](#create-an-auto-claim-policy)
- - [Turn a policy on or off](#turn-a-policy-on-or-off)
- - [Edit the policy friendly name](#edit-the-policy-friendly-name)
- - [Add or remove backup products](#add-or-remove-backup-products)
- - [Add a backup product](#add-a-backup-product)
- - [Remove a backup product](#remove-a-backup-product)
- - [Change the assigning apps and services](#change-the-assigning-apps-and-services)
- - [Change the assigning order for backup products](#change-the-assigning-order-for-backup-products)
- - [View an auto-claim policy report](#view-an-auto-claim-policy-report)
- - [Next steps](#next-steps)
- - [Related content](#related-content)
- > [!IMPORTANT] > Auto-claim policies are currently only available for Microsoft Teams. More products will be available to use in the future.
commerce Use A Promo Code https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/commerce/use-a-promo-code.md
- commerce_purchase - AdminSurgePortfolio - okr_SMB
+search.appverid: MET150
description: "Learn how to apply a promotional code to your Microsoft 365 subscription to reduce price, and how to troubleshoot promo code in case of an error." Last updated 03/17/2021
compliance Create A Report On Holds In Ediscovery Cases https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/compliance/create-a-report-on-holds-in-ediscovery-cases.md
Title: "Create a report on holds in eDiscovery cases"
+ Title: "Use a script to create an eDiscovery holds report"
f1.keywords: - NOCSH
description: Learn how to generate a report that contains information about all the holds that are associated with eDiscovery cases.
-# Create a report on holds in eDiscovery cases
+# Use a script to create a report on holds in eDiscovery cases
-The script in this article lets eDiscovery administrators and eDiscovery managers generate a report that contains information about all holds that are associated with eDiscovery cases in the the compliance center in Office 365 or Microsoft 365. The report contains information such as the name of the case a hold is associated with, the content locations that are placed on hold, and whether the hold is query-based. If there are cases that don't have any holds, the script will create an additional report with a list of cases without holds.
+The script in this article lets eDiscovery administrators and eDiscovery managers generate a report that contains information about all holds that are associated with Core and Advanced eDiscovery cases in the Microsoft 365 compliance center. The report contains information such as the name of the case a hold is associated with, the content locations that are placed on hold, and whether the hold is query-based. If there are cases that don't have any holds, the script will create an additional report with a list of cases without holds.
See the [More information](#more-information) section for a detailed description of the information included in the report.
After you've connected to Security & Compliance Center PowerShell, the next step
" " #prompt users to specify a path to store the output files $time=get-date
- $Path = Read-Host 'Enter a file path to save the report to a .csv file'
+ $Path = Read-Host 'Enter a folder path to save the report to a .csv file (filename is created automatically)'
$outputpath=$Path+'\'+'CaseHoldsReport'+' '+$time.day+'-'+$time.month+'-'+$time.year+' '+$time.hour+'.'+$time.minute+'.csv' $noholdsfilepath=$Path+'\'+'CaseswithNoHolds'+' '+$time.day+'-'+$time.month+'-'+$time.year+' '+$time.hour+'.'+$time.minute+'.csv' #add case details to the csv file function add-tocasereport{ Param([string]$casename,
+ [String]$casetype,
[String]$casestatus, [datetime]$casecreatedtime, [string]$casemembers,
After you've connected to Security & Compliance Center PowerShell, the next step
) $addRow = New-Object PSObject Add-Member -InputObject $addRow -MemberType NoteProperty -Name "Case name" -Value $casename
+ Add-Member -InputObject $addRow -MemberType NoteProperty -Name "Case type" -Value $casetype
Add-Member -InputObject $addRow -MemberType NoteProperty -Name "Case status" -Value $casestatus Add-Member -InputObject $addRow -MemberType NoteProperty -Name "Case members" -Value $casemembers Add-Member -InputObject $addRow -MemberType NoteProperty -Name "Case created time" -Value $casecreatedtime
After you've connected to Security & Compliance Center PowerShell, the next step
Add-Member -InputObject $addRow -MemberType NoteProperty -Name "Hold query" -Value $ContentMatchQuery Add-Member -InputObject $addRow -MemberType NoteProperty -Name "Hold created time (UTC)" -Value $holdcreatedtime Add-Member -InputObject $addRow -MemberType NoteProperty -Name "Hold changed time (UTC)" -Value $holdchangedtime
- $allholdreport = $addRow | Select-Object "Case name","Case status","Hold name","Hold enabled","Case members", "Case created time","Case closed time","Case closed by","Exchange locations","SharePoint locations","Hold query","Hold created by","Hold created time (UTC)","Hold last changed by","Hold changed time (UTC)"
+ $allholdreport = $addRow | Select-Object "Case name","Case type","Case status","Hold name","Hold enabled","Case members", "Case created time","Case closed time","Case closed by","Exchange locations","SharePoint locations","Hold query","Hold created by","Hold created time (UTC)","Hold last changed by","Hold changed time (UTC)"
$allholdreport | export-csv -path $outputPath -notypeinfo -append -Encoding ascii } #get information on the cases and pass values to the case report function " "
- write-host "Gathering a list of cases and holds..."
+ write-host "Gathering a list of Core eDiscovery cases and holds..."
" " $edc =Get-ComplianceCase -ErrorAction SilentlyContinue foreach($cc in $edc)
After you've connected to Security & Compliance Center PowerShell, the next step
if($cc.status -eq 'Closed') { $cmembers = ((Get-ComplianceCaseMember -Case $cc.name).windowsLiveID)-join ';'
- add-tocasereport -casename $cc.name -casestatus $cc.Status -caseclosedby $cc.closedby -caseClosedDateTime $cc.ClosedDateTime -casemembers $cmembers
+ add-tocasereport -casename $cc.name -casetype $cc.casetype -casestatus $cc.Status -caseclosedby $cc.closedby -caseClosedDateTime $cc.ClosedDateTime -casemembers $cmembers
} else{ $cmembers = ((Get-ComplianceCaseMember -Case $cc.name).windowsLiveID)-join ';'
After you've connected to Security & Compliance Center PowerShell, the next step
foreach ($policy in $policies) { $rule=Get-CaseHoldRule -Policy $policy.name
- add-tocasereport -casename $cc.name -casemembers $cmembers -casestatus $cc.Status -casecreatedtime $cc.CreatedDateTime -holdname $policy.name -holdenabled $policy.enabled -holdcreatedby $policy.CreatedBy -holdlastmodifiedby $policy.LastModifiedBy -ExchangeLocation (($policy.exchangelocation.name)-join ';') -SharePointLocation (($policy.sharePointlocation.name)-join ';') -ContentMatchQuery $rule.ContentMatchQuery -holdcreatedtime $policy.WhenCreatedUTC -holdchangedtime $policy.WhenChangedUTC
+ add-tocasereport -casename $cc.name -casetype $cc.casetype -casemembers $cmembers -casestatus $cc.Status -casecreatedtime $cc.CreatedDateTime -holdname $policy.name -holdenabled $policy.enabled -holdcreatedby $policy.CreatedBy -holdlastmodifiedby $policy.LastModifiedBy -ExchangeLocation (($policy.exchangelocation.name)-join ';') -SharePointLocation (($policy.sharePointlocation.name)-join ';') -ContentMatchQuery $rule.ContentMatchQuery -holdcreatedtime $policy.WhenCreatedUTC -holdchangedtime $policy.WhenChangedUTC
+ }
+ }
+ else{
+ write-host "No hold policies found in case:" $cc.name -foregroundColor 'Yellow'
+ " "
+ [string]$cc.name | out-file -filepath $noholdsfilepath -append
+ }
+ }
+ }
+ #get information on the cases and pass values to the case report function
+ " "
+ write-host "Gathering a list of Advanced eDiscovery cases and holds..."
+ " "
+ $edc =Get-ComplianceCase -CaseType Advanced -ErrorAction SilentlyContinue
+ foreach($cc in $edc)
+ {
+ write-host "Working on case :" $cc.name
+ if($cc.status -eq 'Closed')
+ {
+ $cmembers = ((Get-ComplianceCaseMember -Case $cc.name).windowsLiveID)-join ';'
+ add-tocasereport -casename $cc.name -casestatus -casetype $cc.casetype $cc.Status -caseclosedby $cc.closedby -caseClosedDateTime $cc.ClosedDateTime -casemembers $cmembers
+ }
+ else{
+ $cmembers = ((Get-ComplianceCaseMember -Case $cc.name).windowsLiveID)-join ';'
+ $policies = Get-CaseHoldPolicy -Case $cc.Name | %{ Get-CaseHoldPolicy $_.Name -Case $_.CaseId -DistributionDetail}
+ if ($policies -ne $NULL)
+ {
+ foreach ($policy in $policies)
+ {
+ $rule=Get-CaseHoldRule -Policy $policy.name
+ add-tocasereport -casename $cc.name -casetype $cc.casetype -casemembers $cmembers -casestatus $cc.Status -casecreatedtime $cc.CreatedDateTime -holdname $policy.name -holdenabled $policy.enabled -holdcreatedby $policy.CreatedBy -holdlastmodifiedby $policy.LastModifiedBy -ExchangeLocation (($policy.exchangelocation.name)-join ';') -SharePointLocation (($policy.sharePointlocation.name)-join ';') -ContentMatchQuery $rule.ContentMatchQuery -holdcreatedtime $policy.WhenCreatedUTC -holdchangedtime $policy.WhenChangedUTC
} } else{
After you've connected to Security & Compliance Center PowerShell, the next step
The script starts to collect information about all the eDiscovery cases in your organization. Don't access the report file while the script is running. After the script is complete, a confirmation message is displayed in the Windows PowerShell session. After this message is displayed, you can access the report in the folder that you specified in Step 4. The file name for the report is `CaseHoldsReport<DateTimeStamp>.csv`.
- Addtionally, the script also creates a report with a list of cases that don't have any holds. The file name for this report is `CaseswithNoHolds<DateTimeStamp>.csv`.
+ Additionally, the script also creates a report with a list of cases that don't have any holds. The file name for this report is `CaseswithNoHolds<DateTimeStamp>.csv`.
Here's an example of running the CaseHoldsReport.ps1 script.
The case holds report that's created when you run the script in this article con
- The name of the hold and the name of the eDiscovery case that the hold is associated with.
+- Whether the hold is associated with a Core or Advanced eDiscovery case.
+ - Whether or not the eDiscovery case is active or closed. - Whether or not the hold is enabled or disabled.
The case holds report that's created when you run the script in this article con
- The time and date the hold was created and the person who created it. -- The time and date the hold was last changed and the person who changed it.
+- The time and date the hold was last changed and the person who changed it.
compliance Endpoint Dlp Using https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/compliance/endpoint-dlp-using.md
There are three procedures.
- [Create, test, and tune a DLP policy](create-test-tune-dlp-policy.md) - [Get started with Activity explorer](data-classification-activity-explorer.md) - [Microsoft Defender for Endpoint](/windows/security/threat-protection/)-- [Onboarding tools and methods for Windows 10 machines](/microsoft-365/compliance/dlp-configure-endpoints)
+- [Onboard Windows 10 and Windows 11 devices into Microsoft 365 overview](/microsoft-365/compliance/device-onboarding-overview)
- [Microsoft 365 subscription](https://www.microsoft.com/microsoft-365/compare-microsoft-365-enterprise-plans?rtc=1) - [Azure Active Directory (AAD) joined](/azure/active-directory/devices/concept-azure-ad-join) - [Download the new Microsoft Edge based on Chromium](https://support.microsoft.com/help/4501095/download-the-new-microsoft-edge-based-on-chromium)
compliance Import Hr Data US Government https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/compliance/import-hr-data-US-government.md
You can set up a data connector in the Microsoft 365 compliance center to import
- The user who creates the HR connector in Step 3 must be assigned the Data Connector Admin role. This role is required to add connectors on the **Data connectors** page in the Microsoft 365 compliance center. This role is added by default to multiple role groups. For a list of these role groups, see the "Roles in the security and compliance centers" section in [Permissions in the Security & Compliance Center](../security/office-365-security/permissions-in-the-security-and-compliance-center.md#roles-in-the-security--compliance-center). Alternatively, an admin in your organization can create a custom role group, assign the Data Connector Admin role, and then add the appropriate users as members. For instructions, see the "Create a custom role group" section in [Permissions in the Microsoft 365 compliance center](microsoft-365-compliance-center-permissions.md#create-a-custom-role-group).
+ > [!NOTE]
+ > The Data Connector Admin role is currently not supported in US Government GCC High and DoD environments. Therefore, the user who creates the HR connector in GCC High and DoD environments must be assigned the Mailbox Import Export role in Exchange Online. By default, this role isn't assigned to any role group in Exchange Online. You can add the Mailbox Import Export role to the Organization Management role group in Exchange Online. Or you can create a new role group, assign the Mailbox Import Export role, and then add the appropriate users as members. For more information, see the [Create role groups](/Exchange/permissions-exo/role-groups#create-role-groups) or [Modify role groups](/Exchange/permissions-exo/role-groups#modify-role-groups) sections in the article "Manage role groups in Exchange Online".
+ - You'll need to determine how to retrieve or export the data from your organization's HR system (on a regular basis) and add it to the CSV file that's described in Step 2. The script that you run in Step 4 will upload the HR data in the CSV file to the Microsoft cloud. - The sample script that you run in Step 4 will upload HR data to the Microsoft cloud so that it can be used by other Microsoft tools, such as the insider risk management solution. This sample script isn't supported under any Microsoft standard support program or service. The sample script is provided AS IS without warranty of any kind. Microsoft further disclaims all implied warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample script and documentation remains with you. In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
compliance Import Physical Badging Data https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/compliance/import-physical-badging-data.md
Setting up a physical badging connector consists of the following tasks:
- The user who creates the physical badging connector in Step 3 must be assigned the Data Connector Admin role. This role is required to add connectors on the **Data connectors** page in the Microsoft 365 compliance center. This role is added by default to multiple role groups. For a list of these role groups, see the "Roles in the security and compliance centers" section in [Permissions in the Security & Compliance Center](../security/office-365-security/permissions-in-the-security-and-compliance-center.md#roles-in-the-security--compliance-center). Alternatively, an admin in your organization can create a custom role group, assign the Data Connector Admin role, and then add the appropriate users as members. For instructions, see the "Create a custom role group" section in [Permissions in the Microsoft 365 compliance center](microsoft-365-compliance-center-permissions.md#create-a-custom-role-group).
+ > [!NOTE]
+ > The Data Connector Admin role is currently not supported in US Government GCC High and DoD environments. Therefore, the user who creates the HR connector in GCC High and DoD environments must be assigned the Mailbox Import Export role in Exchange Online. By default, this role isn't assigned to any role group in Exchange Online. You can add the Mailbox Import Export role to the Organization Management role group in Exchange Online. Or you can create a new role group, assign the Mailbox Import Export role, and then add the appropriate users as members. For more information, see the [Create role groups](/Exchange/permissions-exo/role-groups#create-role-groups) or [Modify role groups](/Exchange/permissions-exo/role-groups#modify-role-groups) sections in the article "Manage role groups in Exchange Online".
+ - You need to determine how to retrieve or export the data from your organization's physical badging system (on a daily basis) and create a JSON file that's described in Step 2. The script that you run in Step 4 will push the data in the JSON file to the API endpoint. - The sample script that you run in Step 4 pushes the physical badging data from JSON file to the connector API so that it can be used by the insider risk management solution. This sample script isn't supported under any Microsoft standard support program or service. The sample script is provided AS IS without warranty of any kind. Microsoft further disclaims all implied warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample script and documentation remains with you. In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.
enterprise Microsoft 365 Networking China https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/enterprise/microsoft-365-networking-china.md
Title: "Microsoft 365 global tenant performance optimization for China users" - Previously updated : 11/17/2020+ Last updated : 3/3/2022 audience: Admin
description: "This article provides guidance for optimizing network performance
> [!IMPORTANT] > This guidance is specific to usage scenarios in which **enterprise Microsoft 365 users located in China** connect to a **global Microsoft 365 tenant**. This guidance does **not** apply to tenants in Office 365 operated by 21Vianet.
+>[!NOTE]
+>This article is part of a set of articles that address Microsoft 365 optimization for remote users.
+
+>- For an overview of using VPN split tunneling to optimize Microsoft 365 connectivity for remote users, see [Overview: VPN split tunneling for Microsoft 365](microsoft-365-vpn-split-tunnel.md).
+>- For detailed guidance on implementing VPN split tunneling, see [Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md).
+>- For a detailed list of VPN split tunneling scenarios, see [Common VPN split tunneling scenarios for Microsoft 365](microsoft-365-vpn-common-scenarios.md).
+>- For guidance on securing Teams media traffic in VPN split tunneling environments, see [Securing Teams media traffic for VPN split tunneling](microsoft-365-vpn-securing-teams.md).
+>- For information about how to configure Stream and live events in VPN environments, see [Special considerations for Stream and live events in VPN environments](microsoft-365-vpn-stream-and-live-events.md).
+ For enterprises with global Microsoft 365 tenants and a corporate presence in China, Microsoft 365 client performance for China-based users can be complicated by factors unique to China Telco's Internet architecture. China ISPs have regulated offshore connections to the global public Internet that go through perimeter devices that are prone to high-levels of cross-border network congestion. This congestion creates packet loss and latency for all Internet traffic going into and out of China.
For configuring a network device or a VPN/SDWAN setup, you need to exclude only
Microsoft is continually working to improve the Microsoft 365 user experience and the performance of clients over the widest possible range of network architectures and characteristics. Visit the [Office 365 Networking Tech Community](https://techcommunity.microsoft.com/t5/office-365-networking/bd-p/Office365Networking) to start or join a conversation, find resources, and submit feature requests and suggestions
-## Related topics
+## Related articles
+
+[Overview: VPN split tunneling for Microsoft 365](microsoft-365-vpn-split-tunnel.md)
+
+[Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md)
+
+[Common VPN split tunneling scenarios for Microsoft 365](microsoft-365-vpn-common-scenarios.md)
+
+[Securing Teams media traffic for VPN split tunneling](microsoft-365-vpn-securing-teams.md)
+
+[Special considerations for Stream and live events in VPN environments](microsoft-365-vpn-stream-and-live-events.md)
+
+[Microsoft 365 Network Connectivity Principles](microsoft-365-network-connectivity-principles.md)
+
+[Assessing Microsoft 365 network connectivity](assessing-network-connectivity.md)
-[Network planning and performance tuning for Microsoft 365](./network-planning-and-performance.md)
+[Microsoft 365 network and performance tuning](network-planning-and-performance.md)
-[Microsoft 365 network connectivity principles](microsoft-365-network-connectivity-principles.md)
+[Alternative ways for security professionals and IT to achieve modern security controls in today's unique remote work scenarios (Microsoft Security Team blog)](https://www.microsoft.com/security/blog/2020/03/26/alternative-security-professionals-it-achieve-modern-security-controls-todays-unique-remote-work-scenarios/)
-[Managing Office 365 endpoints](managing-office-365-endpoints.md)
+[Enhancing VPN performance at Microsoft: using Windows 10 VPN profiles to allow auto-on connections](https://www.microsoft.com/itshowcase/enhancing-remote-access-in-windows-10-with-an-automatic-vpn-profile)
-[Office 365 URLs and IP address ranges](urls-and-ip-address-ranges.md)
+[Running on VPN: How Microsoft is keeping its remote workforce connected](https://www.microsoft.com/itshowcase/blog/running-on-vpn-how-microsoft-is-keeping-its-remote-workforce-connected/?elevate-lv)
[Microsoft global network](/azure/networking/microsoft-global-network)
enterprise Microsoft 365 Vpn Common Scenarios https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/enterprise/microsoft-365-vpn-common-scenarios.md
+
+ Title: "Common VPN split tunneling scenarios for Microsoft 365"
+++ Last updated : 3/3/2022
+audience: Admin
++
+ms.localizationpriority: medium
+search.appverid:
+- MET150
+
+- Ent_O365
+- Strat_O365_Enterprise
+- remotework
+f1.keywords:
+- NOCSH
+description: "Common VPN split tunneling scenarios for Microsoft 365"
++
+# Common VPN split tunneling scenarios for Microsoft 365
+
+>[!NOTE]
+>This article is part of a set of articles that address Microsoft 365 optimization for remote users.
+
+>- For an overview of using VPN split tunneling to optimize Microsoft 365 connectivity for remote users, see [Overview: VPN split tunneling for Microsoft 365](microsoft-365-vpn-split-tunnel.md).
+>- For detailed guidance on implementing VPN split tunneling, see [Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md).
+>- For guidance on securing Teams media traffic in VPN split tunneling environments, see [Securing Teams media traffic for VPN split tunneling](microsoft-365-vpn-securing-teams.md).
+>- For information about how to configure Stream and live events in VPN environments, see [Special considerations for Stream and live events in VPN environments](microsoft-365-vpn-stream-and-live-events.md).
+>- For information about optimizing Microsoft 365 worldwide tenant performance for users in China, see [Microsoft 365 performance optimization for China users](microsoft-365-networking-china.md).
+
+In the list below, you'll see the most common VPN scenarios seen in enterprise environments. Most customers traditionally operate model 1 (VPN Forced Tunnel). This section will help you to quickly and securely transition to **model 2**, which is achievable with relatively little effort, and has enormous benefits to network performance and user experience.
+
+| Model | Description |
+| | |
+| [1. VPN Forced Tunnel](#1-vpn-forced-tunnel) | 100% of traffic goes into VPN tunnel, including on-premise, Internet, and all O365/M365 |
+| [2. VPN Forced Tunnel with few exceptions](#2-vpn-forced-tunnel-with-a-small-number-of-trusted-exceptions) | VPN tunnel is used by default (default route points to VPN), with few, most important exempt scenarios that are allowed to go direct |
+| [3. VPN Forced Tunnel with broad exceptions](#3-vpn-forced-tunnel-with-broad-exceptions) | VPN tunnel is used by default (default route points to VPN), with broad exceptions that are allowed to go direct (such as all Microsoft 365, All Salesforce, All Zoom) |
+| [4. VPN Selective Tunnel](#4-vpn-selective-tunnel) | VPN tunnel is used only for corpnet-based services. Default route (Internet and all Internet-based services) goes direct. |
+| [5. No VPN](#5-no-vpn) | A variation of #2. Instead of legacy VPN, all corpnet services are published through modern security approaches (like Zscaler ZPA, Azure Active Directory (Azure AD) Proxy/MCAS, etc.) |
+
+## 1. VPN Forced Tunnel
+
+The most common starting scenario for most enterprise customers. A forced VPN is used, which means 100% of traffic is directed into the corporate network whether the endpoint resides within the corporate network or not. Any external (Internet) bound traffic such as Microsoft 365 or Internet browsing is then hair-pinned back out of the on-premises security equipment such as proxies. In the current climate with nearly 100% of users working remotely, this model therefore puts high load on the VPN infrastructure and is likely to significantly hinder performance of all corporate traffic and thus the enterprise to operate efficiently at a time of crisis.
+
+![VPN Forced Tunnel model 1.](../media/vpn-split-tunneling/vpn-model-1.png)
+
+## 2. VPN Forced Tunnel with a small number of trusted exceptions
+
+Significantly more efficient for an enterprise to operate under. This model allows a few controlled and defined endpoints that are high load and latency sensitive to bypass the VPN tunnel and go direct to the Microsoft 365 service. This significantly improves the performance for the offloaded services, and also decreases the load on the VPN infrastructure, thus allowing elements that still require it to operate with lower contention for resources. It's this model that this article concentrates on assisting with the transition to as it allows for simple, defined actions to be taken quickly with numerous positive outcomes.
+
+![Split Tunnel VPN model 2.](../media/vpn-split-tunneling/vpn-model-2.png)
+
+## 3. VPN Forced Tunnel with broad exceptions
+
+Broadens the scope of model 2. Rather than just sending a small group of defined endpoints direct, it instead sends all traffic directly to trusted services such Microsoft 365 and SalesForce. This further reduces the load on the corporate VPN infrastructure and improves the performance of the services defined. As this model is likely to take more time to assess the feasibility of and implement, It's likely a step that can be taken iteratively at a later date once model two is successfully in place.
+
+![Split Tunnel VPN model 3.](../media/vpn-split-tunneling/vpn-model-3.png)
+
+## 4. VPN selective Tunnel
+
+Reverses the third model in that only traffic identified as having a corporate IP address is sent down the VPN tunnel and thus the Internet path is the default route for everything else. This model requires an organization to be well on the path to [Zero Trust](https://www.microsoft.com/security/zero-trust?rtc=1) in able to safely implement this model. It should be noted that this model or some variation thereof will likely become the necessary default over time as more services move away from the corporate network and into the cloud.
+
+Microsoft uses this model internally. You can find more information on Microsoft's implementation of VPN split tunneling at [Running on VPN: How Microsoft is keeping its remote workforce connected](https://www.microsoft.com/itshowcase/blog/running-on-vpn-how-microsoft-is-keeping-its-remote-workforce-connected/?elevate-lv).
+
+![Split Tunnel VPN model 4.](../media/vpn-split-tunneling/vpn-model-4.png)
+
+## 5. No VPN
+
+A more advanced version of model number 2, whereby any internal services are published through a modern security approach or SDWAN solution such as Azure AD Proxy, Defender for Cloud Apps, Zscaler ZPA, etc.
+
+![Split Tunnel VPN model 5.](../media/vpn-split-tunneling/vpn-model-5.png)
+
+## Related articles
+
+[Overview: VPN split tunneling for Microsoft 365](microsoft-365-vpn-split-tunnel.md)
+
+[Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md)
+
+[Securing Teams media traffic for VPN split tunneling](microsoft-365-vpn-securing-teams.md)
+
+[Special considerations for Stream and live events in VPN environments](microsoft-365-vpn-stream-and-live-events.md)
+
+[Microsoft 365 performance optimization for China users](microsoft-365-networking-china.md)
+
+[Microsoft 365 Network Connectivity Principles](microsoft-365-network-connectivity-principles.md)
+
+[Assessing Microsoft 365 network connectivity](assessing-network-connectivity.md)
+
+[Microsoft 365 network and performance tuning](network-planning-and-performance.md)
+
+[Alternative ways for security professionals and IT to achieve modern security controls in today's unique remote work scenarios (Microsoft Security Team blog)](https://www.microsoft.com/security/blog/2020/03/26/alternative-security-professionals-it-achieve-modern-security-controls-todays-unique-remote-work-scenarios/)
+
+[Enhancing VPN performance at Microsoft: using Windows 10 VPN profiles to allow auto-on connections](https://www.microsoft.com/itshowcase/enhancing-remote-access-in-windows-10-with-an-automatic-vpn-profile)
+
+[Running on VPN: How Microsoft is keeping its remote workforce connected](https://www.microsoft.com/itshowcase/blog/running-on-vpn-how-microsoft-is-keeping-its-remote-workforce-connected/?elevate-lv)
+
+[Microsoft global network](/azure/networking/microsoft-global-network)
enterprise Microsoft 365 Vpn Implement Split Tunnel https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/enterprise/microsoft-365-vpn-implement-split-tunnel.md
Title: "Implementing VPN split tunneling for Microsoft 365"
Previously updated : 1/28/2022 Last updated : 3/3/2022 audience: Admin
-ms.article: conceptual
+ ms.localizationpriority: medium search.appverid:
description: "How to implement VPN split tunneling for Microsoft 365"
>This article is part of a set of articles that address Microsoft 365 optimization for remote users. >- For an overview of using VPN split tunneling to optimize Microsoft 365 connectivity for remote users, see [Overview: VPN split tunneling for Microsoft 365](microsoft-365-vpn-split-tunnel.md).
+>- For a detailed list of VPN split tunneling scenarios, see [Common VPN split tunneling scenarios for Microsoft 365](microsoft-365-vpn-common-scenarios.md).
+>- For guidance on securing Teams media traffic in VPN split tunneling environments, see [Securing Teams media traffic for VPN split tunneling](microsoft-365-vpn-securing-teams.md).
+>- For information about how to configure Stream and live events in VPN environments, see [Special considerations for Stream and live events in VPN environments](microsoft-365-vpn-stream-and-live-events.md).
>- For information about optimizing Microsoft 365 worldwide tenant performance for users in China, see [Microsoft 365 performance optimization for China users](microsoft-365-networking-china.md).
-For many years, enterprises have been using VPNs to support remote experiences for their users. While core workloads remained on-premises, a VPN from the remote client routed through a datacenter on the corporate network was the primary method for remote users to access corporate resources. To safeguard these connections, enterprises build layers of network security solutions along the VPN paths. This security was built to protect internal infrastructure and to safeguard mobile browsing of external web sites by rerouting traffic into the VPN and then out through the on-premises Internet perimeter. VPNs, network perimeters, and associated security infrastructure were often purpose-built and scaled for a defined volume of traffic, typically with most connectivity being initiated from within the corporate network, and most of it staying within the internal network boundaries.
-
-For quite some time, VPN models where all connections from the remote user device are routed back into the on-premises network (known as _forced tunneling_) were largely sustainable as long as the concurrent scale of remote users was modest and the traffic volumes traversing VPN were low. Some customers continued to use VPN force tunneling as the status quo even after their applications moved from inside the corporate perimeter to public SaaS clouds.
-
-The use of forced tunneled VPNs for connecting to distributed and performance-sensitive cloud applications is suboptimal, but the negative effects have been accepted by some enterprises so as to maintain the security status quo. An example diagram of this scenario can be seen below:
-
-![Split Tunnel VPN configuration.](../media/vpn-split-tunneling/enterprise-network-traditional.png)
-
-This problem has been growing for many years, with many customers reporting a significant shift of network traffic patterns. Traffic that used to stay on premises now connects to external cloud endpoints. Many Microsoft customers report that previously, around 80% of their network traffic was to some internal source (represented by the dotted line in the above diagram). In 2020 that number is now around 20% or lower as they have shifted major workloads to the cloud, these trends aren't uncommon with other enterprises. Over time, as the cloud journey progresses, the above model becomes increasingly cumbersome and unsustainable, preventing an organization from being agile as they move into a cloud-first world.
-
-The worldwide COVID-19 crisis has escalated this problem to require immediate remediation. The need to ensure employee safety has generated unprecedented demands on enterprise IT to support work-from-home productivity at a massive scale. Microsoft 365 is well positioned to help customers fulfill that demand, but high concurrency of users working from home generates a large volume of Microsoft 365 traffic which, if routed through forced tunnel VPN and on-premises network perimeters, causes rapid saturation and runs VPN infrastructure out of capacity. In this new reality, using VPN to access Microsoft 365 is no longer just a performance impediment, but a hard wall that not only impacts Microsoft 365 but critical business operations that still have to rely on the VPN to operate.
-
-Microsoft has been working closely with customers and the wider industry for many years to provide effective, modern solutions to these problems from within our own services, and to align with industry best practice. [Connectivity principles](./microsoft-365-network-connectivity-principles.md) for the Microsoft 365 service have been designed to work efficiently for remote users while still allowing an organization to maintain security and control over their connectivity. These solutions can also be implemented quickly with limited work yet achieve a significant positive effect on the problems outlined above.
- Microsoft's recommended strategy for optimizing remote worker's connectivity is focused on rapidly mitigating problems and providing high performance with a few simple steps. These steps adjust the legacy VPN approach for a few defined endpoints that bypass bottlenecked VPN servers. An equivalent or even superior security model can be applied at different layers to remove the need to secure all traffic at the egress of the corporate network. In most cases, this can be effectively achieved within hours and is then scalable to other workloads as requirements demand and time allows.
-## Common VPN scenarios
-
-In the list below, you'll see the most common VPN scenarios seen in enterprise environments. Most customers traditionally operate model 1 (VPN Forced Tunnel). This section will help you to quickly and securely transition to **model 2**, which is achievable with relatively little effort, and has enormous benefits to network performance and user experience.
-
-| Model | Description |
-| | |
-| [1. VPN Forced Tunnel](#1-vpn-forced-tunnel) | 100% of traffic goes into VPN tunnel, including on-premise, Internet, and all O365/M365 |
-| [2. VPN Forced Tunnel with few exceptions](#2-vpn-forced-tunnel-with-a-small-number-of-trusted-exceptions) | VPN tunnel is used by default (default route points to VPN), with few, most important exempt scenarios that are allowed to go direct |
-| [3. VPN Forced Tunnel with broad exceptions](#3-vpn-forced-tunnel-with-broad-exceptions) | VPN tunnel is used by default (default route points to VPN), with broad exceptions that are allowed to go direct (such as all Microsoft 365, All Salesforce, All Zoom) |
-| [4. VPN Selective Tunnel](#4-vpn-selective-tunnel) | VPN tunnel is used only for corpnet-based services. Default route (Internet and all Internet-based services) goes direct. |
-| [5. No VPN](#5-no-vpn) | A variation of #2. Instead of legacy VPN, all corpnet services are published through modern security approaches (like Zscaler ZPA, Azure Active Directory (Azure AD) Proxy/MCAS, etc.) |
-
-### 1. VPN Forced Tunnel
-
-The most common starting scenario for most enterprise customers. A forced VPN is used, which means 100% of traffic is directed into the corporate network whether the endpoint resides within the corporate network or not. Any external (Internet) bound traffic such as Microsoft 365 or Internet browsing is then hair-pinned back out of the on-premises security equipment such as proxies. In the current climate with nearly 100% of users working remotely, this model therefore puts high load on the VPN infrastructure and is likely to significantly hinder performance of all corporate traffic and thus the enterprise to operate efficiently at a time of crisis.
-
-![VPN Forced Tunnel model 1.](../media/vpn-split-tunneling/vpn-model-1.png)
-
-### 2. VPN Forced Tunnel with a small number of trusted exceptions
-
-Significantly more efficient for an enterprise to operate under. This model allows a few controlled and defined endpoints that are high load and latency sensitive to bypass the VPN tunnel and go direct to the Microsoft 365 service. This significantly improves the performance for the offloaded services, and also decreases the load on the VPN infrastructure, thus allowing elements that still require it to operate with lower contention for resources. It's this model that this article concentrates on assisting with the transition to as it allows for simple, defined actions to be taken quickly with numerous positive outcomes.
-
-![Split Tunnel VPN model 2.](../media/vpn-split-tunneling/vpn-model-2.png)
-
-### 3. VPN Forced Tunnel with broad exceptions
-
-Broadens the scope of model 2. Rather than just sending a small group of defined endpoints direct, it instead sends all traffic directly to trusted services such Microsoft 365 and SalesForce. This further reduces the load on the corporate VPN infrastructure and improves the performance of the services defined. As this model is likely to take more time to assess the feasibility of and implement, it's likely a step that can be taken iteratively at a later date once model two is successfully in place.
-
-![Split Tunnel VPN model 3.](../media/vpn-split-tunneling/vpn-model-3.png)
-
-### 4. VPN selective Tunnel
-
-Reverses the third model in that only traffic identified as having a corporate IP address is sent down the VPN tunnel and thus the Internet path is the default route for everything else. This model requires an organization to be well on the path to [Zero Trust](https://www.microsoft.com/security/zero-trust?rtc=1) in able to safely implement this model. It should be noted that this model or some variation thereof will likely become the necessary default over time as more services move away from the corporate network and into the cloud.
-
-Microsoft uses this model internally. You can find more information on Microsoft's implementation of VPN split tunneling at [Running on VPN: How Microsoft is keeping its remote workforce connected](https://www.microsoft.com/itshowcase/blog/running-on-vpn-how-microsoft-is-keeping-its-remote-workforce-connected/?elevate-lv).
-
-![Split Tunnel VPN model 4.](../media/vpn-split-tunneling/vpn-model-4.png)
-
-### 5. No VPN
-
-A more advanced version of model number 2, whereby any internal services are published through a modern security approach or SDWAN solution such as Azure AD Proxy, Defender for Cloud Apps, Zscaler ZPA, etc.
-
-![Split Tunnel VPN model 5.](../media/vpn-split-tunneling/vpn-model-5.png)
- ## Implement VPN split tunneling
-In this section, you'll find the simple steps required to migrate your VPN client architecture from a _VPN forced tunnel_ to a _VPN forced tunnel with a few trusted exceptions_, [VPN split tunnel model #2](#2-vpn-forced-tunnel-with-a-small-number-of-trusted-exceptions) in [Common VPN scenarios](#common-vpn-scenarios).
+In this article, you'll find the simple steps required to migrate your VPN client architecture from a _VPN forced tunnel_ to a _VPN forced tunnel with a few trusted exceptions_, [VPN split tunnel model #2](microsoft-365-vpn-common-scenarios.md#2-vpn-forced-tunnel-with-a-small-number-of-trusted-exceptions) in [Common VPN split tunneling scenarios for Microsoft 365](microsoft-365-vpn-common-scenarios.md).
The diagram below illustrates how the recommended VPN split tunnel solution works:
In the above examples, **tenant** should be replaced with your Microsoft 365 ten
At the time of writing the IP address ranges that these endpoints correspond to are as follows. It's **very strongly** advised you use a [script such as this](https://github.com/microsoft/Office365NetworkTools/tree/master/Scripts/Display%20URL-IPs-Ports%20per%20Category) example, the [Microsoft 365 IP and URL web service](microsoft-365-ip-web-service.md) or the [URL/IP page](urls-and-ip-address-ranges.md) to check for any updates when applying the configuration, and put a policy in place to do so regularly.
-```
+```markdown
104.146.128.0/17 13.107.128.0/22 13.107.136.0/22
foreach ($prefix in $destPrefix) {New-NetRoute -DestinationPrefix $prefix -Inter
The VPN client should be configured so that traffic to the **Optimize** IPs are routed in this way. This allows the traffic to utilize local Microsoft resources such as Microsoft 365 Service Front Doors [such as the Azure Front Door](https://azure.microsoft.com/blog/azure-front-door-service-is-now-generally-available/) that deliver Microsoft 365 services and connectivity endpoints as close to your users as possible. This allows us to deliver high performance levels to users wherever they are in the world and takes full advantage of [Microsoft's world class global network](https://azure.microsoft.com/blog/how-microsoft-builds-its-fast-and-reliable-global-network/), which is likely within a few milliseconds of your users' direct egress.
-## Configuring and securing Teams media traffic
-
-Some administrators may require more detailed information on how call flows operate in Teams using a split tunneling model and how connections are secured.
-
-### Configuration
-
-For both calls and meetings, as long as the required Optimize IP subnets for Teams media are correctly in place in the route table, when Teams calls the [GetBestRoute](/windows/win32/api/iphlpapi/nf-iphlpapi-getbestroute) function to determine which local interface corresponds to the route it should use for a particular destination, the local interface will be returned for Microsoft destinations in the Microsoft IP blocks listed above.
-
-Some VPN client software allows routing manipulation based on URL. However, Teams media traffic has no URL associated with it, so control of routing for this traffic must be done using IP subnets.
-
-In certain scenarios, often unrelated to Teams client configuration, media traffic still traverses the VPN tunnel even with the correct routes in place. If you encounter this scenario, then using a firewall rule to block the Teams IP subnets or ports from using the VPN should suffice.
-
->[!IMPORTANT]
->To ensure Teams media traffic is routed via the desired method in all VPN scenarios, please ensure users are running Microsoft Teams client version **1.3.00.13565** or greater. This version includes improvements in how the client detects available network paths.
-
-Signaling traffic is performed over HTTPS and isn't as latency sensitive as the media traffic and is marked as **Allow** in the URL/IP data and thus can safely be routed through the VPN client if desired.
-
->[!NOTE]
->Microsoft Edge **96 and above** also supports VPN split tunneling for peer-to-peer traffic. This means customers can gain the benefit of VPN split tunneling for Teams web clients on Edge, for instance. Customers who want to set it up for websites running on Edge can achieve it by taking the additional step of enabling the Edge [WebRtcRespectOsRoutingTableEnabled](/deployedge/microsoft-edge-policies#webrtcrespectosroutingtableenabled) policy.
-
-### Security
-
-One common argument for avoiding split tunnels is that It's less secure to do so, i.e any traffic that does not go through the VPN tunnel won't benefit from whatever encryption scheme is applied to the VPN tunnel, and is therefore less secure.
-
-The main counter-argument to this is that media traffic is already encrypted via _Secure Real-Time Transport Protocol (SRTP)_, a profile of Real-Time Transport Protocol (RTP) that provides confidentiality, authentication, and replay attack protection to RTP traffic. SRTP itself relies on a randomly generated session key, which is exchanged via the TLS secured signaling channel. This is covered in great detail within [this security guide](/skypeforbusiness/optimizing-your-network/security-guide-for-skype-for-business-online), but the primary section of interest is media encryption.
-
-Media traffic is encrypted using SRTP, which uses a session key generated by a secure random number generator and exchanged using the signaling TLS channel. In addition, media flowing in both directions between the Mediation Server and its internal next hop is also encrypted using SRTP.
-
-Skype for Business Online generates username/passwords for secure access to media relays over _Traversal Using Relays around NAT (TURN)_. Media relays exchange the username/password over a TLS-secured SIP channel. It's worth noting that even though a VPN tunnel may be used to connect the client to the corporate network, the traffic still needs to flow in its SRTP form when it leaves the corporate network to reach the service.
-
-Information on how Teams mitigates common security concerns such as voice or _Session Traversal Utilities for NAT (STUN)_ amplification attacks can be found in [5.1 Security Considerations for Implementers](/openspecs/office_protocols/ms-ice2/69525351-8c68-4864-b8a6-04bfbc87785c).
-
-You can also read about modern security controls in remote work scenarios at [Alternative ways for security professionals and IT to achieve modern security controls in today's unique remote work scenarios (Microsoft Security Team blog)](https://www.microsoft.com/security/blog/2020/03/26/alternative-security-professionals-it-achieve-modern-security-controls-todays-unique-remote-work-scenarios/).
-
-### Testing
-
-Once the policy is in place, you should confirm It's working as expected. There are multiple ways of testing the path is correctly set to use the local Internet connection:
--- Run the [Microsoft 365 connectivity test](https://aka.ms/netonboard) that will run connectivity tests for you including trace routes as above. We're also adding in VPN tests into this tooling that should also provide additional insights.--- A simple **tracert** to an endpoint within scope of the split tunnel should show the path taken, for example:-
- ```powershell
- tracert worldaz.tr.teams.microsoft.com
- ```
-
- You should then see a path via the local ISP to this endpoint that should resolve to an IP in the Teams ranges we have configured for split tunneling.
--- Take a network capture using a tool such as Wireshark. Filter on UDP during a call and you should see traffic flowing to an IP in the Teams **Optimize** range. If the VPN tunnel is being used for this traffic, then the media traffic won't be visible in the trace.-
-### Additional support logs
-
-If you need further data to troubleshoot, or are requesting assistance from Microsoft support, obtaining the following information should allow you to expedite finding a solution. Microsoft support's **TSS Windows CMD-based universal TroubleShooting Script toolset** can help you to collect the relevant logs in a simple manner. The tool and instructions on use can be found at <https://aka.ms/TssTools>.
-
-## How to Optimize Stream & Live Events
-
-Microsoft 365 Live Events traffic (this includes attendees to Teams-produced live events and those produced with an external encoder via Teams, Stream, or Yammer) and on-demand Stream traffic is currently categorized as **Default** versus **Optimize** in the [URL/IP list for the service](urls-and-ip-address-ranges.md). These endpoints are categorized as **Default** because they're hosted on CDNs that may also be used by other services. Customers generally prefer to proxy this type of traffic and apply any security elements normally done on endpoints such as these.
-
-Many customers have asked for URL/IP data needed to connect their users to Stream/Live Events directly from their local internet connection, rather than route the high-volume and latency-sensitive traffic via the VPN infrastructure. Typically, this isn't possible without both dedicated namespaces and accurate IP information for the endpoints, which isn't provided for Microsoft 365 endpoints categorized as **Default**.
-
-Use the following steps to enable direct connectivity for the Stream/Live Events service from clients using a forced tunnel VPN. This solution is intended to provide customers with an option to avoid routing Live Events traffic over VPN while there is high network traffic due to work-from-home scenarios. If possible, it's advised to access the service through an inspecting proxy.
-
->[!NOTE]
->Using this solution, there may be service elements that do not resolve to the IP addresses provided and thus traverse the VPN, but the bulk of high-volume traffic like streaming data should. There may be other elements outside the scope of Live Events/Stream which get caught by this offload, but these should be limited as they must meet both the FQDN _and_ the IP match before going direct.
-
->[!IMPORTANT]
->Customers are advised to weigh the risk of sending more traffic that bypasses the VPN over the performance gain for Live Events.
-
-To implement the forced tunnel exception for Teams Live Events and Stream, the following steps should be applied:
-
-### 1. Configure external DNS resolution
-
-Clients need external, recursive DNS resolution to be available so that the following host names can be resolved to IP addresses.
--- \*.azureedge.net-- \*.media.azure.net-- \*.bmc.cdn.office.net-
-**\*.azureedge.net** is used for Stream events ([Configure encoders for live streaming in Microsoft Stream - Microsoft Stream | Microsoft Docs](/stream/live-encoder-setup)).
-
-**\*.media.azure.net** and **\*.bmc.cdn.office.net** are used for Teams-produced Live Events (Quick Start events, RTMP-In supported events [Roadmap ID 84960]) scheduled from the Teams client.
-
- Some of these endpoints are shared with other elements outside of Stream/Live Events, it isn't advised to just use these FQDNs to configure VPN offload even if technically possible in your VPN solution (eg if it works at the FQDN rather than IP).
-
-FQDNs aren't required in the VPN configuration, they are purely for use in PAC files in combination with the IPs to send the relevant traffic direct.
-
-### 2. Implement PAC file changes (where required)
-
-For organizations that utilize a PAC file to route traffic through a proxy while on VPN, this is normally achieved using FQDNs. However, with Stream/Live Events, the host names provided contain wildcards such as **\*.azureedge.net**, which also encompasses other elements for which it isn't possible to provide full IP listings. Thus, if the request is sent direct based on DNS wildcard match alone, traffic to these endpoints will be blocked as there is no route via the direct path for it in [Step 3](#3-configure-routing-on-the-vpn-to-enable-direct-egress).
-
-To solve this, we can provide the following IPs and use them in combination with the host names in [Step 1](#1-configure-external-dns-resolution) in an example PAC file. The PAC file checks if the URL matches those used for Stream/Live Events and then if it does, it then also checks to see if the IP returned from a DNS lookup matches those provided for the service. If _both_ match, then the traffic is routed direct. If either element (FQDN/IP) doesn't match, then the traffic is sent to the proxy. As a result, the configuration ensures that anything which resolves to an IP outside of the scope of both the IP and defined namespaces will traverse the proxy via the VPN as normal.
-
-#### Gathering the current lists of CDN Endpoints
-
-Live Events uses multiple CDN providers to stream to customers, to provide the best coverage, quality, and resiliency. Currently, both Azure CDN from Microsoft and from Verizon are used. Over time this could be changed due to situations such as regional availability. This article is a source to enable you to keep up to date on IP ranges.
-
-For Azure CDN from Microsoft, you can download the list from [Download Azure IP Ranges and Service Tags ΓÇô Public Cloud from Official Microsoft Download Center](https://www.microsoft.com/download/details.aspx?id=56519) - you will need to look specifically for the service tag *AzureFrontdoor.Frontend* in the JSON; *addressPrefixes* will show the IPv4/IPv6 subnets. Over time the IPs can change, but the service tag list is always updated before they are put in use.
-
-For Azure CDN from Verizon (Edgecast) you can find an exhaustive list using [https://docs.microsoft.com/rest/api/cdn/edge-nodes/list](/rest/api/cdn/edge-nodes/list) (click **Try It** ) - you will need to look specifically for the **Premium\_Verizon** section. Note that this API shows all Edgecast IPs (origin and Anycast). Currently there isn't a mechanism for the API to distinguish between origin and Anycast.
-
-To implement this in a PAC file you can use the following example which sends the Microsoft 365 Optimize traffic direct (which is recommended best practice) via FQDN, and the critical Stream/Live Events traffic direct via a combination of the FQDN and the returned IP address. The placeholder name _Contoso_ would need to be edited to your specific tenant's name where _contoso_ is from contoso.onmicrosoft.com
-
-##### Example PAC file
-
-Here is an example of how to generate the PAC files:
-
-1. Save the script below to your local hard disk as _Get-TLEPacFile.ps1_.
-1. Go to the [Verizon URL](/rest/api/cdn/edge-nodes/list#code-try-0) and download the resulting JSON (copy paste it into a file like cdnedgenodes.json)
-1. Put the file into the same folder as the script.
-1. In a PowerShell window, run the following command. Change out the tenant name for something else if you want the SPO URLs. This is Type 2, so **Optimize** and **Allow** (Type 1 is Optimize only).
-
- ```powershell
- .\Get-TLEPacFile.ps1 -Instance Worldwide -Type 2 -TenantName <contoso> -CdnEdgeNodesFilePath .\cdnedgenodes.json -FilePath TLE.pac
- ```
-
-5. The TLE.pac file will contain all the namespaces and IPs (IPv4/IPv6).
-
-###### Get-TLEPacFile.ps1
-
-```powershell
-# Copyright (c) Microsoft Corporation. All rights reserved.
-# Licensed under the MIT License.
-
-<#PSScriptInfo
-
-.VERSION 1.0.4
-
-.AUTHOR Microsoft Corporation
-
-.GUID 7f692977-e76c-4582-97d5-9989850a2529
-
-.COMPANYNAME Microsoft
-
-.COPYRIGHT
-Copyright (c) Microsoft Corporation. All rights reserved.
-Licensed under the MIT License.
-
-.TAGS PAC Microsoft Microsoft365 365
-
-.LICENSEURI
-
-.PROJECTURI http://aka.ms/ipurlws
-
-.ICONURI
-
-.EXTERNALMODULEDEPENDENCIES
-
-.REQUIREDSCRIPTS
-
-.EXTERNALSCRIPTDEPENDENCIES
-
-.RELEASENOTES
-
-#>
-
-<#
-
-.SYNOPSIS
-
-Create a PAC file for Microsoft 365 prioritized connectivity
-
-.DESCRIPTION
-
-This script will access updated information to create a PAC file to prioritize Microsoft 365 Urls for
-better access to the service. This script will allow you to create different types of files depending
-on how traffic needs to be prioritized.
-
-.PARAMETER Instance
-
-The service instance inside Microsoft 365.
-
-.PARAMETER ClientRequestId
-
-The client request id to connect to the web service to query up to date Urls.
-
-.PARAMETER DirectProxySettings
-
-The direct proxy settings for priority traffic.
-
-.PARAMETER DefaultProxySettings
-
-The default proxy settings for non priority traffic.
-
-.PARAMETER Type
-
-The type of prioritization to give. Valid values are 1 and 2, which are 2 different modes of operation.
-Type 1 will send Optimize traffic to the direct route. Type 2 will send Optimize and Allow traffic to
-the direct route.
-
-.PARAMETER Lowercase
-
-Flag this to include lowercase transformation into the PAC file for the host name matching.
-
-.PARAMETER TenantName
-
-The tenant name to replace wildcard Urls in the webservice.
-
-.PARAMETER ServiceAreas
-
-The service areas to filter endpoints by in the webservice.
-
-.PARAMETER FilePath
-
-The file to print the content to.
-
-.EXAMPLE
-
-Get-TLEPacFile.ps1 -ClientRequestId b10c5ed1-bad1-445f-b386-b919946339a7 -DefaultProxySettings "PROXY 4.4.4.4:70" -FilePath type1.pac
-
-.EXAMPLE
-
-Get-TLEPacFile.ps1 -ClientRequestId b10c5ed1-bad1-445f-b386-b919946339a7 -Instance China -Type 2 -DefaultProxySettings "PROXY 4.4.4.4:70" -FilePath type2.pac
-
-.EXAMPLE
-
-Get-TLEPacFile.ps1 -ClientRequestId b10c5ed1-bad1-445f-b386-b919946339a7 -Instance WorldWide -Lowercase -TenantName tenantName -ServiceAreas Sharepoint
-
-#>
-
-#Requires -Version 2
-
-[CmdletBinding(SupportsShouldProcess=$True)]
-Param (
- [Parameter(Mandatory = $false)]
- [ValidateSet('Worldwide', 'Germany', 'China', 'USGovDoD', 'USGovGCCHigh')]
- [String] $Instance = "Worldwide",
-
- [Parameter(Mandatory = $false)]
- [ValidateNotNullOrEmpty()]
- [guid] $ClientRequestId = [Guid]::NewGuid().Guid,
-
- [Parameter(Mandatory = $false)]
- [ValidateNotNullOrEmpty()]
- [String] $DirectProxySettings = 'DIRECT',
-
- [Parameter(Mandatory = $false)]
- [ValidateNotNullOrEmpty()]
- [String] $DefaultProxySettings = 'PROXY 10.10.10.10:8080',
-
- [Parameter(Mandatory = $false)]
- [ValidateRange(1, 2)]
- [int] $Type = 1,
-
- [Parameter(Mandatory = $false)]
- [switch] $Lowercase = $false,
-
- [Parameter(Mandatory = $false)]
- [ValidateNotNullOrEmpty()]
- [string] $TenantName,
-
- [Parameter(Mandatory = $false)]
- [ValidateSet('Exchange', 'SharePoint', 'Common', 'Skype')]
- [string[]] $ServiceAreas,
-
- [Parameter(Mandatory = $false)]
- [ValidateNotNullOrEmpty()]
- [string] $FilePath,
-
- [Parameter(Mandatory = $false)]
- [ValidateNotNullOrEmpty()]
- [string] $CdnEdgeNodesFilePath
-)
-
-##################################################################################################################
-### Global constants
-##################################################################################################################
-
-$baseServiceUrl = "https://endpoints.office.com/endpoints/$Instance/?ClientRequestId={$ClientRequestId}"
-$directProxyVarName = "direct"
-$defaultProxyVarName = "proxyServer"
-$bl = "`r`n"
-
-##################################################################################################################
-### Functions to create PAC files
-##################################################################################################################
-
-function Get-PacClauses
-{
- param(
- [Parameter(Mandatory = $false)]
- [string[]] $Urls,
-
- [Parameter(Mandatory = $true)]
- [ValidateNotNullOrEmpty()]
- [String] $ReturnVarName
- )
-
- if (!$Urls)
- {
- return ""
- }
-
- $clauses = (($Urls | ForEach-Object { "shExpMatch(host, `"$_`")" }) -Join "$bl || ")
-
-@"
- if($clauses)
- {
- return $ReturnVarName;
- }
-"@
-}
-
-function Get-PacString
-{
- param(
- [Parameter(Mandatory = $true)]
- [ValidateNotNullOrEmpty()]
- [array[]] $MapVarUrls
- )
-
-@"
-// This PAC file will provide proxy config to Microsoft 365 services
-// using data from the public web service for all endpoints
-function FindProxyForURL(url, host)
-{
- var $directProxyVarName = "$DirectProxySettings";
- var $defaultProxyVarName = "$DefaultProxySettings";
-
-$( if ($Lowercase) { " host = host.toLowerCase();" })
-
-$( ($MapVarUrls | ForEach-Object { Get-PACClauses -ReturnVarName $_.Item1 -Urls $_.Item2 }) -Join "$bl$bl" )
-
-$( if (!$ServiceAreas -or $ServiceAreas.Contains('Skype')) { Get-TLEPacConfiguration })
-
- return $defaultProxyVarName;
-}
-"@ -replace "($bl){3,}","$bl$bl" # Collapse more than one blank line in the PAC file so it looks better.
-}
-
-##################################################################################################################
-### Functions to get and filter endpoints
-##################################################################################################################
-
-function Get-TLEPacConfiguration {
- param ()
- $PreBlock = @"
- // Don't Proxy Teams Live Events traffic
-
- if(shExpMatch(host, "*.azureedge.net")
- || shExpMatch(host, "*.bmc.cdn.office.net")
- || shExpMatch(host, "*.media.azure.net"))
- {
- var resolved_ip = dnsResolveEx(host);
-
-"@
- $TLESb = New-Object 'System.Text.StringBuilder'
- $TLESb.Append($PreBlock) | Out-Null
-
- if (![string]::IsNullOrEmpty($CdnEdgeNodesFilePath) -and (Test-Path -Path $CdnEdgeNodesFilePath)) {
- $CdnData = Get-Content -Path $CdnEdgeNodesFilePath -Raw -ErrorAction SilentlyContinue | ConvertFrom-Json | Select-Object -ExpandProperty value |
- Where-Object { $_.name -eq 'Premium_Verizon'} | Select-Object -First 1 -ExpandProperty properties |
- Select-Object -ExpandProperty ipAddressGroups
- $CdnData | Select-Object -ExpandProperty ipv4Addresses | ForEach-Object {
- if ($TLESb.Length -eq $PreBlock.Length) {
- $TLESb.Append(" if(") | Out-Null
- }
- else {
- $TLESb.AppendLine() | Out-Null
- $TLESb.Append(" || ") | Out-Null
- }
- $TLESb.Append("isInNetEx(resolved_ip, `"$($_.BaseIpAddress)/$($_.prefixLength)`")") | Out-Null
- }
- $CdnData | Select-Object -ExpandProperty ipv6Addresses | ForEach-Object {
- if ($TLESb.Length -eq $PreBlock.Length) {
- $TLESb.Append(" if(") | Out-Null
- }
- else {
- $TLESb.AppendLine() | Out-Null
- $TLESb.Append(" || ") | Out-Null
- }
- $TLESb.Append("isInNetEx(resolved_ip, `"$($_.BaseIpAddress)/$($_.prefixLength)`")") | Out-Null
- }
- }
- $AzureIPsUrl = Invoke-WebRequest -Uri "https://www.microsoft.com/en-us/download/confirmation.aspx?id=56519" -UseBasicParsing -ErrorAction SilentlyContinue |
- Select-Object -ExpandProperty Links | Select-Object -ExpandProperty href |
- Where-Object { $_.EndsWith('.json') -and $_ -match 'ServiceTags' } | Select-Object -First 1
- if ($AzureIPsUrl) {
- Invoke-RestMethod -Uri $AzureIPsUrl -ErrorAction SilentlyContinue | Select-Object -ExpandProperty values |
- Where-Object { $_.name -eq 'AzureFrontDoor.Frontend' } | Select-Object -First 1 -ExpandProperty properties |
- Select-Object -ExpandProperty addressPrefixes | ForEach-Object {
- if ($TLESb.Length -eq $PreBlock.Length) {
- $TLESb.Append(" if(") | Out-Null
- }
- else {
- $TLESb.AppendLine() | Out-Null
- $TLESb.Append(" || ") | Out-Null
- }
- $TLESb.Append("isInNetEx(resolved_ip, `"$_`")") | Out-Null
- }
- }
- if ($TLESb.Length -gt $PreBlock.Length) {
- $TLESb.AppendLine(")") | Out-Null
- $TLESb.AppendLine(" {") | Out-Null
- $TLESb.AppendLine(" return $directProxyVarName;") | Out-Null
- $TLESb.AppendLine(" }") | Out-Null
- }
- else {
- $TLESb.AppendLine(" // no addresses found for service via script") | Out-Null
- }
- $TLESb.AppendLine(" }") | Out-Null
- return $TLESb.ToString()
-}
-
-function Get-Regex
-{
- param(
- [Parameter(Mandatory = $true)]
- [ValidateNotNullOrEmpty()]
- [string] $Fqdn
- )
-
- return "^" + $Fqdn.Replace(".", "\.").Replace("*", ".*").Replace("?", ".?") + "$"
-}
-
-function Match-RegexList
-{
- param(
- [Parameter(Mandatory = $true)]
- [ValidateNotNullOrEmpty()]
- [string] $ToMatch,
-
- [Parameter(Mandatory = $false)]
- [string[]] $MatchList
- )
-
- if (!$MatchList)
- {
- return $false
- }
- foreach ($regex in $MatchList)
- {
- if ($regex -ne $ToMatch -and $ToMatch -match (Get-Regex $regex))
- {
- return $true
- }
- }
- return $false
-}
-
-function Get-Endpoints
-{
- $url = $baseServiceUrl
- if ($TenantName)
- {
- $url += "&TenantName=$TenantName"
- }
- if ($ServiceAreas)
- {
- $url += "&ServiceAreas=" + ($ServiceAreas -Join ",")
- }
- return Invoke-RestMethod -Uri $url
-}
-
-function Get-Urls
-{
- param(
- [Parameter(Mandatory = $false)]
- [psobject[]] $Endpoints
- )
-
- if ($Endpoints)
- {
- return $Endpoints | Where-Object { $_.urls } | ForEach-Object { $_.urls } | Sort-Object -Unique
- }
- return @()
-}
-
-function Get-UrlVarTuple
-{
- param(
- [Parameter(Mandatory = $true)]
- [ValidateNotNullOrEmpty()]
- [string] $VarName,
-
- [Parameter(Mandatory = $false)]
- [string[]] $Urls
- )
- return New-Object 'Tuple[string,string[]]'($VarName, $Urls)
-}
-
-function Get-MapVarUrls
-{
- Write-Verbose "Retrieving all endpoints for instance $Instance from web service."
- $Endpoints = Get-Endpoints
-
- if ($Type -eq 1)
- {
- $directUrls = Get-Urls ($Endpoints | Where-Object { $_.category -eq "Optimize" })
- $nonDirectPriorityUrls = Get-Urls ($Endpoints | Where-Object { $_.category -ne "Optimize" }) | Where-Object { Match-RegexList $_ $directUrls }
- return @(
- Get-UrlVarTuple -VarName $defaultProxyVarName -Urls $nonDirectPriorityUrls
- Get-UrlVarTuple -VarName $directProxyVarName -Urls $directUrls
- )
- }
- elseif ($Type -eq 2)
- {
- $directUrls = Get-Urls ($Endpoints | Where-Object { $_.category -in @("Optimize", "Allow")})
- $nonDirectPriorityUrls = Get-Urls ($Endpoints | Where-Object { $_.category -notin @("Optimize", "Allow") }) | Where-Object { Match-RegexList $_ $directUrls }
- return @(
- Get-UrlVarTuple -VarName $defaultProxyVarName -Urls $nonDirectPriorityUrls
- Get-UrlVarTuple -VarName $directProxyVarName -Urls $directUrls
- )
- }
-}
-
-##################################################################################################################
-### Main script
-##################################################################################################################
-
-$content = Get-PacString (Get-MapVarUrls)
-
-if ($FilePath)
-{
- $content | Out-File -FilePath $FilePath -Encoding ascii
-}
-else
-{
- $content
-}
-```
-
-The script will automatically parse the Azure list based on the [download URL](https://www.microsoft.com/download/details.aspx?id=56519) and keys off of **AzureFrontDoor.Frontend**, so there is no need to get that manually.
-
-Again, it isn't advised to perform VPN offload using just the FQDNs; utilizing **both** the FQDNs and the IP addresses in the function helps scope the use of this offload to a limited set of endpoints including Live Events/Stream. The way the function is structured will result in a DNS lookup being done for the FQDN that matches those listed by the client directly, i.e. DNS resolution of the remaining namespaces remains unchanged.
-
-If you wish to limit the risk of offloading endpoints not related to Live Events and Stream, you can remove the **\*.azureedge.net** domain from the configuration which is where most of this risk lies as this is a shared domain used for all Azure CDN customers. The downside of this is that any event using an external encoder won't be optimized but events produced/organized within Teams will be.
-
-### 3. Configure routing on the VPN to enable direct egress
-
-The final step is to add a direct route for the Live Event IPs described in **Gathering the current lists of CDN Endpoints** into the VPN configuration to ensure the traffic isn't sent via the forced tunnel into the VPN. Detailed information on how to do this for Microsoft 365 Optimize endpoints can be found in the [Implement VPN split tunneling](#implement-vpn-split-tunneling) section and the process is exactly the same for the Stream/Live Events IPs listed in this document.
-
-Note that only the IPs (not FQDNs) from [Gathering the current lists of CDN Endpoints](#gathering-the-current-lists-of-cdn-endpoints) should be used for VPN configuration.
-
-### Stream & Live Events Optimization FAQ
-
-#### Will this send all my traffic to the service direct?
-
-No, this will send the latency-sensitive streaming traffic for a Live Event or Stream video direct, any other traffic will continue to use the VPN tunnel if they do not resolve to the IPs published.
-
-#### Do I need to use the IPv6 Addresses?
-
-No, the connectivity can be IPv4 only if required.
-
-#### Why are these IPs not published in the Microsoft 365 URL/IP service?
-
-Microsoft has strict controls around the format and type of information that is in the service to ensure customers can reliably use the information to implement secure and optimal routing based on endpoint category.
-
-The **Default** endpoint category has no IP information provided for numerous reasons (Default endpoints may be outside of the control of Microsoft, may change too frequently, or may be in blocks shared with other elements). For this reason, Default endpoints are designed to be sent via FQDN to an inspecting proxy, like normal web traffic.
-
-In this case, the above endpoints are CDNs that may be used by non-Microsoft controlled elements other than Live Events or Stream, and thus sending the traffic direct will also mean anything else which resolves to these IPs will also be sent direct from the client. Due to the unique nature of the current global crisis and to meet the short-term needs of our customers, Microsoft has provided the information above for customers to use as they see fit.
-
-Microsoft is working to reconfigure the Live Events endpoints to allow them to be included in the Allow/Optimize endpoint categories in the future.
-
-#### Do I only need to allow access to these IPs?
-
-No, access to all of the **Required** marked endpoints in [the URL/IP service](urls-and-ip-address-ranges.md) is essential for the service to operate. In addition, any Optional endpoint marked for Stream (ID 41-45) is required.
-
-#### What scenarios will this advice cover?
-
-1. Live events produced within the Teams App
-2. Viewing Stream hosted content
-3. External device (encoder) produced events
-
-#### Does this advice cover presenter traffic?
-
-It does not, the advice above is purely for those consuming the service. Presenting from within Teams will see the presenter's traffic flowing to the Optimize marked UDP endpoints listed in URL/IP service row 11 with detailed VPN offload advice outlined in the [Implement VPN split tunneling](#implement-vpn-split-tunneling) section.
-
-#### Does this configuration risk traffic other than Live Events &amp; Stream being sent direct?
-
-Yes, due to shared FQDNs used for some elements of the service, this is unavoidable. This traffic is normally sent via a corporate proxy which can apply inspection. In a VPN split tunnel scenario, using both the FQDNs and IPs will scope this risk down to a minimum, but it will still exist. Customers can remove the **\*.azureedge.net** domain from the offload configuration and reduce this risk to a bare minimum but this will remove the offload of Stream-supported Live Events (Teams-scheduled, external encoder events, Yammer events produced in Teams, Yammer-scheduled external encoder events, and Stream scheduled events or on-demand viewing from Stream). Events scheduled and produced in Teams are unaffected.
- ## HOWTO guides for common VPN platforms This section provides links to detailed guides for implementing split tunneling for Microsoft 365 traffic from the most common partners in this space. We'll add additional guides as they become available.
This section provides links to detailed guides for implementing split tunneling
- **Pulse Secure**: [VPN Tunneling: How to configure split tunneling to exclude Microsoft 365 applications](https://kb.pulsesecure.net/articles/Pulse_Secure_Article/KB44417) - **Check Point VPN**: [How to configure Split Tunnel for Microsoft 365 and other SaaS Applications](https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk167000)
-## VPN Split Tunneling FAQ
-
-The Microsoft Security Team has published [Alternative ways for security professionals and IT to achieve modern security controls in todayΓÇÖs unique remote work scenarios](https://www.microsoft.com/security/blog/2020/03/26/alternative-security-professionals-it-achieve-modern-security-controls-todays-unique-remote-work-scenarios/), a blog post, that outlines key ways for security professionals and IT can achieve modern security controls in today's unique remote work scenarios. In addition, below are some of the common customer questions and answers on this subject.
-
-### How do I stop users accessing other tenants I do not trust where they could exfiltrate data?
-
-The answer is a [feature called tenant restrictions](/azure/active-directory/manage-apps/tenant-restrictions). Authentication traffic isn't high volume nor especially latency sensitive so can be sent through the VPN solution to the on-premises proxy where the feature is applied. An allow list of trusted tenants is maintained here and if the client attempts to obtain a token to a tenant that isn't trusted, the proxy simply denies the request. If the tenant is trusted, then a token is accessible if the user has the right credentials and rights.
-
-So even though a user can make a TCP/UDP connection to the Optimize marked endpoints above, without a valid token to access the tenant in question, they simply cannot log in and access/move any data.
-
-### Does this model allow access to consumer services such as personal OneDrive accounts?
-
-No, it does not, the Microsoft 365 endpoints aren't the same as the consumer services (Onedrive.live.com as an example) so the split tunnel won't allow a user to directly access consumer services. Traffic to consumer endpoints will continue to use the VPN tunnel and existing policies will continue to apply.
-
-### How do I apply DLP and protect my sensitive data when the traffic no longer flows through my on-premises solution?
-
-To help you prevent the accidental disclosure of sensitive information, Microsoft 365 has a rich set of [built-in tools](../compliance/information-protection.md). You can use the built-in [DLP capabilities](../compliance/dlp-learn-about-dlp.md) of Teams and SharePoint to detect inappropriately stored or shared sensitive information. If part of your remote work strategy involves a bring-your-own-device (BYOD) policy, you can use [app-based Conditional Access](/azure/active-directory/conditional-access/app-based-conditional-access) to prevent sensitive data from being downloaded to users' personal devices
-
-### How do I evaluate and maintain control of the user's authentication when they are connecting directly?
-
-In addition to the tenant restrictions feature noted in Q1, [conditional access policies](/azure/active-directory/conditional-access/overview) can be applied to dynamically assess the risk of an authentication request and react appropriately. Microsoft recommends the [Zero Trust model](https://www.microsoft.com/security/zero-trust?rtc=1) is implemented over time and we can use Azure AD conditional access policies to maintain control in a mobile and cloud-first world. Conditional access policies can be used to make a real-time decision on whether an authentication request is successful based on numerous factors such as:
--- Device, is the device known/trusted/Domain joined?-- IP ΓÇô is the authentication request coming from a known corporate IP address? Or from a country we do not trust?-- Application ΓÇô Is the user authorized to use this application?-
-We can then trigger policy such as approve, trigger MFA or block authentication based on these policies.
-
-### How do I protect against viruses and malware?
-
-Again, Microsoft 365 provides protection for the Optimize marked endpoints in various layers in the service itself, [outlined in this document](/office365/Enterprise/office-365-malware-and-ransomware-protection). As noted, It's vastly more efficient to provide these security elements in the service itself rather than try to do it in line with devices that may not fully understand the protocols/traffic. By default, SharePoint Online [automatically scans file uploads](../security/office-365-security/virus-detection-in-spo.md) for known malware
-
-For the Exchange endpoints listed above, [Exchange Online Protection](/office365/servicedescriptions/exchange-online-protection-service-description/exchange-online-protection-service-description) and [Microsoft Defender for Microsoft 365](/office365/servicedescriptions/office-365-advanced-threat-protection-service-description) do an excellent job of providing security of the traffic to the service.
-
-### Can I send more than just the Optimize traffic direct?
-
-Priority should be given to the **Optimize** marked endpoints as these will give maximum benefit for a low level of work. However, if you wish, the Allow marked endpoints are required for the service to work and have IP addresses provided for the endpoints that can be used if necessary.
-
-There are also various vendors who offer cloud-based proxy/security solutions called _secure web gateways_ which provide central security, control, and corporate policy application for general web browsing. These solutions can work well in a cloud-first world, if highly available, performant, and provisioned close to your users by allowing secure Internet access to be delivered from a cloud-based location close to the user. This removes the need for a hairpin through the VPN/corporate network for general browsing traffic, while still allowing central security control.
-
-Even with these solutions in place however, Microsoft still strongly recommends that Optimize marked Microsoft 365 traffic is sent direct to the service.
-
-For guidance on allowing direct access to an Azure Virtual Network, see [Remote work using Azure VPN Gateway Point-to-site](/azure/vpn-gateway/work-remotely-support).
-
-### Why is port 80 required? Is traffic sent in the clear?
-
-Port 80 is only used for things like redirect to a port 443 session, no customer data is sent or is accessible over port 80. [Encryption](../compliance/encryption.md) outlines encryption for data in transit and at rest for Microsoft 365, and [Types of traffic](/microsoftteams/microsoft-teams-online-call-flows#types-of-traffic) outlines how we use SRTP to protect Teams media traffic.
+## Related articles
-### Does this advice apply to users in China using a worldwide instance of Microsoft 365?
+[Overview: VPN split tunneling for Microsoft 365](microsoft-365-vpn-split-tunnel.md)
-**No**, it does not. The one caveat to the above advice is users in the PRC who are connecting to a worldwide instance of Microsoft 365. Due to the common occurrence of cross border network congestion in the region, direct Internet egress performance can be variable. Most customers in the region operate using a VPN to bring the traffic into the corporate network and utilize their authorized MPLS circuit or similar to egress outside the country via an optimized path. This is outlined further in the article [Microsoft 365 performance optimization for China users](microsoft-365-networking-china.md).
+[Common VPN split tunneling scenarios for Microsoft 365](microsoft-365-vpn-common-scenarios.md)
-### Does split-tunnel configuration work for Teams running in a browser?
+[Securing Teams media traffic for VPN split tunneling](microsoft-365-vpn-securing-teams.md)
-Yes, with caveats. Most Teams functionality is supported in the browsers listed in [Get clients for Microsoft Teams](/microsoftteams/get-clients#web-client).
+[Special considerations for Stream and live events in VPN environments](microsoft-365-vpn-stream-and-live-events.md)
-In addition, Microsoft Edge **96 and above** supports VPN split tunneling for peer-to-peer traffic by enabling the Edge [WebRtcRespectOsRoutingTableEnabled](/deployedge/microsoft-edge-policies#webrtcrespectosroutingtableenabled) policy. At this time, other browsers may not support VPN split tunneling for peer-to-peer traffic.
+[Microsoft 365 performance optimization for China users](microsoft-365-networking-china.md)
-## Related articles
+[Microsoft 365 Network Connectivity Principles](microsoft-365-network-connectivity-principles.md)
-[Overview: VPN split tunneling for Microsoft 365](microsoft-365-vpn-split-tunnel.md)
+[Assessing Microsoft 365 network connectivity](assessing-network-connectivity.md)
-[Microsoft 365 performance optimization for China users](microsoft-365-networking-china.md)
+[Microsoft 365 network and performance tuning](network-planning-and-performance.md)
[Alternative ways for security professionals and IT to achieve modern security controls in today's unique remote work scenarios (Microsoft Security Team blog)](https://www.microsoft.com/security/blog/2020/03/26/alternative-security-professionals-it-achieve-modern-security-controls-todays-unique-remote-work-scenarios/)
In addition, Microsoft Edge **96 and above** supports VPN split tunneling for pe
[Running on VPN: How Microsoft is keeping its remote workforce connected](https://www.microsoft.com/itshowcase/blog/running-on-vpn-how-microsoft-is-keeping-its-remote-workforce-connected/?elevate-lv)
-[Microsoft 365 Network Connectivity Principles](microsoft-365-network-connectivity-principles.md)
-
-[Assessing Microsoft 365 network connectivity](assessing-network-connectivity.md)
-
-[Microsoft 365 network and performance tuning](network-planning-and-performance.md)
+[Microsoft global network](/azure/networking/microsoft-global-network)
enterprise Microsoft 365 Vpn Securing Teams https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/enterprise/microsoft-365-vpn-securing-teams.md
+
+ Title: "Securing Teams media traffic for VPN split tunneling"
+++ Last updated : 3/3/2022
+audience: Admin
++
+ms.localizationpriority: medium
+search.appverid:
+- MET150
+
+- Ent_O365
+- Strat_O365_Enterprise
+- remotework
+f1.keywords:
+- NOCSH
+description: "Securing Teams media traffic for VPN split tunneling"
++
+# Securing Teams media traffic for VPN split tunneling
+
+>[!NOTE]
+>This article is part of a set of articles that address Microsoft 365 optimization for remote users.
+
+>- For an overview of using VPN split tunneling to optimize Microsoft 365 connectivity for remote users, see [Overview: VPN split tunneling for Microsoft 365](microsoft-365-vpn-split-tunnel.md).
+>- For detailed guidance on implementing VPN split tunneling, see [Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md).
+>- For a detailed list of VPN split tunneling scenarios, see [Common VPN split tunneling scenarios for Microsoft 365](microsoft-365-vpn-common-scenarios.md).
+>- For information about how to configure Stream and live events in VPN environments, see [Special considerations for Stream and live events in VPN environments](microsoft-365-vpn-stream-and-live-events.md).
+>- For information about optimizing Microsoft 365 worldwide tenant performance for users in China, see [Microsoft 365 performance optimization for China users](microsoft-365-networking-china.md).
+
+Some Microsoft Teams administrators may require detailed information on how call flows operate in Teams using a split tunneling model and how connections are secured.
+
+## Configuration
+
+For both calls and meetings, as long as the required Optimize IP subnets for Teams media are correctly in place in the route table, when Teams calls the [GetBestRoute](/windows/win32/api/iphlpapi/nf-iphlpapi-getbestroute) function to determine which local interface corresponds to the route it should use for a particular destination, the local interface will be returned for Microsoft destinations in the Microsoft IP blocks listed above.
+
+Some VPN client software allows routing manipulation based on URL. However, Teams media traffic has no URL associated with it, so control of routing for this traffic must be done using IP subnets.
+
+In certain scenarios, often unrelated to Teams client configuration, media traffic still traverses the VPN tunnel even with the correct routes in place. If you encounter this scenario, then using a firewall rule to block the Teams IP subnets or ports from using the VPN should suffice.
+
+>[!IMPORTANT]
+>To ensure Teams media traffic is routed via the desired method in all VPN scenarios, please ensure users are running Microsoft Teams client version **1.3.00.13565** or greater. This version includes improvements in how the client detects available network paths.
+
+Signaling traffic is performed over HTTPS and isn't as latency sensitive as the media traffic and is marked as **Allow** in the URL/IP data and thus can safely be routed through the VPN client if desired.
+
+>[!NOTE]
+>Microsoft Edge **96 and above** also supports VPN split tunneling for peer-to-peer traffic. This means customers can gain the benefit of VPN split tunneling for Teams web clients on Edge, for instance. Customers who want to set it up for websites running on Edge can achieve it by taking the additional step of enabling the Edge [WebRtcRespectOsRoutingTableEnabled](/deployedge/microsoft-edge-policies#webrtcrespectosroutingtableenabled) policy.
+
+### Security
+
+One common argument for avoiding split tunnels is that It's less secure to do so, i.e any traffic that does not go through the VPN tunnel won't benefit from whatever encryption scheme is applied to the VPN tunnel, and is therefore less secure.
+
+The main counter-argument to this is that media traffic is already encrypted via _Secure Real-Time Transport Protocol (SRTP)_, a profile of Real-Time Transport Protocol (RTP) that provides confidentiality, authentication, and replay attack protection to RTP traffic. SRTP itself relies on a randomly generated session key, which is exchanged via the TLS secured signaling channel. This is covered in great detail within [this security guide](/skypeforbusiness/optimizing-your-network/security-guide-for-skype-for-business-online), but the primary section of interest is media encryption.
+
+Media traffic is encrypted using SRTP, which uses a session key generated by a secure random number generator and exchanged using the signaling TLS channel. In addition, media flowing in both directions between the Mediation Server and its internal next hop is also encrypted using SRTP.
+
+Skype for Business Online generates username/passwords for secure access to media relays over _Traversal Using Relays around NAT (TURN)_. Media relays exchange the username/password over a TLS-secured SIP channel. It's worth noting that even though a VPN tunnel may be used to connect the client to the corporate network, the traffic still needs to flow in its SRTP form when it leaves the corporate network to reach the service.
+
+Information on how Teams mitigates common security concerns such as voice or _Session Traversal Utilities for NAT (STUN)_ amplification attacks can be found in [5.1 Security Considerations for Implementers](/openspecs/office_protocols/ms-ice2/69525351-8c68-4864-b8a6-04bfbc87785c).
+
+You can also read about modern security controls in remote work scenarios at [Alternative ways for security professionals and IT to achieve modern security controls in today's unique remote work scenarios (Microsoft Security Team blog)](https://www.microsoft.com/security/blog/2020/03/26/alternative-security-professionals-it-achieve-modern-security-controls-todays-unique-remote-work-scenarios/).
+
+### Testing
+
+Once the policy is in place, you should confirm It's working as expected. There are multiple ways of testing the path is correctly set to use the local Internet connection:
+
+- Run the [Microsoft 365 connectivity test](https://aka.ms/netonboard) that will run connectivity tests for you including trace routes as above. We're also adding in VPN tests into this tooling that should also provide additional insights.
+
+- A simple **tracert** to an endpoint within scope of the split tunnel should show the path taken, for example:
+
+ ```powershell
+ tracert worldaz.tr.teams.microsoft.com
+ ```
+
+ You should then see a path via the local ISP to this endpoint that should resolve to an IP in the Teams ranges we have configured for split tunneling.
+
+- Take a network capture using a tool such as Wireshark. Filter on UDP during a call and you should see traffic flowing to an IP in the Teams **Optimize** range. If the VPN tunnel is being used for this traffic, then the media traffic won't be visible in the trace.
+
+## Additional support logs
+
+If you need further data to troubleshoot, or are requesting assistance from Microsoft support, obtaining the following information should allow you to expedite finding a solution. Microsoft support's **TSS Windows CMD-based universal TroubleShooting Script toolset** can help you to collect the relevant logs in a simple manner. The tool and instructions on use can be found at <https://aka.ms/TssTools>.
+
+## Related articles
+
+[Overview: VPN split tunneling for Microsoft 365](microsoft-365-vpn-split-tunnel.md)
+
+[Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md)
+
+[Common VPN split tunneling scenarios for Microsoft 365](microsoft-365-vpn-common-scenarios.md)
+
+[Special considerations for Stream and live events in VPN environments](microsoft-365-vpn-stream-and-live-events.md)
+
+[Microsoft 365 performance optimization for China users](microsoft-365-networking-china.md)
+
+[Microsoft 365 Network Connectivity Principles](microsoft-365-network-connectivity-principles.md)
+
+[Assessing Microsoft 365 network connectivity](assessing-network-connectivity.md)
+
+[Microsoft 365 network and performance tuning](network-planning-and-performance.md)
+
+[Alternative ways for security professionals and IT to achieve modern security controls in today's unique remote work scenarios (Microsoft Security Team blog)](https://www.microsoft.com/security/blog/2020/03/26/alternative-security-professionals-it-achieve-modern-security-controls-todays-unique-remote-work-scenarios/)
+
+[Enhancing VPN performance at Microsoft: using Windows 10 VPN profiles to allow auto-on connections](https://www.microsoft.com/itshowcase/enhancing-remote-access-in-windows-10-with-an-automatic-vpn-profile)
+
+[Running on VPN: How Microsoft is keeping its remote workforce connected](https://www.microsoft.com/itshowcase/blog/running-on-vpn-how-microsoft-is-keeping-its-remote-workforce-connected/?elevate-lv)
+
+[Microsoft global network](/azure/networking/microsoft-global-network)
enterprise Microsoft 365 Vpn Split Tunnel https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/enterprise/microsoft-365-vpn-split-tunnel.md
Title: "Overview: VPN split tunneling with Office 365"
+ Title: "Overview: VPN split tunneling for Microsoft 365"
- Previously updated : 9/22/2020+ Last updated : 3/3/2022 audience: Admin
- m365initiative-coredeploy f1.keywords: - NOCSH
-description: "Guidance for using VPN split tunneling with Office 365 to optimize Office 365 connectivity for remote users."
+description: "Overview of VPN split tunneling with Microsoft 365 to optimize connectivity for remote users."
-# Optimize Office 365 connectivity for remote users using VPN split tunneling
-<!
+# Overview: VPN split tunneling for Microsoft 365
+ >[!NOTE]
->This topic is part of a set of topics that address Office 365 optimization for remote users.
->- For VPN split tunnel implementation guidance, see [Implementing VPN split tunneling for Office 365](microsoft-365-vpn-implement-split-tunnel.md).
->- For information about optimizing Office 365 worldwide tenant performance for users in China, see [Office 365 performance optimization for China users](microsoft-365-networking-china.md).
>
+>This article is part of a set of articles that address Microsoft 365 optimization for remote users.
+
+>- For detailed guidance on implementing VPN split tunneling, see [Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md).
+>- For a detailed list of VPN split tunneling scenarios, see [Common VPN split tunneling scenarios for Microsoft 365](microsoft-365-vpn-common-scenarios.md).
+>- For guidance on securing Teams media traffic in VPN split tunneling environments, see [Securing Teams media traffic for VPN split tunneling](microsoft-365-vpn-securing-teams.md).
+>- For information about how to configure Stream and live events in VPN environments, see [Special considerations for Stream and live events in VPN environments](microsoft-365-vpn-stream-and-live-events.md).
+>- For information about optimizing Microsoft 365 worldwide tenant performance for users in China, see [Microsoft 365 performance optimization for China users](microsoft-365-networking-china.md).
+
+Enterprises have traditionally used VPNs to support secure remote experiences for their users. While core workloads remained on-premises, a VPN from the remote client routed through a datacenter on the corporate network was the primary method for remote users to access corporate resources. To safeguard these connections, enterprises build layers of network security solutions along the VPN paths. This security was built to protect internal infrastructure and to safeguard mobile browsing of external web sites by rerouting traffic into the VPN and then out through the on-premises Internet perimeter. VPNs, network perimeters, and associated security infrastructure were often purpose-built and scaled for a defined volume of traffic, typically with most connectivity being initiated from within the corporate network, and most of it staying within the internal network boundaries.
+
+For quite some time, VPN models where all connections from the remote user device are routed back into the on-premises network (known as _forced tunneling_) were largely sustainable as long as the concurrent scale of remote users was modest and the traffic volumes traversing VPN were low. Some customers continued to use VPN force tunneling as the status quo even after their applications moved from inside the corporate perimeter to public SaaS clouds.
+
+The use of forced tunneled VPNs for connecting to distributed and performance-sensitive cloud applications is suboptimal, but the negative effects have been accepted by some enterprises so as to maintain the security status quo. An example diagram of this scenario can be seen below:
+
+![Forced Tunnel VPN configuration.](../media/vpn-split-tunneling/enterprise-network-traditional.png)
-For customers who connect their remote worker devices to the corporate network or cloud infrastructure over VPN, Microsoft recommends that the key Office 365 scenarios **Microsoft Teams**, **SharePoint Online**, and **Exchange Online** are routed over a _VPN split tunnel_ configuration. This becomes especially important as the first line strategy to facilitate continued employee productivity during large-scale work-from-home events such as the COVID-19 crisis.
+_Figure 1: A traditional Forced Tunnel VPN solution._
+
+This problem has been growing for many years, with many customers reporting a significant shift of network traffic patterns. Traffic that used to stay on premises now connects to external cloud endpoints. Many Microsoft customers report that previously, around 80% of their network traffic was to some internal source (represented by the dotted line in the above diagram). In 2020 that number decreased to around 20% or lower as they have shifted major workloads to the cloud. These trends aren't uncommon with other enterprises. Over time, as the cloud journey progresses, the above model becomes increasingly cumbersome and unsustainable, preventing an organization from being agile as they move into a cloud-first world.
+
+The worldwide COVID-19 crisis escalated this problem to require immediate remediation. The need to ensure employee safety has generated unprecedented demands on enterprise IT to support work-from-home productivity at a massive scale. Microsoft 365 is well positioned to help customers fulfill that demand, but high concurrency of users working from home generates a large volume of Microsoft 365 traffic which, if routed through forced tunnel VPN and on-premises network perimeters, causes rapid saturation and runs VPN infrastructure out of capacity. In this new reality, using VPN to access Microsoft 365 is no longer just a performance impediment, but a hard wall that not only impacts Microsoft 365 but critical business operations that still have to rely on the VPN to operate.
+
+Microsoft has been working closely with customers and the wider industry to provide effective, modern solutions to these problems from within our own services, and to align with industry best practice. [Connectivity principles](./microsoft-365-network-connectivity-principles.md) for the Microsoft 365 service have been designed to work efficiently for remote users while still allowing an organization to maintain security and control over their connectivity. These solutions can also be implemented quickly with limited work yet achieve a significant positive effect on the problems outlined above.
+
+For customers who connect their remote worker devices to the corporate network or cloud infrastructure over VPN, Microsoft recommends that the key Microsoft 365 scenarios **Microsoft Teams**, **SharePoint Online**, and **Exchange Online** are routed over a _VPN split tunnel_ configuration. This becomes especially important as the first line strategy to facilitate continued employee productivity during large-scale work-from-home events such as the COVID-19 crisis.
![Split Tunnel VPN configuration.](../media/vpn-split-tunneling/vpn-model-2.png)
-_Figure 1: A VPN split tunnel solution with defined Office 365 exceptions sent directly to the service. All other traffic traverses the VPN tunnel regardless of destination._
+_Figure 2: A VPN split tunnel solution with defined Microsoft 365 exceptions sent directly to the service. All other traffic traverses the VPN tunnel regardless of destination._
-The essence of this approach is to provide a simple method for enterprises to mitigate the risk of VPN infrastructure saturation and dramatically improve Office 365 performance in the shortest timeframe possible. Configuring VPN clients to allow the most critical, high volume Office 365 traffic to bypass the VPN tunnel achieves the following benefits:
+The essence of this approach is to provide a simple method for enterprises to mitigate the risk of VPN infrastructure saturation and dramatically improve Microsoft 365 performance in the shortest timeframe possible. Configuring VPN clients to allow the most critical, high volume Microsoft 365 traffic to bypass the VPN tunnel achieves the following benefits:
-- Immediately mitigates the root cause of a majority of customer-reported performance and network capacity issues in enterprise VPN architectures impacting Office 365 user experience
+- Immediately mitigates the root cause of a majority of customer-reported performance and network capacity issues in enterprise VPN architectures impacting Microsoft 365 user experience
- The recommended solution specifically targets Office 365 service endpoints categorized as **Optimize** in the topic [Office 365 URLs and IP address ranges](./urls-and-ip-address-ranges.md). Traffic to these endpoints is highly sensitive to latency and bandwidth throttling, and enabling it to bypass the VPN tunnel can dramatically improve the end-user experience as well as reduce the corporate network load. Office 365 connections that do not constitute the majority of bandwidth or user experience footprint can continue to be routed through the VPN tunnel along with the rest of the Internet-bound traffic. For more information, see [The VPN split tunnel strategy](#the-vpn-split-tunnel-strategy).
+ The recommended solution specifically targets Microsoft 365 service endpoints categorized as **Optimize** in the topic [Microsoft 365 URLs and IP address ranges](./urls-and-ip-address-ranges.md). Traffic to these endpoints is highly sensitive to latency and bandwidth throttling, and enabling it to bypass the VPN tunnel can dramatically improve the end-user experience as well as reduce the corporate network load. Microsoft 365 connections that do not constitute the majority of bandwidth or user experience footprint can continue to be routed through the VPN tunnel along with the rest of the Internet-bound traffic. For more information, see [The VPN split tunnel strategy](#the-vpn-split-tunnel-strategy).
- Can be configured, tested, and implemented rapidly by customers and with no additional infrastructure or application requirements
The essence of this approach is to provide a simple method for enterprises to mi
- Preserves the security posture of customer VPN implementations by not changing how other connections are routed, including traffic to the Internet
- The recommended configuration follows the **least privilege** principle for VPN traffic exceptions and allows customers to implement split tunnel VPN without exposing users or infrastructure to additional security risks. Network traffic routed directly to Office 365 endpoints is encrypted, validated for integrity by Office client application stacks and scoped to IP addresses dedicated to Office 365 services that are hardened at both the application and network level. For more information, see [Alternative ways for security professionals and IT to achieve modern security controls in today's unique remote work scenarios (Microsoft Security Team blog)](https://www.microsoft.com/security/blog/2020/03/26/alternative-security-professionals-it-achieve-modern-security-controls-todays-unique-remote-work-scenarios/).
+ The recommended configuration follows the **least privilege** principle for VPN traffic exceptions and allows customers to implement split tunnel VPN without exposing users or infrastructure to additional security risks. Network traffic routed directly to Microsoft 365 endpoints is encrypted, validated for integrity by Office client application stacks and scoped to IP addresses dedicated to Microsoft 365 services that are hardened at both the application and network level. For more information, see [Alternative ways for security professionals and IT to achieve modern security controls in today's unique remote work scenarios (Microsoft Security Team blog)](https://www.microsoft.com/security/blog/2020/03/26/alternative-security-professionals-it-achieve-modern-security-controls-todays-unique-remote-work-scenarios/).
- Is natively supported by most enterprise VPN platforms Microsoft continues to collaborate with industry partners producing commercial VPN solutions to help partners develop targeted guidance and configuration templates for their solutions in alignment with the above recommendations. For more information, see [HOWTO guides for common VPN platforms](microsoft-365-vpn-implement-split-tunnel.md#howto-guides-for-common-vpn-platforms). >[!TIP]
->Microsoft recommends focusing split tunnel VPN configuration on documented dedicated IP ranges for Office 365 services. FQDN or AppID-based split tunnel configurations, while possible on certain VPN client platforms, may not fully cover key Office 365 scenarios and may conflict with IP based VPN routing rules. For this reason, Microsoft does not recommend using Office 365 FQDNs to configure split tunnel VPN. The use of FQDN configuration may be useful in other related scenarios, such as .pac file customizations or to implement proxy bypass.
+>Microsoft recommends focusing split tunnel VPN configuration on documented dedicated IP ranges for Microsoft 365 services. FQDN or AppID-based split tunnel configurations, while possible on certain VPN client platforms, may not fully cover key Microsoft 365 scenarios and may conflict with IP based VPN routing rules. For this reason, Microsoft does not recommend using Microsoft 365 FQDNs to configure split tunnel VPN. The use of FQDN configuration may be useful in other related scenarios, such as .pac file customizations or to implement proxy bypass.
-For full implementation guidance, see [Implementing VPN split tunneling for Office 365](microsoft-365-vpn-implement-split-tunnel.md).
+For full implementation guidance, see [Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md).
For a step-by-step process to configure Microsoft 365 for remote workers, see [Set up your infrastructure for remote work](..\solutions\empower-people-to-work-remotely.md)
As organizations move data and applications to the cloud, this model has begun t
The COVID-19 crisis has aggravated this problem to require immediate solutions for the vast majority of organizations. Many customers have found that the forced VPN model is not scalable or performant enough for 100% remote work scenarios such as that which this crisis has necessitated. Rapid solutions are required for these organizations to continue to operate efficiently.
-For the Office 365 service, Microsoft has designed the connectivity requirements for the service with this problem squarely in mind, where a focused, tightly controlled and relatively static set of service endpoints can be optimized very simply and quickly so as to deliver high performance for users accessing the service, and reducing the burden on the VPN infrastructure so it can be used by traffic that still requires it.
+For the Microsoft 365 service, Microsoft has designed the connectivity requirements for the service with this problem squarely in mind, where a focused, tightly controlled and relatively static set of service endpoints can be optimized very simply and quickly so as to deliver high performance for users accessing the service, and reducing the burden on the VPN infrastructure so it can be used by traffic that still requires it.
-Office 365 categorizes the required endpoints for Office 365 into three categories: **Optimize**, **Allow**, and **Default**. **Optimize** endpoints are our focus here and have the following characteristics:
+Microsoft 365 categorizes the required endpoints for Microsoft 365 into three categories: **Optimize**, **Allow**, and **Default**. **Optimize** endpoints are our focus here and have the following characteristics:
- Are Microsoft owned and managed endpoints, hosted on Microsoft infrastructure-- Are dedicated to core Office 365 workloads such as Exchange Online, SharePoint Online, Skype for Business Online, and Microsoft Teams
+- Are dedicated to core Microsoft 365 workloads such as Exchange Online, SharePoint Online, Skype for Business Online, and Microsoft Teams
- Have IPs provided - Low rate of change and are expected to remain small in number (currently 20 IP subnets) - Are high volume and/or latency sensitive - Are able to have required security elements provided in the service rather than inline on the network-- Account for around 70-80% of the volume of traffic to the Office 365 service
+- Account for around 70-80% of the volume of traffic to the Microsoft 365 service
-This tightly scoped set of endpoints can be split out of the forced VPN tunnel and sent securely and directly to the Office 365 service via the user's local interface. This is known as **split tunneling**.
+This tightly scoped set of endpoints can be split out of the forced VPN tunnel and sent securely and directly to the Microsoft 365 service via the user's local interface. This is known as **split tunneling**.
Security elements such as DLP, AV protection, authentication, and access control can all be delivered much more efficiently against these endpoints at different layers within the service. As we also divert the bulk of the traffic volume away from the VPN solution, this frees the VPN capacity up for business critical traffic that still relies on it. It also should remove the need in many cases to go through a lengthy and costly upgrade program to deal with this new way of operating. ![Split Tunnel VPN configuration details.](../media/vpn-split-tunneling/vpn-split-tunnel-example.png)
-_Figure 3: A VPN split tunnel solution with defined Office 365 exceptions sent direct to the service. All other traffic is forced back into the corporate network regardless of destination._
+_Figure 3: A VPN split tunnel solution with defined Microsoft 365 exceptions sent direct to the service. All other traffic is forced back into the corporate network regardless of destination._
From a security perspective, Microsoft has an array of security features which can be used to provide similar, or even enhanced security than that delivered by inline inspection by on premises security stacks. The Microsoft Security team's blog post [Alternative ways for security professionals and IT to achieve modern security controls in today's unique remote work scenarios](https://www.microsoft.com/security/blog/2020/03/26/alternative-security-professionals-it-achieve-modern-security-controls-todays-unique-remote-work-scenarios/) has a clear summary of features available and you'll find more detailed guidance within this article. You can also read about Microsoft's implementation of VPN split tunneling at [Running on VPN: How Microsoft is keeping its remote workforce connected](https://www.microsoft.com/itshowcase/blog/running-on-vpn-how-microsoft-is-keeping-its-remote-workforce-connected/?elevate-lv).
-In many cases, this implementation can be achieved in a matter of hours, allowing rapid resolution to one of the most pressing problems facing organizations as they rapidly shift to full scale remote working. For VPN split tunnel implementation guidance, see [Implementing VPN split tunneling for Office 365](microsoft-365-vpn-implement-split-tunnel.md).
+In many cases, this implementation can be achieved in a matter of hours, allowing rapid resolution to one of the most pressing problems facing organizations as they rapidly shift to full scale remote working. For VPN split tunnel implementation guidance, see [Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md).
+
+## FAQ
+
+The Microsoft Security Team has published [Alternative ways for security professionals and IT to achieve modern security controls in todayΓÇÖs unique remote work scenarios](https://www.microsoft.com/security/blog/2020/03/26/alternative-security-professionals-it-achieve-modern-security-controls-todays-unique-remote-work-scenarios/), a blog post, that outlines key ways for security professionals and IT can achieve modern security controls in today's unique remote work scenarios. In addition, below are some of the common customer questions and answers on this subject.
+
+### How do I stop users accessing other tenants I do not trust where they could exfiltrate data?
+
+The answer is a [feature called tenant restrictions](/azure/active-directory/manage-apps/tenant-restrictions). Authentication traffic isn't high volume nor especially latency sensitive so can be sent through the VPN solution to the on-premises proxy where the feature is applied. An allow list of trusted tenants is maintained here and if the client attempts to obtain a token to a tenant that isn't trusted, the proxy simply denies the request. If the tenant is trusted, then a token is accessible if the user has the right credentials and rights.
+
+So even though a user can make a TCP/UDP connection to the Optimize marked endpoints above, without a valid token to access the tenant in question, they simply cannot log in and access/move any data.
+
+### Does this model allow access to consumer services such as personal OneDrive accounts?
+
+No, it does not, the Microsoft 365 endpoints aren't the same as the consumer services (Onedrive.live.com as an example) so the split tunnel won't allow a user to directly access consumer services. Traffic to consumer endpoints will continue to use the VPN tunnel and existing policies will continue to apply.
+
+### How do I apply DLP and protect my sensitive data when the traffic no longer flows through my on-premises solution?
+
+To help you prevent the accidental disclosure of sensitive information, Microsoft 365 has a rich set of [built-in tools](../compliance/information-protection.md). You can use the built-in [DLP capabilities](../compliance/dlp-learn-about-dlp.md) of Teams and SharePoint to detect inappropriately stored or shared sensitive information. If part of your remote work strategy involves a bring-your-own-device (BYOD) policy, you can use [app-based Conditional Access](/azure/active-directory/conditional-access/app-based-conditional-access) to prevent sensitive data from being downloaded to users' personal devices
+
+### How do I evaluate and maintain control of the user's authentication when they are connecting directly?
+
+In addition to the tenant restrictions feature noted in Q1, [conditional access policies](/azure/active-directory/conditional-access/overview) can be applied to dynamically assess the risk of an authentication request and react appropriately. Microsoft recommends the [Zero Trust model](https://www.microsoft.com/security/zero-trust?rtc=1) is implemented over time and we can use Azure AD conditional access policies to maintain control in a mobile and cloud-first world. Conditional access policies can be used to make a real-time decision on whether an authentication request is successful based on numerous factors such as:
+
+- Device, is the device known/trusted/Domain joined?
+- IP ΓÇô is the authentication request coming from a known corporate IP address? Or from a country we do not trust?
+- Application ΓÇô Is the user authorized to use this application?
+
+We can then trigger policy such as approve, trigger MFA or block authentication based on these policies.
-## Related topics
+### How do I protect against viruses and malware?
-[Implementing VPN split tunneling for Office 365](microsoft-365-vpn-implement-split-tunnel.md)
+Again, Microsoft 365 provides protection for the Optimize marked endpoints in various layers in the service itself, [outlined in this document](/office365/Enterprise/office-365-malware-and-ransomware-protection). As noted, It's vastly more efficient to provide these security elements in the service itself rather than try to do it in line with devices that may not fully understand the protocols/traffic. By default, SharePoint Online [automatically scans file uploads](../security/office-365-security/virus-detection-in-spo.md) for known malware
-[Office 365 performance optimization for China users](microsoft-365-networking-china.md)
+For the Exchange endpoints listed above, [Exchange Online Protection](/office365/servicedescriptions/exchange-online-protection-service-description/exchange-online-protection-service-description) and [Microsoft Defender for Microsoft 365](/office365/servicedescriptions/office-365-advanced-threat-protection-service-description) do an excellent job of providing security of the traffic to the service.
+
+### Can I send more than just the Optimize traffic direct?
+
+Priority should be given to the **Optimize** marked endpoints as these will give maximum benefit for a low level of work. However, if you wish, the Allow marked endpoints are required for the service to work and have IP addresses provided for the endpoints that can be used if necessary.
+
+There are also various vendors who offer cloud-based proxy/security solutions called _secure web gateways_ which provide central security, control, and corporate policy application for general web browsing. These solutions can work well in a cloud-first world, if highly available, performant, and provisioned close to your users by allowing secure Internet access to be delivered from a cloud-based location close to the user. This removes the need for a hairpin through the VPN/corporate network for general browsing traffic, while still allowing central security control.
+
+Even with these solutions in place however, Microsoft still strongly recommends that Optimize marked Microsoft 365 traffic is sent direct to the service.
+
+For guidance on allowing direct access to an Azure Virtual Network, see [Remote work using Azure VPN Gateway Point-to-site](/azure/vpn-gateway/work-remotely-support).
+
+### Why is port 80 required? Is traffic sent in the clear?
+
+Port 80 is only used for things like redirect to a port 443 session, no customer data is sent or is accessible over port 80. [Encryption](../compliance/encryption.md) outlines encryption for data in transit and at rest for Microsoft 365, and [Types of traffic](/microsoftteams/microsoft-teams-online-call-flows#types-of-traffic) outlines how we use SRTP to protect Teams media traffic.
+
+### Does this advice apply to users in China using a worldwide instance of Microsoft 365?
+
+**No**, it does not. The one caveat to the above advice is users in the PRC who are connecting to a worldwide instance of Microsoft 365. Due to the common occurrence of cross border network congestion in the region, direct Internet egress performance can be variable. Most customers in the region operate using a VPN to bring the traffic into the corporate network and utilize their authorized MPLS circuit or similar to egress outside the country via an optimized path. This is outlined further in the article [Microsoft 365 performance optimization for China users](microsoft-365-networking-china.md).
+
+### Does split-tunnel configuration work for Teams running in a browser?
+
+Yes, with caveats. Most Teams functionality is supported in the browsers listed in [Get clients for Microsoft Teams](/microsoftteams/get-clients#web-client).
+
+In addition, Microsoft Edge **96 and above** supports VPN split tunneling for peer-to-peer traffic by enabling the Edge [WebRtcRespectOsRoutingTableEnabled](/deployedge/microsoft-edge-policies#webrtcrespectosroutingtableenabled) policy. At this time, other browsers may not support VPN split tunneling for peer-to-peer traffic.
+
+## Related articles
+
+[Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md)
+
+[Common VPN split tunneling scenarios for Microsoft 365](microsoft-365-vpn-common-scenarios.md)
+
+[Securing Teams media traffic for VPN split tunneling](microsoft-365-vpn-securing-teams.md)
+
+[Special considerations for Stream and live events in VPN environments](microsoft-365-vpn-stream-and-live-events.md)
+
+[Microsoft 365 performance optimization for China users](microsoft-365-networking-china.md)
+
+[Microsoft 365 Network Connectivity Principles](microsoft-365-network-connectivity-principles.md)
+
+[Assessing Microsoft 365 network connectivity](assessing-network-connectivity.md)
+
+[Microsoft 365 network and performance tuning](network-planning-and-performance.md)
[Alternative ways for security professionals and IT to achieve modern security controls in today's unique remote work scenarios (Microsoft Security Team blog)](https://www.microsoft.com/security/blog/2020/03/26/alternative-security-professionals-it-achieve-modern-security-controls-todays-unique-remote-work-scenarios/)
In many cases, this implementation can be achieved in a matter of hours, allowin
[Running on VPN: How Microsoft is keeping its remote workforce connected](https://www.microsoft.com/itshowcase/blog/running-on-vpn-how-microsoft-is-keeping-its-remote-workforce-connected/?elevate-lv)
-[Office 365 Network Connectivity Principles](microsoft-365-network-connectivity-principles.md)
-
-[Assessing Office 365 network connectivity](assessing-network-connectivity.md)
-
-[Microsoft 365 connectivity test](https://aka.ms/netonboard)
+[Microsoft global network](/azure/networking/microsoft-global-network)
enterprise Microsoft 365 Vpn Stream And Live Events https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/enterprise/microsoft-365-vpn-stream-and-live-events.md
+
+ Title: "Special considerations for Stream and live events in VPN environments"
+++ Last updated : 3/3/2022
+audience: Admin
++
+ms.localizationpriority: medium
+search.appverid:
+- MET150
+
+- Ent_O365
+- Strat_O365_Enterprise
+- remotework
+f1.keywords:
+- NOCSH
+description: "Special considerations for Stream and live events in VPN environments"
++
+# Special considerations for Stream and live events in VPN environments
+
+>[!NOTE]
+>This article is part of a set of articles that address Microsoft 365 optimization for remote users.
+
+>- For an overview of using VPN split tunneling to optimize Microsoft 365 connectivity for remote users, see [Overview: VPN split tunneling for Microsoft 365](microsoft-365-vpn-split-tunnel.md).
+>- For detailed guidance on implementing VPN split tunneling, see [Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md).
+>- For a detailed list of VPN split tunneling scenarios, see [Common VPN split tunneling scenarios for Microsoft 365](microsoft-365-vpn-common-scenarios.md).
+>- For guidance on securing Teams media traffic in VPN split tunneling environments, see [Securing Teams media traffic for VPN split tunneling](microsoft-365-vpn-securing-teams.md).
+>- For information about optimizing Microsoft 365 worldwide tenant performance for users in China, see [Microsoft 365 performance optimization for China users](microsoft-365-networking-china.md).
+
+Microsoft 365 Live Events traffic (this includes attendees to Teams-produced live events and those produced with an external encoder via Teams, Stream, or Yammer) and on-demand Stream traffic is currently categorized as **Default** versus **Optimize** in the [URL/IP list for the service](urls-and-ip-address-ranges.md). These endpoints are categorized as **Default** because they're hosted on CDNs that may also be used by other services. Customers generally prefer to proxy this type of traffic and apply any security elements normally done on endpoints such as these.
+
+Many customers have asked for URL/IP data needed to connect their users to Stream/Live Events directly from their local internet connection, rather than route the high-volume and latency-sensitive traffic via the VPN infrastructure. Typically, this isn't possible without both dedicated namespaces and accurate IP information for the endpoints, which isn't provided for Microsoft 365 endpoints categorized as **Default**.
+
+Use the following steps to enable direct connectivity for the Stream/Live Events service from clients using a forced tunnel VPN. This solution is intended to provide customers with an option to avoid routing Live Events traffic over VPN while there is high network traffic due to work-from-home scenarios. If possible, it's advised to access the service through an inspecting proxy.
+
+>[!NOTE]
+>Using this solution, there may be service elements that do not resolve to the IP addresses provided and thus traverse the VPN, but the bulk of high-volume traffic like streaming data should. There may be other elements outside the scope of Live Events/Stream which get caught by this offload, but these should be limited as they must meet both the FQDN _and_ the IP match before going direct.
+
+>[!IMPORTANT]
+>Customers are advised to weigh the risk of sending more traffic that bypasses the VPN over the performance gain for Live Events.
+
+To implement the forced tunnel exception for Teams Live Events and Stream, the following steps should be applied:
+
+## 1. Configure external DNS resolution
+
+Clients need external, recursive DNS resolution to be available so that the following host names can be resolved to IP addresses.
+
+- \*.azureedge.net
+- \*.media.azure.net
+- \*.bmc.cdn.office.net
+
+**\*.azureedge.net** is used for Stream events ([Configure encoders for live streaming in Microsoft Stream - Microsoft Stream | Microsoft Docs](/stream/live-encoder-setup)).
+
+**\*.media.azure.net** and **\*.bmc.cdn.office.net** are used for Teams-produced Live Events (Quick Start events, RTMP-In supported events [Roadmap ID 84960]) scheduled from the Teams client.
+
+ Some of these endpoints are shared with other elements outside of Stream/Live Events, it isn't advised to just use these FQDNs to configure VPN offload even if technically possible in your VPN solution (eg if it works at the FQDN rather than IP).
+
+FQDNs aren't required in the VPN configuration, they are purely for use in PAC files in combination with the IPs to send the relevant traffic direct.
+
+## 2. Implement PAC file changes (where required)
+
+For organizations that utilize a PAC file to route traffic through a proxy while on VPN, this is normally achieved using FQDNs. However, with Stream/Live Events, the host names provided contain wildcards such as **\*.azureedge.net**, which also encompasses other elements for which it isn't possible to provide full IP listings. Thus, if the request is sent direct based on DNS wildcard match alone, traffic to these endpoints will be blocked as there is no route via the direct path for it in [Step 3](#3-configure-routing-on-the-vpn-to-enable-direct-egress) later in this article.
+
+To solve this, we can provide the following IPs and use them in combination with the host names in an example PAC file as described in [Step 1](#1-configure-external-dns-resolution). The PAC file checks if the URL matches those used for Stream/Live Events and then if it does, it then also checks to see if the IP returned from a DNS lookup matches those provided for the service. If _both_ match, then the traffic is routed direct. If either element (FQDN/IP) doesn't match, then the traffic is sent to the proxy. As a result, the configuration ensures that anything which resolves to an IP outside of the scope of both the IP and defined namespaces will traverse the proxy via the VPN as normal.
+
+### Gathering the current lists of CDN Endpoints
+
+Live Events uses multiple CDN providers to stream to customers, to provide the best coverage, quality, and resiliency. Currently, both Azure CDN from Microsoft and from Verizon are used. Over time this could be changed due to situations such as regional availability. This article is a source to enable you to keep up to date on IP ranges.
+
+For Azure CDN from Microsoft, you can download the list from [Download Azure IP Ranges and Service Tags ΓÇô Public Cloud from Official Microsoft Download Center](https://www.microsoft.com/download/details.aspx?id=56519) - you will need to look specifically for the service tag *AzureFrontdoor.Frontend* in the JSON; *addressPrefixes* will show the IPv4/IPv6 subnets. Over time the IPs can change, but the service tag list is always updated before they are put in use.
+
+For Azure CDN from Verizon (Edgecast) you can find an exhaustive list using [https://docs.microsoft.com/rest/api/cdn/edge-nodes/list](/rest/api/cdn/edge-nodes/list) (click **Try It** ) - you will need to look specifically for the **Premium\_Verizon** section. Note that this API shows all Edgecast IPs (origin and Anycast). Currently there isn't a mechanism for the API to distinguish between origin and Anycast.
+
+To implement this in a PAC file you can use the following example which sends the Microsoft 365 Optimize traffic direct (which is recommended best practice) via FQDN, and the critical Stream/Live Events traffic direct via a combination of the FQDN and the returned IP address. The placeholder name _Contoso_ would need to be edited to your specific tenant's name where _contoso_ is from contoso.onmicrosoft.com
+
+#### Example PAC file
+
+Here is an example of how to generate the PAC files:
+
+1. Save the script below to your local hard disk as _Get-TLEPacFile.ps1_.
+1. Go to the [Verizon URL](/rest/api/cdn/edge-nodes/list#code-try-0) and download the resulting JSON (copy paste it into a file like cdnedgenodes.json)
+1. Put the file into the same folder as the script.
+1. In a PowerShell window, run the following command. Change out the tenant name for something else if you want the SPO URLs. This is Type 2, so **Optimize** and **Allow** (Type 1 is Optimize only).
+
+ ```powershell
+ .\Get-TLEPacFile.ps1 -Instance Worldwide -Type 2 -TenantName <contoso> -CdnEdgeNodesFilePath .\cdnedgenodes.json -FilePath TLE.pac
+ ```
+
+5. The TLE.pac file will contain all the namespaces and IPs (IPv4/IPv6).
+
+##### Get-TLEPacFile.ps1
+
+```powershell
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License.
+
+<#PSScriptInfo
+
+.VERSION 1.0.4
+
+.AUTHOR Microsoft Corporation
+
+.GUID 7f692977-e76c-4582-97d5-9989850a2529
+
+.COMPANYNAME Microsoft
+
+.COPYRIGHT
+Copyright (c) Microsoft Corporation. All rights reserved.
+Licensed under the MIT License.
+
+.TAGS PAC Microsoft Microsoft365 365
+
+.LICENSEURI
+
+.PROJECTURI http://aka.ms/ipurlws
+
+.ICONURI
+
+.EXTERNALMODULEDEPENDENCIES
+
+.REQUIREDSCRIPTS
+
+.EXTERNALSCRIPTDEPENDENCIES
+
+.RELEASENOTES
+
+#>
+
+<#
+
+.SYNOPSIS
+
+Create a PAC file for Microsoft 365 prioritized connectivity
+
+.DESCRIPTION
+
+This script will access updated information to create a PAC file to prioritize Microsoft 365 Urls for
+better access to the service. This script will allow you to create different types of files depending
+on how traffic needs to be prioritized.
+
+.PARAMETER Instance
+
+The service instance inside Microsoft 365.
+
+.PARAMETER ClientRequestId
+
+The client request id to connect to the web service to query up to date Urls.
+
+.PARAMETER DirectProxySettings
+
+The direct proxy settings for priority traffic.
+
+.PARAMETER DefaultProxySettings
+
+The default proxy settings for non priority traffic.
+
+.PARAMETER Type
+
+The type of prioritization to give. Valid values are 1 and 2, which are 2 different modes of operation.
+Type 1 will send Optimize traffic to the direct route. Type 2 will send Optimize and Allow traffic to
+the direct route.
+
+.PARAMETER Lowercase
+
+Flag this to include lowercase transformation into the PAC file for the host name matching.
+
+.PARAMETER TenantName
+
+The tenant name to replace wildcard Urls in the webservice.
+
+.PARAMETER ServiceAreas
+
+The service areas to filter endpoints by in the webservice.
+
+.PARAMETER FilePath
+
+The file to print the content to.
+
+.EXAMPLE
+
+Get-TLEPacFile.ps1 -ClientRequestId b10c5ed1-bad1-445f-b386-b919946339a7 -DefaultProxySettings "PROXY 4.4.4.4:70" -FilePath type1.pac
+
+.EXAMPLE
+
+Get-TLEPacFile.ps1 -ClientRequestId b10c5ed1-bad1-445f-b386-b919946339a7 -Instance China -Type 2 -DefaultProxySettings "PROXY 4.4.4.4:70" -FilePath type2.pac
+
+.EXAMPLE
+
+Get-TLEPacFile.ps1 -ClientRequestId b10c5ed1-bad1-445f-b386-b919946339a7 -Instance WorldWide -Lowercase -TenantName tenantName -ServiceAreas Sharepoint
+
+#>
+
+#Requires -Version 2
+
+[CmdletBinding(SupportsShouldProcess=$True)]
+Param (
+ [Parameter(Mandatory = $false)]
+ [ValidateSet('Worldwide', 'Germany', 'China', 'USGovDoD', 'USGovGCCHigh')]
+ [String] $Instance = "Worldwide",
+
+ [Parameter(Mandatory = $false)]
+ [ValidateNotNullOrEmpty()]
+ [guid] $ClientRequestId = [Guid]::NewGuid().Guid,
+
+ [Parameter(Mandatory = $false)]
+ [ValidateNotNullOrEmpty()]
+ [String] $DirectProxySettings = 'DIRECT',
+
+ [Parameter(Mandatory = $false)]
+ [ValidateNotNullOrEmpty()]
+ [String] $DefaultProxySettings = 'PROXY 10.10.10.10:8080',
+
+ [Parameter(Mandatory = $false)]
+ [ValidateRange(1, 2)]
+ [int] $Type = 1,
+
+ [Parameter(Mandatory = $false)]
+ [switch] $Lowercase = $false,
+
+ [Parameter(Mandatory = $false)]
+ [ValidateNotNullOrEmpty()]
+ [string] $TenantName,
+
+ [Parameter(Mandatory = $false)]
+ [ValidateSet('Exchange', 'SharePoint', 'Common', 'Skype')]
+ [string[]] $ServiceAreas,
+
+ [Parameter(Mandatory = $false)]
+ [ValidateNotNullOrEmpty()]
+ [string] $FilePath,
+
+ [Parameter(Mandatory = $false)]
+ [ValidateNotNullOrEmpty()]
+ [string] $CdnEdgeNodesFilePath
+)
+
+##################################################################################################################
+### Global constants
+##################################################################################################################
+
+$baseServiceUrl = "https://endpoints.office.com/endpoints/$Instance/?ClientRequestId={$ClientRequestId}"
+$directProxyVarName = "direct"
+$defaultProxyVarName = "proxyServer"
+$bl = "`r`n"
+
+##################################################################################################################
+### Functions to create PAC files
+##################################################################################################################
+
+function Get-PacClauses
+{
+ param(
+ [Parameter(Mandatory = $false)]
+ [string[]] $Urls,
+
+ [Parameter(Mandatory = $true)]
+ [ValidateNotNullOrEmpty()]
+ [String] $ReturnVarName
+ )
+
+ if (!$Urls)
+ {
+ return ""
+ }
+
+ $clauses = (($Urls | ForEach-Object { "shExpMatch(host, `"$_`")" }) -Join "$bl || ")
+
+@"
+ if($clauses)
+ {
+ return $ReturnVarName;
+ }
+"@
+}
+
+function Get-PacString
+{
+ param(
+ [Parameter(Mandatory = $true)]
+ [ValidateNotNullOrEmpty()]
+ [array[]] $MapVarUrls
+ )
+
+@"
+// This PAC file will provide proxy config to Microsoft 365 services
+// using data from the public web service for all endpoints
+function FindProxyForURL(url, host)
+{
+ var $directProxyVarName = "$DirectProxySettings";
+ var $defaultProxyVarName = "$DefaultProxySettings";
+
+$( if ($Lowercase) { " host = host.toLowerCase();" })
+
+$( ($MapVarUrls | ForEach-Object { Get-PACClauses -ReturnVarName $_.Item1 -Urls $_.Item2 }) -Join "$bl$bl" )
+
+$( if (!$ServiceAreas -or $ServiceAreas.Contains('Skype')) { Get-TLEPacConfiguration })
+
+ return $defaultProxyVarName;
+}
+"@ -replace "($bl){3,}","$bl$bl" # Collapse more than one blank line in the PAC file so it looks better.
+}
+
+##################################################################################################################
+### Functions to get and filter endpoints
+##################################################################################################################
+
+function Get-TLEPacConfiguration {
+ param ()
+ $PreBlock = @"
+ // Don't Proxy Teams Live Events traffic
+
+ if(shExpMatch(host, "*.azureedge.net")
+ || shExpMatch(host, "*.bmc.cdn.office.net")
+ || shExpMatch(host, "*.media.azure.net"))
+ {
+ var resolved_ip = dnsResolveEx(host);
+
+"@
+ $TLESb = New-Object 'System.Text.StringBuilder'
+ $TLESb.Append($PreBlock) | Out-Null
+
+ if (![string]::IsNullOrEmpty($CdnEdgeNodesFilePath) -and (Test-Path -Path $CdnEdgeNodesFilePath)) {
+ $CdnData = Get-Content -Path $CdnEdgeNodesFilePath -Raw -ErrorAction SilentlyContinue | ConvertFrom-Json | Select-Object -ExpandProperty value |
+ Where-Object { $_.name -eq 'Premium_Verizon'} | Select-Object -First 1 -ExpandProperty properties |
+ Select-Object -ExpandProperty ipAddressGroups
+ $CdnData | Select-Object -ExpandProperty ipv4Addresses | ForEach-Object {
+ if ($TLESb.Length -eq $PreBlock.Length) {
+ $TLESb.Append(" if(") | Out-Null
+ }
+ else {
+ $TLESb.AppendLine() | Out-Null
+ $TLESb.Append(" || ") | Out-Null
+ }
+ $TLESb.Append("isInNetEx(resolved_ip, `"$($_.BaseIpAddress)/$($_.prefixLength)`")") | Out-Null
+ }
+ $CdnData | Select-Object -ExpandProperty ipv6Addresses | ForEach-Object {
+ if ($TLESb.Length -eq $PreBlock.Length) {
+ $TLESb.Append(" if(") | Out-Null
+ }
+ else {
+ $TLESb.AppendLine() | Out-Null
+ $TLESb.Append(" || ") | Out-Null
+ }
+ $TLESb.Append("isInNetEx(resolved_ip, `"$($_.BaseIpAddress)/$($_.prefixLength)`")") | Out-Null
+ }
+ }
+ $AzureIPsUrl = Invoke-WebRequest -Uri "https://www.microsoft.com/en-us/download/confirmation.aspx?id=56519" -UseBasicParsing -ErrorAction SilentlyContinue |
+ Select-Object -ExpandProperty Links | Select-Object -ExpandProperty href |
+ Where-Object { $_.EndsWith('.json') -and $_ -match 'ServiceTags' } | Select-Object -First 1
+ if ($AzureIPsUrl) {
+ Invoke-RestMethod -Uri $AzureIPsUrl -ErrorAction SilentlyContinue | Select-Object -ExpandProperty values |
+ Where-Object { $_.name -eq 'AzureFrontDoor.Frontend' } | Select-Object -First 1 -ExpandProperty properties |
+ Select-Object -ExpandProperty addressPrefixes | ForEach-Object {
+ if ($TLESb.Length -eq $PreBlock.Length) {
+ $TLESb.Append(" if(") | Out-Null
+ }
+ else {
+ $TLESb.AppendLine() | Out-Null
+ $TLESb.Append(" || ") | Out-Null
+ }
+ $TLESb.Append("isInNetEx(resolved_ip, `"$_`")") | Out-Null
+ }
+ }
+ if ($TLESb.Length -gt $PreBlock.Length) {
+ $TLESb.AppendLine(")") | Out-Null
+ $TLESb.AppendLine(" {") | Out-Null
+ $TLESb.AppendLine(" return $directProxyVarName;") | Out-Null
+ $TLESb.AppendLine(" }") | Out-Null
+ }
+ else {
+ $TLESb.AppendLine(" // no addresses found for service via script") | Out-Null
+ }
+ $TLESb.AppendLine(" }") | Out-Null
+ return $TLESb.ToString()
+}
+
+function Get-Regex
+{
+ param(
+ [Parameter(Mandatory = $true)]
+ [ValidateNotNullOrEmpty()]
+ [string] $Fqdn
+ )
+
+ return "^" + $Fqdn.Replace(".", "\.").Replace("*", ".*").Replace("?", ".?") + "$"
+}
+
+function Match-RegexList
+{
+ param(
+ [Parameter(Mandatory = $true)]
+ [ValidateNotNullOrEmpty()]
+ [string] $ToMatch,
+
+ [Parameter(Mandatory = $false)]
+ [string[]] $MatchList
+ )
+
+ if (!$MatchList)
+ {
+ return $false
+ }
+ foreach ($regex in $MatchList)
+ {
+ if ($regex -ne $ToMatch -and $ToMatch -match (Get-Regex $regex))
+ {
+ return $true
+ }
+ }
+ return $false
+}
+
+function Get-Endpoints
+{
+ $url = $baseServiceUrl
+ if ($TenantName)
+ {
+ $url += "&TenantName=$TenantName"
+ }
+ if ($ServiceAreas)
+ {
+ $url += "&ServiceAreas=" + ($ServiceAreas -Join ",")
+ }
+ return Invoke-RestMethod -Uri $url
+}
+
+function Get-Urls
+{
+ param(
+ [Parameter(Mandatory = $false)]
+ [psobject[]] $Endpoints
+ )
+
+ if ($Endpoints)
+ {
+ return $Endpoints | Where-Object { $_.urls } | ForEach-Object { $_.urls } | Sort-Object -Unique
+ }
+ return @()
+}
+
+function Get-UrlVarTuple
+{
+ param(
+ [Parameter(Mandatory = $true)]
+ [ValidateNotNullOrEmpty()]
+ [string] $VarName,
+
+ [Parameter(Mandatory = $false)]
+ [string[]] $Urls
+ )
+ return New-Object 'Tuple[string,string[]]'($VarName, $Urls)
+}
+
+function Get-MapVarUrls
+{
+ Write-Verbose "Retrieving all endpoints for instance $Instance from web service."
+ $Endpoints = Get-Endpoints
+
+ if ($Type -eq 1)
+ {
+ $directUrls = Get-Urls ($Endpoints | Where-Object { $_.category -eq "Optimize" })
+ $nonDirectPriorityUrls = Get-Urls ($Endpoints | Where-Object { $_.category -ne "Optimize" }) | Where-Object { Match-RegexList $_ $directUrls }
+ return @(
+ Get-UrlVarTuple -VarName $defaultProxyVarName -Urls $nonDirectPriorityUrls
+ Get-UrlVarTuple -VarName $directProxyVarName -Urls $directUrls
+ )
+ }
+ elseif ($Type -eq 2)
+ {
+ $directUrls = Get-Urls ($Endpoints | Where-Object { $_.category -in @("Optimize", "Allow")})
+ $nonDirectPriorityUrls = Get-Urls ($Endpoints | Where-Object { $_.category -notin @("Optimize", "Allow") }) | Where-Object { Match-RegexList $_ $directUrls }
+ return @(
+ Get-UrlVarTuple -VarName $defaultProxyVarName -Urls $nonDirectPriorityUrls
+ Get-UrlVarTuple -VarName $directProxyVarName -Urls $directUrls
+ )
+ }
+}
+
+##################################################################################################################
+### Main script
+##################################################################################################################
+
+$content = Get-PacString (Get-MapVarUrls)
+
+if ($FilePath)
+{
+ $content | Out-File -FilePath $FilePath -Encoding ascii
+}
+else
+{
+ $content
+}
+```
+
+The script will automatically parse the Azure list based on the [download URL](https://www.microsoft.com/download/details.aspx?id=56519) and keys off of **AzureFrontDoor.Frontend**, so there is no need to get that manually.
+
+Again, it isn't advised to perform VPN offload using just the FQDNs; utilizing **both** the FQDNs and the IP addresses in the function helps scope the use of this offload to a limited set of endpoints including Live Events/Stream. The way the function is structured will result in a DNS lookup being done for the FQDN that matches those listed by the client directly, i.e. DNS resolution of the remaining namespaces remains unchanged.
+
+If you wish to limit the risk of offloading endpoints not related to Live Events and Stream, you can remove the **\*.azureedge.net** domain from the configuration which is where most of this risk lies as this is a shared domain used for all Azure CDN customers. The downside of this is that any event using an external encoder won't be optimized but events produced/organized within Teams will be.
+
+## 3. Configure routing on the VPN to enable direct egress
+
+The final step is to add a direct route for the Live Event IPs described in **Gathering the current lists of CDN Endpoints** into the VPN configuration to ensure the traffic isn't sent via the forced tunnel into the VPN. Detailed information on how to do this for Microsoft 365 Optimize endpoints can be found in the [Implement VPN split tunneling](microsoft-365-vpn-implement-split-tunnel.md#implement-vpn-split-tunneling) section of [Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md). The process is exactly the same for the Stream/Live Events IPs listed in this document.
+
+Note that only the IPs (not FQDNs) from [Gathering the current lists of CDN Endpoints](#gathering-the-current-lists-of-cdn-endpoints) should be used for VPN configuration.
+
+## FAQ
+
+### Will this send all my traffic to the service direct?
+
+No, this will send the latency-sensitive streaming traffic for a Live Event or Stream video direct, any other traffic will continue to use the VPN tunnel if they do not resolve to the IPs published.
+
+### Do I need to use the IPv6 Addresses?
+
+No, the connectivity can be IPv4 only if required.
+
+### Why are these IPs not published in the Microsoft 365 URL/IP service?
+
+Microsoft has strict controls around the format and type of information that is in the service to ensure customers can reliably use the information to implement secure and optimal routing based on endpoint category.
+
+The **Default** endpoint category has no IP information provided for numerous reasons (Default endpoints may be outside of the control of Microsoft, may change too frequently, or may be in blocks shared with other elements). For this reason, Default endpoints are designed to be sent via FQDN to an inspecting proxy, like normal web traffic.
+
+In this case, the above endpoints are CDNs that may be used by non-Microsoft controlled elements other than Live Events or Stream, and thus sending the traffic direct will also mean anything else which resolves to these IPs will also be sent direct from the client. Due to the unique nature of the current global crisis and to meet the short-term needs of our customers, Microsoft has provided the information above for customers to use as they see fit.
+
+Microsoft is working to reconfigure the Live Events endpoints to allow them to be included in the Allow/Optimize endpoint categories in the future.
+
+### Do I only need to allow access to these IPs?
+
+No, access to all of the **Required** marked endpoints in [the URL/IP service](urls-and-ip-address-ranges.md) is essential for the service to operate. In addition, any Optional endpoint marked for Stream (ID 41-45) is required.
+
+### What scenarios will this advice cover?
+
+1. Live events produced within the Teams App
+2. Viewing Stream hosted content
+3. External device (encoder) produced events
+
+### Does this advice cover presenter traffic?
+
+It does not, the advice above is purely for those consuming the service. Presenting from within Teams will see the presenter's traffic flowing to the Optimize marked UDP endpoints listed in URL/IP service row 11 with detailed VPN offload advice outlined in the [Implement VPN split tunneling](microsoft-365-vpn-implement-split-tunnel.md#implement-vpn-split-tunneling) section of [Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md).
+
+### Does this configuration risk traffic other than Live Events &amp; Stream being sent direct?
+
+Yes, due to shared FQDNs used for some elements of the service, this is unavoidable. This traffic is normally sent via a corporate proxy which can apply inspection. In a VPN split tunnel scenario, using both the FQDNs and IPs will scope this risk down to a minimum, but it will still exist. Customers can remove the **\*.azureedge.net** domain from the offload configuration and reduce this risk to a bare minimum but this will remove the offload of Stream-supported Live Events (Teams-scheduled, external encoder events, Yammer events produced in Teams, Yammer-scheduled external encoder events, and Stream scheduled events or on-demand viewing from Stream). Events scheduled and produced in Teams are unaffected.
+
+## Related articles
+
+[Overview: VPN split tunneling for Microsoft 365](microsoft-365-vpn-split-tunnel.md)
+
+[Implementing VPN split tunneling for Microsoft 365](microsoft-365-vpn-implement-split-tunnel.md)
+
+[Common VPN split tunneling scenarios for Microsoft 365](microsoft-365-vpn-common-scenarios.md)
+
+[Securing Teams media traffic for VPN split tunneling](microsoft-365-vpn-securing-teams.md)
+
+[Microsoft 365 performance optimization for China users](microsoft-365-networking-china.md)
+
+[Microsoft 365 Network Connectivity Principles](microsoft-365-network-connectivity-principles.md)
+
+[Assessing Microsoft 365 network connectivity](assessing-network-connectivity.md)
+
+[Microsoft 365 network and performance tuning](network-planning-and-performance.md)
+
+[Alternative ways for security professionals and IT to achieve modern security controls in today's unique remote work scenarios (Microsoft Security Team blog)](https://www.microsoft.com/security/blog/2020/03/26/alternative-security-professionals-it-achieve-modern-security-controls-todays-unique-remote-work-scenarios/)
+
+[Enhancing VPN performance at Microsoft: using Windows 10 VPN profiles to allow auto-on connections](https://www.microsoft.com/itshowcase/enhancing-remote-access-in-windows-10-with-an-automatic-vpn-profile)
+
+[Running on VPN: How Microsoft is keeping its remote workforce connected](https://www.microsoft.com/itshowcase/blog/running-on-vpn-how-microsoft-is-keeping-its-remote-workforce-connected/?elevate-lv)
+
+[Microsoft global network](/azure/networking/microsoft-global-network)
enterprise Networking Roadmap Microsoft 365 https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/enterprise/networking-roadmap-microsoft-365.md
f1.keywords:
- NOCSH - Previously updated : 08/10/2020+ Last updated : 03/03/2022 audience: ITPro
- M365-subscription-management - Strat_O365_Enterprise
-description: The roadmap for implementing Microsoft 365 networking.
+description: The roadmap for planning, implementing and managing Microsoft 365 networking.
# Networking roadmap for Microsoft 365
-Microsoft 365 for enterprise includes collaboration and productivity cloud services, Microsoft Intune, and many identity and security services of Microsoft Azure. All of these cloud-based services rely on the security, performance, and reliability of connections from client devices over the Internet or dedicated circuits. To host these services and make them available to customers all over the world, Microsoft has designed a networking infrastructure that emphasizes performance and integration.
+Microsoft 365 for enterprise includes collaboration and productivity cloud services, Microsoft Intune, and many identity and security services of Microsoft Azure. All of these cloud-based services rely on the security, performance, and reliability of connections from client devices over the Internet or dedicated circuits. To host these services and make them available to customers all over the world, Microsoft has designed a networking infrastructure that emphasizes performance and integration.
-A crucial part of your Microsoft 365 onboarding is to ensure that your network and Internet connections are set up for optimized access. Configuring your on-premises network to access a globally distributed Software-as-a-Service (SaaS) cloud is different from a traditional network that is optimized for traffic to on-premises datacenters and a central Internet connection.
+A crucial part of your Microsoft 365 onboarding is to ensure that your network and Internet connections are set up for optimized access. Configuring your on-premises network to access a globally distributed Software-as-a-Service (SaaS) cloud is different from a traditional network that is optimized for traffic to on-premises datacenters and a central Internet connection.
Use these articles to understand the key differences and to modify your edge devices, client computers, and on-premises network to get the best performance for your on-premises users.
Use these articles to understand the key differences and to modify your edge dev
In the planning phase of your networking implementation: - [Understand how Microsoft 365 networking works](microsoft-365-networking-overview.md)
+- [Learn about network connectivity principles](microsoft-365-network-connectivity-principles.md)
- [Assess your current network connectivity](assessing-network-connectivity.md) - [Determine if ExpressRoute is right for your organization](network-planning-with-expressroute.md) - [Plan for your network devices](plan-for-network-devices.md)
In the deployment phase of your networking implementation:
- [Ensure your enterprise network is optimized for Microsoft 365 connectivity](set-up-network-for-microsoft-365.md) - [Add the DNS domains for your organization](../admin/setup/add-domain.md)
+- [Optimize connectivity for remote workers using VPN split tunneling](microsoft-365-vpn-split-tunnel.md)
+- [Configure CDN to improve network performance](office-365-cdn-quickstart.md)
- [Optimize your connectivity to Microsoft 365 endpoints](microsoft-365-ip-web-service.md)-- [Optimize connectivity for remote workers](microsoft-365-vpn-split-tunnel.md) - If needed, [configure ExpressRoute](azure-expressroute.md) ## Manage In the management phase of your networking implementation:
+- [Test and optimize using the Microsoft 365 network connectivity test tool](office-365-network-mac-perf-onboarding-tool.md)
- [Ensure that your network devices are using the latest Office 365 endpoints](microsoft-365-endpoints.md) - [Monitor and tune your networking performance](network-planning-and-performance.md)-- [Monitor your ExpressRoute connections](managing-expressroute-for-connectivity.md)
+- [Monitor your Microsoft 365 connectivity](monitor-connectivity.md)
## Network equipment vendors
-If you are a network equipment vendor, join the [Microsoft 365 Networking Partner Program](microsoft-365-networking-partner-program.md). Enroll in the program to build Microsoft 365 network connectivity principles into your products and solutions.
+If you are a network equipment vendor, join the [Microsoft 365 Networking Partner Program](microsoft-365-networking-partner-program.md). Enroll in the program to build Microsoft 365 network connectivity principles into your products and solutions.
## How Contoso did networking for Microsoft 365
See how the Contoso Corporation, a fictional but representative multi-national b
## Next step
-Start your networking planning with the [Microsoft 365 networking connectivity overview](microsoft-365-networking-overview.md).
+Start your networking planning with the [Microsoft 365 networking connectivity overview](microsoft-365-networking-overview.md).
managed-desktop Network https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/managed-desktop/get-ready/network.md
Quick Assist | remoteassistance.support.services.microsoft.com <br>relay.support
| SharePoint Online | \*.sharepoint.com <br>\ *.svc.ms <br>\<tenant\>.sharepoint.com <br>\<tenant\>-my.sharepoint.com <br>\<tenant\>-files.sharepoint.com <br>\<tenant\>-myfiles.sharepoint.com <br>\*.sharepointonline.com <br>cdn.sharepointonline.com <br>static.sharepointonline.com <br>spoprod-a.akamaihd.net <br>publiccdn.sharepointonline.com <br>privatecdn.sharepointonline.com | [Office 365 URLs and IP address ranges](/microsoft-365/enterprise/urls-and-ip-address-ranges) | | OneDrive for Business | admin.onedrive.com <br>officeclient.microsoft.com <br>odc.officeapps.live.com <br>skydrive.wns.windows.com <br>g.live.com <br>oneclient.sfx.ms <br>\*.log.optimizely.com <br>click.email.microsoftonline.com <br>ssw.live.com <br>storage.live.com | [Office 365 URLs and IP address ranges](/microsoft-365/enterprise/urls-and-ip-address-ranges) | Microsoft Teams | \*.teams.skype.com <br>\*.teams.microsoft.com <br>teams.microsoft.com <br>\*.asm.skype.com <br>\ *.cc.skype.com <br>\*.conv.skype.com <br>\*.dc.trouter.io <br>\*.msg.skype.com <br>prod.registrar.skype.com <br>prod.tpc.skype.com <br>\*.broker.skype.com <br>\*.config.skype.com <br>\*.pipe.skype.com <br>\*.pipe.aria.microsoft.com <br>config.edge.skype.com <br>pipe.skype.com <br>s-0001.s-msedge.net <br>s-0004.s-msedge.net <br>scsinstrument-ss-us.trafficmanager.net <br>scsquery-ss- <br>us.trafficmanager.net <br>scsquery-ss-eu.trafficmanager.net <br>scsquery-ss-asia.trafficmanager.net <br>\*.msedge.net <br>compass-ssl.microsoft.com <br>feedback.skype.com <br>\*.secure.skypeassets.com <br>mlccdnprod.azureedge.net <br>videoplayercdn.osi.office.net <br>\*.mstea.ms | [Office 365 URLs and IP address ranges](/microsoft-365/enterprise/urls-and-ip-address-ranges) |
-| Power BI | maxcdn.bootstrapcdn.com <br>ajax.aspnetcdn.com <br>netdna.bootstrapcdn.com <br>cdn.optimizely.com <br>google-analytics.com <br>\*.mktoresp.com <br>\*.aadcdn.microsoftonline-p.com <br>\*.msecnd.com <br>\*.localytics.com <br>ajax.aspnetcdn.com <br>\*.localytics.com <br>\*.virtualearth.net <br>platform.bing.com <br>powerbi.microsoft.com <br>c.microsoft.com <br>app.powerbi.com <br>\*.powerbi.com <br>dc.services.visualstudio.com <br>support.powerbi.com <br>powerbi.uservoice.com <br>go.microsoft.com <br>c1.microsoft.com <br>\*.azureedge.net |[Power BI & Express Route](/power-bi/service-admin-power-bi-expressroute)
+| Power BI | maxcdn.bootstrapcdn.com <br>ajax.aspnetcdn.com <br>netdna.bootstrapcdn.com <br>cdn.optimizely.com <br>google-analytics.com <br>\*.mktoresp.com <br>\*.aadcdn.microsoftonline-p.com <br>\*.msecnd.com <br>\*.localytics.com <br>ajax.aspnetcdn.com <br>\*.localytics.com <br>\*.virtualearth.net <br>platform.bing.com <br>powerbi.microsoft.com <br>c.microsoft.com <br>app.powerbi.com <br>\*.powerbi.com <br>dc.services.visualstudio.com <br>support.powerbi.com <br>go.microsoft.com <br>c1.microsoft.com <br>\*.azureedge.net |[Power BI & Express Route](/power-bi/service-admin-power-bi-expressroute)
| OneNote | apis.live.net <br>www.onedrive.com <br>login.microsoft.com <br>www.onenote.com <br>\*.onenote.com <br>\*.msecnd.net <br>\*.microsoft.com <br>\*.office.net <br>cdn.onenote.net <br>site-cdn.onenote.net <br>cdn.optimizely.com <br>Ajax.aspnetcdn.com <br>officeapps.live.com <br>\\*.onenote.com <br>\*cdn.onenote.net <br>contentstorage.osi.office.net <br>\*onenote.officeapps.live.com <br>\*.microsoft.com | [Office 365 URLs and IP address ranges](/microsoft-365/enterprise/urls-and-ip-address-ranges) | ## Steps to get ready for Microsoft Managed Desktop
security Mdb Onboard Devices https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/security/defender-business/mdb-onboard-devices.md
audience: Admin Previously updated : 03/02/2022 Last updated : 03/03/2022 ms.prod: m365-security ms.technology: mdb localization_priority: Normal
With Microsoft Defender for Business, you have several options to choose from fo
1. See your options for [onboarding devices](#device-onboarding-methods), and select one of the following methods: - [Automatic onboarding for Windows devices enrolled in Microsoft Endpoint Manager](#automatic-onboarding-for-windows-devices-enrolled-in-microsoft-endpoint-manager)
- - [Local script for evaluating Defender for Business](#local-script-in-defender-for-business)
+ - [Local script for Windows and Mac devices](#local-script-in-defender-for-business)
- [Microsoft Endpoint Manager (Microsoft Intune)](#microsoft-endpoint-manager) - [Microsoft Defender for Business security configuration](#microsoft-defender-for-business-security-configuration)
The automatic onboarding option applies to Windows devices only. Automatic onboa
If Windows devices are already enrolled in Endpoint Manager, Defender for Business will detect those devices while you are in the process of setting up and configuring Defender for Business. You'll be asked if you want to use automatic onboarding for all or some of your Windows devices. You can onboard all Windows devices at once, or select specific devices to start with, and then add more devices later.
-To learn more about automatic onboarding, see step 3 in [Use the wizard to set up Microsoft Defender for Business](mdb-use-wizard.md).
+To learn more about automatic onboarding, see step 2 in [Use the wizard to set up Microsoft Defender for Business](mdb-use-wizard.md).
## Local script in Defender for Business
Proceed to:
- [Step 5: Configure your security settings and policies in Microsoft Defender for Business](mdb-configure-security-settings.md) -- [Get started using Microsoft Defender for Business](mdb-get-started.md)
+- [Get started using Microsoft Defender for Business](mdb-get-started.md)
security Deployment Phases https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/security/defender-endpoint/deployment-phases.md
All these capabilities are available for Microsoft Defender for Endpoint license
### In scope -- Use of Microsoft Endpoint Manager and Microsoft Endpoint Manager to onboard endpoints into the service and configure capabilities
+- Use of Microsoft Endpoint Manager and Microsoft Endpoint Configuration Manager to onboard endpoints into the service and configure capabilities
- Enabling Defender for Endpoint endpoint detection and response (EDR) capabilities - Enabling Defender for Endpoint endpoint protection platform (EPP) capabilities - Next-generation protection
security Onboarding Endpoint Manager https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/security/defender-endpoint/onboarding-endpoint-manager.md
In the [Planning](deployment-strategy.md) topic, there were several methods prov
While Defender for Endpoint supports onboarding of various endpoints and tools, this article does not cover them. For information on general onboarding using other supported deployment tools and methods, see [Onboarding overview](onboarding.md).
-[Microsoft Endpoint Manager](/mem/endpoint-manager-overview) is a solution platform that unifies several services. It includes [Microsoft Intune](/mem/intune/fundamentals/what-is-intune)
---based device management.
+[Microsoft Endpoint Manager](/mem/endpoint-manager-overview) is a solution platform that unifies several services. It includes [Microsoft Intune](/mem/intune/fundamentals/what-is-intune)-based device management.
This topic guides users in:
security Admin Submission https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/security/office-365-security/admin-submission.md
For other ways to submit email messages, URLs, and attachments to Microsoft, see
- Admin submissions are throttled at the following rates: - Maximum submissions in any 15 minutes period: 150 submissions - Same submissions in a 24 hour period: 3 submissions
- - Same submissions in a 15 minute period: 1 submissions
+ - Same submissions in a 15 minute period: 1 submission
- For more information about how users can submit messages and files to Microsoft, see [Report messages and files to Microsoft](report-junk-email-messages-to-microsoft.md).
For other ways to submit email messages, URLs, and attachments to Microsoft, see
:::image type="content" alt-text="Send messages from portal." source="../../media/unified-submission-user-reported-message.png" lightbox="../../media/unified-submission-user-reported-message.png":::
-The reported message will be marked as a false positive or a false negative. An email notification be sent automatically from within the portal to the user who reported the message.
+The reported message will be marked as a false positive or a false negative. An email notification is sent automatically from within the portal to the user who reported the message.
### Submit a questionable email to Microsoft
-1. In the **Select the submission type** box, verify that **Email** is selected in the drop down list.
+1. In the **Select the submission type** box, verify that **Email** is selected in the dropdown list.
2. In the **Add the network message ID or upload the email file** section, use one of the following options: - **Add the email network message ID**: This is a GUID value that's available in the **X-MS-Exchange-Organization-Network-Message-Id** header in the message or in the **X-MS-Office365-Filtering-Correlation-Id** header in quarantined messages.
The reported message will be marked as a false positive or a false negative. An
### Send a suspect URL to Microsoft
-1. In the **Select the submission type** box, select **URL** from the drop down list.
+1. In the **Select the submission type** box, select **URL** from the dropdown list.
2. In the **URL** box that appears, enter the full URL (for example, `https://www.fabrikam.com/marketing.html`).
The reported message will be marked as a false positive or a false negative. An
### Submit a suspected email attachment to Microsoft
-1. In the **Select the submission type** box, select **Email attachment** from the drop down list.
+1. In the **Select the submission type** box, select **Email attachment** from the dropdown list.
2. In the **File** section that appears, click **Browse files**. In the dialog that opens, find and select the file, and then click **Open**.
The reported message will be marked as a false positive or a false negative. An
> [!div class="mx-imgBorder"] > ![New Filter options for admin submissions.](../../media/admin-submission-filters.png)
- - To group the entries, click **Group** and select one of the following values from the drop down list:
+ - To group the entries, click **Group** and select one of the following values from the dropdown list:
- **None** - **Type** - **Reason**
If you've deployed the [Report Message add-in](enable-the-report-message-add-in.
> [!div class="mx-imgBorder"] > ![New Filter options for user submissions.](../../media/admin-submission-reported-messages.png)
- - To group the entries, click **Group** and select one of the following values from the drop down list:
+ - To group the entries, click **Group** and select one of the following values from the dropdown list:
- **None** - **Reason** - **Sender**
Once a user submits a suspicious email to the custom mailbox, the user and admin
If you've configured the custom mailbox to intercept user-reported messages without sending the messages to Microsoft, you can find and send specific messages to Microsoft for analysis.
-On the **User reported messages** tab, select a message in the list, click **Submit to Microsoft for analysis**, and then select one of the following values from the drop down list:
+On the **User reported messages** tab, select a message in the list, click **Submit to Microsoft for analysis**, and then select one of the following values from the dropdown list:
- **Report clean** - **Report phishing**
security Attack Simulation Training https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/security/office-365-security/attack-simulation-training.md
The following settings are available:
- **Select launch time** - **Configure number of days to end simulation after**: The default value is 2. - **Enable region aware time zone delivery**: Deliver simulated attack messages to your employees during their working hours based on their region.
+- **Display the drive-by technique interstitial data gathered page**: You can show the overlay that comes up for the drive-bu URL technique attacks. To hide the overlay and go directly to the landing page, de-select this option.
When you're finished, click **Next**.
security Manage Tenant Allows https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/security/office-365-security/manage-tenant-allows.md
In the Microsoft 365 Defender portal at <https://security.microsoft.com>, go to
> - Entries for spoofed senders never expire. > - Spoof supports both allow and block. URL supports only allow.
-1. In the Microsoft 365 Defender portal at <https://security.microsoft.com>, go to **Email & collaboraton** \> **Policies & rules** \> **Threat policies** \> **Tenant Allow/Block Lists** in the **Rules** section. Or, to go directly to the **Tenant Allow/Block Lists** page, use <https://security.microsoft.com/tenantAllowBlockList>.
+1. In the Microsoft 365 Defender portal at <https://security.microsoft.com>, go to **Email & collaboration** \> **Policies & rules** \> **Threat policies** \> **Tenant Allow/Block Lists** in the **Rules** section. Or, to go directly to the **Tenant Allow/Block Lists** page, use <https://security.microsoft.com/tenantAllowBlockList>.
2. On the **Tenant Allow/Block List** page, select the **Spoofing** tab, and then click ![Add icon.](../../media/m365-cc-sc-create-icon.png) **Add**.
security Set Up Safe Links Policies https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/security/office-365-security/set-up-safe-links-policies.md
In Exchange Online PowerShell or standalone EOP PowerShell, you manage the polic
- For our recommended settings for Safe Links policies, see [Safe Links policy settings](recommended-settings-for-eop-and-office365.md#safe-links-policy-settings). -- Allow up to 30 minutes for a new or updated policy to be applied.
+- Allow up to 6 hours for a new or updated policy to be applied.
- [New features are continually being added to Microsoft Defender for Office 365](defender-for-office-365.md#new-features-in-microsoft-defender-for-office-365). As new features are added, you may need to make adjustments to your existing Safe Links policies.
security Tenant Allow Block List https://github.com/MicrosoftDocs/microsoft-365-docs/commits/public/microsoft-365/security/office-365-security/tenant-allow-block-list.md
For detailed syntax and parameter information, see [Get-TenantAllowBlockListSpoo
- URL entries that contain protocols (for example, `http://`, `https://`, or `ftp://`) will fail, because URL entries apply to all protocols. -- A username or password aren't supported or required.
+- A username or password isn't supported or required.
- Quotes (' or ") are invalid characters.