Управление конечными точками Office 365

Примечание:  Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .

Сетевое подключение к Office 365

08.03.2018 Через подключения к Office 365 проходит большое количество доверенных сетевых запросов, которые по возможности должны выполняться через ближайший к пользователю выход с небольшой задержкой. Некоторые подключения к Office 365 можно оптимизировать.

  1. Убедитесь, что в списках разрешений брандмауэра есть подключение к конечным точкам Office 365.

  2. Для подключения к интернет-ресурсам, содержащим знаки подстановки, и неопубликованным ресурсам используйте инфраструктуру прокси-серверов.

  3. Следите за тем, чтобы конфигурация сети периметра была оптимальной.

  4. Обеспечьте оптимальное подключение.

  5. Чтение Сетевого подключения к Office 365 принципы чтобы понять принципы подключения для безопасного управления трафик Office 365 и получение оптимальной производительности.

Подключение к Office 365 через брандмауэры и прокси-серверы.

Обновление исходящих списков разрешений брандмауэра

Для оптимизации сети можно отправлять все доверенные сетевые запросы Office 365 напрямую через брандмауэр, не выполняя дополнительную проверку или обработку на уровне пакетов. Это уменьшит отрицательное влияние на производительность, вызванное задержками, и снизит требования к емкости сети периметра. Для выбора доверенных сетевых запросов проще всего использовать готовые PAC-файлы, которые можно найти на вкладке Прокси-серверы выше.

Если брандмауэр блокирует исходящий трафик, следует убедиться, что все IP-адреса и полные доменные имена, указанные как обязательные в этом XML-файле, присутствуют в списке разрешений. Определите все сервисы, требующие использования сторонних служб. Мы не предоставляем IP-адреса для сторонних служб, таких как поставщики сертификатов, сети доставки содержимого, поставщики DNS и т. д. Чтобы использовать все функции Office 365, необходимо обеспечить связь со всеми назначениями, запрашиваемыми из Office 365, независимо от количества информации, опубликованной о таких местах назначения.

Для многих назначений не опубликованы IP-адреса или указаны неполные доменные имена с подстановочными знаками. Для использования этих функций сетевые запросы должны сопоставляться с запрашиваемыми IP-адресами и отправляться через Интернет.

Автоматизируйте процесс с помощью брандмауэра, анализирующего XML-файл от вашего имени и автоматически обновляющего правила, на основе служб или функций, которые вы планируете обрабатывать непосредственно через брандмауэр. Также можно использовать средство Azure Range, разработанное сообществом и анализирующее XML-файлы с возможностью экспорта результатов в формате списка маршрутов Cisco XE, списка управления доступом (ACL), обычного текста или CSV-файла.

Развернутое описание целевых сетевых назначений можно найти на справочном сайте, а также в журнале изменений в формате RSS с возможностью подписки на изменения.

Настройка исходящих путей с помощью PAC-файлов

PAC- и WPAD-файлы используются для управления сетевыми запросами, которые связаны с Office 365, но не имеют назначенного IP-адреса. Обычно сетевые запросы, которые отправляются через прокси-сервер или устройство в сети периметра, увеличивают задержку. Хотя проверка подлинности прокси связана с наибольшими затратами, другие службы, связанные, например, с поиском сведений о репутации и попытками проверки пакетов, могут привести к неудобствам в работе пользователей. Кроме того, таким устройствам требуется достаточная пропускная способность для обработки всех сетевых запросов. Мы рекомендуем обходить прокси-сервер и инфраструктуру проверки для прямых сетевых запросов к Office 365.

Используйте один из наших PAC-файлов в качестве отправной точки для определения того, какой сетевой трафик будет направляться на прокси-сервер, а какой — через брандмауэр. Если вы еще не сталкивались с PAC- и WPAD-файлами, ознакомьтесь с публикацией о развертывании PAC-файлов, подготовленной консультантом по Office 365. Используйте эти сведения как отправную точку и учитывайте особенности своей среды.

Обновление 6/12/2018 PAC файлы.

В первом примере продемонстрирован рекомендуемый подход к управлению конечными точками только через Интернет. Для назначений Office 365 с опубликованным IP-адресом выполняется обход прокси-сервера, а остальные сетевые запросы отправляются через прокси-сервер.

Фрагмент программного кода:

// JavaScript source code

//June 2018 - Updates go live 1st July 2018
//This PAC file contains all FQDNs needed for all services and splits the traffic between those which Microsoft can provide IPs for (so can be sent through a managed firewall with conditional access if desired) and those which IPs cannot be provided for, so need to go to an unrestricted proxy or egress. 
//Due to the use of wildcards, some extra logic is provided to send traffic to the proxy before a 'direct' wildcard is hit.
//Includes Core ProPlus URLs but not Office Mobile/IPAD/IOS/ANDROID fqdns from https://support.office.com/en-gb/article/Network-requests-in-Office-365-ProPlus-eb73fcd1-ca88-4d02-a74b-2dd3a9f3364d
//Every Effort is made to ensure 100% accuracy but this PAC should be used as an example and cross-checked with your needs and the Office 365 URL & IP page
//Intended only for Worldwide Office 365 instances, which the vast majority of customers will be using

function FindProxyForURL(url, host)
{
    // Define proxy server
    var proxyserver = "PROXY 10.10.10.10:8080";
    var proxyserver2 = "PROXY 10.10.10.11:8080";
    // Make host lowercase
    var lhost = host.toLowerCase();
    host = lhost;

    //Catch explicit FQDNs which need the proxy but are covered under wildcarded FQDNs which have IPs. This has to be done first before the wildcard is hit

    if ((shExpMatch(host, "quicktips.skypeforbusiness.com"))    
        || (shExpMatch(host, "*.um.outlook.com"))
        || (shExpMatch(host, "r3.res.office365.com"))
        || (shExpMatch(host, "r3.res.outlook.com"))
        || (shExpMatch(host, "r4.res.office365.com"))
        || (shExpMatch(host, "xsi.outlook.com"))
        || (shExpMatch(host, "r1.res.office365.com")))


    {
        return proxyserver;
    }
        //Send FQDNs which Microsoft provide IPs for direct, so they can be sent via a firewall

    else if ((isPlainHostName(host))
    || (shExpMatch(host, "*.api.skype.com"))
    || (shExpMatch(host, "*.aria.microsoft.com"))
    || (shExpMatch(host, "*.asm.skype.com"))
    || (shExpMatch(host, "autologon.microsoftazuread-sso.com"))  
    || (shExpMatch(host, "*.broadcast.skype.com"))
    || (shExpMatch(host, "*.broker.skype.com"))
    || (shExpMatch(host, "*.cc.skype.com")) 
    || (shExpMatch(host, "*.config.skype.com"))
    || (shExpMatch(host, "*.conv.skype.com"))
    || (shExpMatch(host, "*.dc.trouter.io"))
    || (shExpMatch(host, "*.lync.com"))
    || (shExpMatch(host, "*.manage.office.com"))
    || (shExpMatch(host, "*.msg.skype.com"))
    || (shExpMatch(host, "*.office365.com"))
    || (shExpMatch(host, "*.onenote.com"))
    || (shExpMatch(host, "*.outlook.com"))
    || (shExpMatch(host, "*.outlook.office.com"))
    || (shExpMatch(host, "*.pipe.aria.microsoft.com"))
    || (shExpMatch(host, "*.pipe.skype.com"))
    || (shExpMatch(host, "*.portal.cloudappsecurity.com"))
    || (shExpMatch(host, "*.protection.office.com"))
    || (shExpMatch(host, "*.sharepoint.com"))
    || (shExpMatch(host, "*.skypeforbusiness.com"))
    || (shExpMatch(host, "*.svc.ms"))
    || (shExpMatch(host, "*.teams.microsoft.com"))
    || (shExpMatch(host, "*.teams.skype.com"))
    || (shExpMatch(host, "*.yammer.com"))
    || (shExpMatch(host, "*.yammerusercontent.com"))
    || (shExpMatch(host, "admin.microsoft.com"))
    || (shExpMatch(host, "*broadcast.officeapps.live.com"))
    || (shExpMatch(host, "*excel.officeapps.live.com"))
    || (shExpMatch(host, "*onenote.officeapps.live.com"))
    || (shExpMatch(host, "*powerpoint.officeapps.live.com"))
    || (shExpMatch(host, "*view.officeapps.live.com"))
    || (shExpMatch(host, "*visio.officeapps.live.com"))
    || (shExpMatch(host, "*word-edit.officeapps.live.com"))
    || (shExpMatch(host, "*word-view.officeapps.live.com"))    
    || (shExpMatch(host, "account.office.net"))
    || (shExpMatch(host, "adminwebservice.microsoftonline.com"))
    || (shExpMatch(host, "agent.office.net"))
    || (shExpMatch(host, "api.login.microsoftonline.com"))
    || (shExpMatch(host, "api.passwordreset.microsoftonline.com"))
    || (shExpMatch(host, "apc.delve.office.com"))
    || (shExpMatch(host, "aus.delve.office.com"))
    || (shExpMatch(host, "becws.microsoftonline.com"))
    || (shExpMatch(host, "broadcast.skype.com "))    
    || (shExpMatch(host, "browser.pipe.aria.microsoft.com"))  
    || (shExpMatch(host, "can.delve.office.com"))
    || (shExpMatch(host, "ccs.login.microsoftonline.com"))
    || (shExpMatch(host, "ccs-sdf.login.microsoftonline.com"))
    || (shExpMatch(host, "clientconfig.microsoftonline-p.net"))
    || (shExpMatch(host, "clientlog.portal.office.com"))
    || (shExpMatch(host, "companymanager.microsoftonline.com"))
    || (shExpMatch(host, "config.edge.skype.com"))
    || (shExpMatch(host, "cus-000.tasks.osi.office.net"))
    || (shExpMatch(host, "delve.office.com"))
    || (shExpMatch(host, "device.login.microsoftonline.com"))    
    || (shExpMatch(host, "ea-000.tasks.osi.office.net"))
    || (shExpMatch(host, "eur.delve.office.com"))
    || (shExpMatch(host, "eus-zzz.tasks.osi.office.net"))
    || (shExpMatch(host, "gbr.delve.office.com"))    
    || (shExpMatch(host, "hip.microsoftonline-p.net"))
    || (shExpMatch(host, "hipservice.microsoftonline.com"))
    || (shExpMatch(host, "home.office.com"))
    || (shExpMatch(host, "ind.delve.office.com"))
    || (shExpMatch(host, "jpn.delve.office.com"))
    || (shExpMatch(host, "kor.delve.office.com"))
    || (shExpMatch(host, "lam.delve.office.com"))
    || (shExpMatch(host, "login.microsoft.com"))
    || (shExpMatch(host, "login.microsoftonline.com"))
    || (shExpMatch(host, "login.microsoftonline-p.com"))
    || (shExpMatch(host, "login.windows.net"))
    || (shExpMatch(host, "logincert.microsoftonline.com"))
    || (shExpMatch(host, "loginex.microsoftonline.com"))
    || (shExpMatch(host, "login-us.microsoftonline.com"))     
    || (shExpMatch(host, "manage.office.com"))
    || (shExpMatch(host, "mobile.pipe.aria.microsoft.com"))
    || (shExpMatch(host, "nam.delve.office.com"))
    || (shExpMatch(host, "neu-000.tasks.osi.office.net"))
    || (shExpMatch(host, "nexus.microsoftonline-p.com"))
    || (shExpMatch(host, "nexus.officeapps.live.com"))
    || (shExpMatch(host, "nexusrules.officeapps.live.com"))
    || (shExpMatch(host, "office.live.com"))
    || (shExpMatch(host, "officeapps.live.com"))
    || (shExpMatch(host, "passwordreset.microsoftonline.com"))
    || (shExpMatch(host, "pipe.skype.com"))
    || (shExpMatch(host, "portal.microsoftonline.com"))
    || (shExpMatch(host, "portal.office.com"))
    || (shExpMatch(host, "prod.registrar.skype.com"))
    || (shExpMatch(host, "prod.tpc.skype.com"))
    || (shExpMatch(host, "protection.office.com"))
    || (shExpMatch(host, "provisioningapi.microsoftonline.com"))
    || (shExpMatch(host, "s-0001.s-msedge.net"))
    || (shExpMatch(host, "s-0004.s-msedge.net"))
    || (shExpMatch(host, "scsinstrument-ss-us.trafficmanager.net"))   
    || (shExpMatch(host, "scsquery-ss-asia.trafficmanager.net")) 
    || (shExpMatch(host, "scsquery-ss-eu.trafficmanager.net")) 
    || (shExpMatch(host, "scsquery-ss-us.trafficmanager.net"))
    || (shExpMatch(host, "sea-000.tasks.osi.office.net"))    
    || (shExpMatch(host, "stamp2.login.microsoftonline.com"))
    || (shExpMatch(host, "suite.office.net"))    
    || (shExpMatch(host, "tasks.office.com"))
    || (shExpMatch(host, "teams.microsoft.com"))
    || (shExpMatch(host, "testconnectivity.microsoft.com"))
    || (shExpMatch(host, "webshell.suite.office.com"))
    || (shExpMatch(host, "weu-000.tasks.osi.office.net"))
    || (shExpMatch(host, "wus-000.tasks.osi.office.net"))
    || (shExpMatch(host, "www.office.com")))

      
    {
        return "DIRECT";
    }
    else

        // Send all unknown IP traffic to Proxy for unrestricted access. This section is not necessary if you have a catchall for all other traffic to go to an unfiltered proxy. 
        //However the fqdns required, but for which we dont have IPs for, are listed here incase you need an explicit list.

   if          ((shExpMatch(host, "*.aadrm.com"))
        || (shExpMatch(host, "*.adhybridhealth.azure.com")) 
        || (shExpMatch(host, "*.adl.windows.com"))   
        || (shExpMatch(host, "*.api.microsoftstream.com"))           
        || (shExpMatch(host, "*.api.skype.com"))
        || (shExpMatch(host, "*.assets-yammer.com"))   
        || (shExpMatch(host, "*.azureedge.net"))            
        || (shExpMatch(host, "*.azurerms.com"))
        || (shExpMatch(host, "*.cloudapp.net"))
        || (shExpMatch(host, "*.entrust.net")) 
        || (shExpMatch(host, "*.geotrust.com"))   
        || (shExpMatch(host, "*.helpshift.com"))   
        || (shExpMatch(host, "*.hockeyapp.net"))    
        || (shExpMatch(host, "*.localytics.com"))    
        || (shExpMatch(host, "*.log.optimizely.com"))    
        || (shExpMatch(host, "*.microsoft.com"))
        || (shExpMatch(host, "*.microsoftonline.com"))
        || (shExpMatch(host, "*.microsoftonline-p.com"))
        || (shExpMatch(host, "*.microsoftonline-p.net"))
        || (shExpMatch(host, "*.msecnd.net"))
        || (shExpMatch(host, "*.msedge.net"))      
        || (shExpMatch(host, "*.msocdn.com")) 
        || (shExpMatch(host, "*.mstea.ms"))    
        || (shExpMatch(host, "*.notification.api.microsoftstream.com")) 
        || (shExpMatch(host, "*.o365weve.com"))     
        || (shExpMatch(host, "*.office.com"))   
        || (shExpMatch(host, "*.office.net"))
        || (shExpMatch(host, "*.omniroot.com"))
        || (shExpMatch(host, "*.onmicrosoft.com"))
        || (shExpMatch(host, "*.phonefactor.net"))
        || (shExpMatch(host, "*.public-trust.com"))
        || (shExpMatch(host, "*.search.production.apac.trafficmanager.net"))
        || (shExpMatch(host, "*.search.production.emea.trafficmanager.net"))
        || (shExpMatch(host, "*.search.production.us.trafficmanager.net"))
        || (shExpMatch(host, "*.secure.skypeassets.com"))  
        || (shExpMatch(host, "*.sfbassets.com"))
        || (shExpMatch(host, "*.sharepointonline.com"))
        || (shExpMatch(host, "*.sway.com"))
        || (shExpMatch(host, "*.symcb.com"))
        || (shExpMatch(host, "*.tenor.com"))  
        || (shExpMatch(host, "*.symcd.com"))     
        || (shExpMatch(host, "*.users.storage.live.com"))
        || (shExpMatch(host, "*.verisign.com"))
        || (shExpMatch(host, "*.verisign.net"))
        || (shExpMatch(host, "*.windows.net"))
        || (shExpMatch(host, "account.activedirectory.windowsazure.com"))
        || (shExpMatch(host, "ad.atdmt.com"))
        || (shExpMatch(host, "admin.onedrive.com"))
        || (shExpMatch(host, "ajax.aspnetcdn.com"))
        || (shExpMatch(host, "aka.ms"))
        || (shExpMatch(host, "amp.azure.net"))
        || (shExpMatch(host, "api.microsoftstream.com"))
        || (shExpMatch(host, "apis.live.net"))  
        || (shExpMatch(host, "apps.identrust.com"))  
        || (shExpMatch(host, "assets.onestore.ms"))
        || (shExpMatch(host, "auth.gfx.ms"))
        || (shExpMatch(host, "cacerts.digicert.com"))        
        || (shExpMatch(host, "cdn.odc.officeapps.live.com"))  
        || (shExpMatch(host, "cdn.onenote.net"))
        || (shExpMatch(host, "cdn.optimizely.com")) 
        || (shExpMatch(host, "cert.int-x3.letsencrypt.org"))
        || (shExpMatch(host, "client.hip.live.com"))
        || (shExpMatch(host, "connect.facebook.net"))        
        || (shExpMatch(host, "crl.globalsign.com"))
        || (shExpMatch(host, "crl.globalsign.net"))
        || (shExpMatch(host, "crl.identrust.com"))    
        || (shExpMatch(host, "crl3.digicert.com"))  
        || (shExpMatch(host, "crl4.digicert.com"))
        || (shExpMatch(host, "cus-odc.officeapps.live.com"))              
        || (shExpMatch(host, "cus-roaming.officeapps.live.com"))
        || (shExpMatch(host, "dc.services.visualstudio.com"))
        || (shExpMatch(host, "domains.live.com"))
        || (shExpMatch(host, "ea-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "ea-roaming.officeapps.live.com"))          
        || (shExpMatch(host, "ecn.dev.virtualearth.net "))   
        || (shExpMatch(host, "eus2-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "eus2-roaming.officeapps.live.com"))             
        || (shExpMatch(host, "eus-odc.officeapps.live.com"))         
        || (shExpMatch(host, "eus-www.sway-cdn.com"))
        || (shExpMatch(host, "eus-www.sway-extensions.com"))        
        || (shExpMatch(host, "feedback.skype.com"))
        || (shExpMatch(host, "firstpartyapps.oaspapps.com"))
        || (shExpMatch(host, "g.live.com"))
        || (shExpMatch(host, "groupsapi2-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "groupsapi3-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "groupsapi4-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "groupsapi-prod.outlookgroups.ms"))   
        || (shExpMatch(host, "isrg.trustid.ocsp.identrust.com"))   
        || (shExpMatch(host, "latest-swx.cdn.skype.com"))
        || (shExpMatch(host, "liverdcxstorage.blob.core.windowsazure.com"))
        || (shExpMatch(host, "management.azure.com"))        
        || (shExpMatch(host, "mem.gfx.ms"))
        || (shExpMatch(host, "mrodevicemgr.officeapps.live.com"))      
        || (shExpMatch(host, "ncus-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "ncus-roaming.officeapps.live.com"))                
        || (shExpMatch(host, "neu-000.ocws.officeapps.live.com")) 
        || (shExpMatch(host, "neu-odc.officeapps.live.com"))         
        || (shExpMatch(host, "neu-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "nexus.officeapps.live.com"))
        || (shExpMatch(host, "nexusrules.officeapps.live.com"))
        || (shExpMatch(host, "nps.onyx.azure.net"))
        || (shExpMatch(host, "ocsa.officeapps.live.com"))
        || (shExpMatch(host, "ocsp.digicert.com"))
        || (shExpMatch(host, "ocspx.digicert.com"))
        || (shExpMatch(host, "ocsp.globalsign.com"))
        || (shExpMatch(host, "ocsp.int-x3.letsencrypt.org"))
        || (shExpMatch(host, "ocsp.msocsp.com"))       
        || (shExpMatch(host, "ocsp2.globalsign.com"))
        || (shExpMatch(host, "ocsredir.officeapps.live.com"))
        || (shExpMatch(host, "ocws.officeapps.live.com"))
        || (shExpMatch(host, "odc.officeapps.live.com"))  
        || (shExpMatch(host, "officecdn.microsoft.com.edgekey.net"))            
        || (shExpMatch(host, "officecdn.microsoft.com.edgesuite.net"))              
        || (shExpMatch(host, "ols.officeapps.live.com"))  
        || (shExpMatch(host, "oneclient.sfx.ms"))
        || (shExpMatch(host, "outlook.uservoice.com"))
        || (shExpMatch(host, "platform.linkedin.com"))
        || (shExpMatch(host, "policykeyservice.dc.ad.msft.net"))
        || (shExpMatch(host, "prod.firstpartyapps.oaspapps.com.akadns.net")) 
        || (shExpMatch(host, "r1.res.office365.com"))
        || (shExpMatch(host, "r3.res.office365.com"))
        || (shExpMatch(host, "r4.res.office365.com"))
        || (shExpMatch(host, "s.ytimg.com"))
        || (shExpMatch(host, "scus-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "scus-odc.officeapps.live.com"))         
        || (shExpMatch(host, "scus-roaming.officeapps.live.com"))                 
        || (shExpMatch(host, "sea-odc.officeapps.live.com"))         
        || (shExpMatch(host, "sea-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "secure.globalsign.com"))
        || (shExpMatch(host, "site-cdn.onenote.net"))
        || (shExpMatch(host, "skydrive.wns.windows.com"))
        || (shExpMatch(host, "skypegraph.skype.com"))  
        || (shExpMatch(host, "skypemaprdsitus.trafficmanager.net"))   
        || (shExpMatch(host, "spoprod-a.akamaihd.net"))  
        || (shExpMatch(host, "ssw.live.com"))
        || (shExpMatch(host, "staffhub.ms"))
        || (shExpMatch(host, "staffhub.uservoice.com"))
        || (shExpMatch(host, "storage.live.com"))
        || (shExpMatch(host, "sway.com"))              
        || (shExpMatch(host, "swx.cdn.skype.com"))  
        || (shExpMatch(host, "telemetry.remoteapp.windowsazure.com"))         
        || (shExpMatch(host, "telemetryservice.firstpartyapps.oaspapps.com"))    
        || (shExpMatch(host, "web.microsoftstream.com"))         
        || (shExpMatch(host, "weu-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "weu-odc.officeapps.live.com"))         
        || (shExpMatch(host, "weu-roaming.officeapps.live.com"))
        || (shExpMatch(host, "wu.client.hip.live.com"))
        || (shExpMatch(host, "wus-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "wus-firstpartyapps.oaspapps.com"))  
        || (shExpMatch(host, "wus-odc.officeapps.live.com"))         
        || (shExpMatch(host, "wus-roaming.officeapps.live.com"))
        || (shExpMatch(host, "wus-www.sway-cdn.com"))
        || (shExpMatch(host, "wus-www.sway-extensions.com"))   
        || (shExpMatch(host, "www.digicert.com"))
        || (shExpMatch(host, "www.google-analytics.com"))
        || (shExpMatch(host, "www.onedrive.com"))
        || (shExpMatch(host, "www.remoteapp.windowsazure.com"))
        || (shExpMatch(host, "www.youtube.com"))
        || (shExpMatch(host, "xsi.outlook.com")))


        

    {
        return proxyserver;
    }

    //Catchall for all other traffic to another proxy 

else return proxyserver;
}

Во втором примере продемонстрирован рекомендуемый подход к управлению подключениями по каналам Интернета и ExpressRoute. Отправка сетевых запросов к целевым назначениям, объявленным в ExpressRoute, через канал ExpressRoute, а к целевым назначениям, объявленным только в Интернете, — через прокси-сервер.

Фрагмент программного кода:

// JavaScript source code
//June 2018 Update
// Consolidated FQDNs of URLS which are reachable via Microsoft peering over ExpressRoute. All other traffic sent to a proxy in this example. 
//Every Effort is made to ensure 100% accuracy but this PAC should be used as an example and cross-checked with your traffic flow needs and the Office 365 URL & IP page. 
//Intended only for Worldwide Office 365 instances, which the vast majority of customers will be using
//PAC presumes all Office 365 BGP communities/route filters are allowed.

function FindProxyForURL(url, host)
{
    // Define proxy server
    var proxyserver = "PROXY 10.10.10.10:8080";
    // Make host lowercase
    var lhost = host.toLowerCase();
    host = lhost;
    //SUB-FQDNs of ExpressRoutable wildcards which need to be explicitly sent to the proxy at the top of the PAC because they arent ER routable
    if ((shExpMatch(host, "xsi.outlook.com"))
        || (shExpMatch(host, "r3.res.outlook.com"))
        || (shExpMatch(host, "quicktips.skypeforbusiness.com"))
        || (shExpMatch(host, "*.um.outlook.com")))					
    {
        return proxyserver;
    }
        //EXPRESS ROUTE DIRECT
    else if ((isPlainHostName(host))
  
            || (shExpMatch(host, "*.aria.microsoft.com"))
            || (shExpMatch(host, "*.asm.skype.com"))
            || (shExpMatch(host, "autologon.microsoftazuread-sso.com"))  
            || (shExpMatch(host, "*.broadcast.skype.com"))
            || (shExpMatch(host, "*.cc.skype.com"))
            || (shExpMatch(host, "*.config.skype.com"))    
            || (shExpMatch(host, "*.conv.skype.com"))
            || (shExpMatch(host, "*.dc.trouter.io"))
            || (shExpMatch(host, "*.lync.com"))
            || (shExpMatch(host, "*.manage.office.com"))
            || (shExpMatch(host, "*.msg.skype.com"))
            || (shExpMatch(host, "*.outlook.com"))
            || (shExpMatch(host, "*.outlook.office.com"))
            || (shExpMatch(host, "*.pipe.aria.microsoft.com")) 
            || (shExpMatch(host, "*.pipe.skype.com")) 
            || (shExpMatch(host, "*.portal.cloudappsecurity.com"))
            || (shExpMatch(host, "*.protection.office.com"))
            || (shExpMatch(host, "*.protection.outlook.com"))
            || (shExpMatch(host, "*.sharepoint.com")) 
            || (shExpMatch(host, "*.skypeforbusiness.com")) 
            || (shExpMatch(host, "*.svc.ms"))   
            || (shExpMatch(host, "*.teams.microsoft.com"))  
            || (shExpMatch(host, "*.teams.skype.com"))  
            || (shExpMatch(host, "*broadcast.officeapps.live.com"))
            || (shExpMatch(host, "*excel.officeapps.live.com"))
            || (shExpMatch(host, "*onenote.officeapps.live.com"))
            || (shExpMatch(host, "*powerpoint.officeapps.live.com"))
            || (shExpMatch(host, "*view.officeapps.live.com"))                                 
            || (shExpMatch(host, "*visio.officeapps.live.com"))
            || (shExpMatch(host, "*word-edit.officeapps.live.com"))
            || (shExpMatch(host, "*word-view.officeapps.live.com"))
            || (shExpMatch(host, "account.office.net"))
            || (shExpMatch(host, "adminwebservice.microsoftonline.com"))
            || (shExpMatch(host, "agent.office.net"))  
            || (shExpMatch(host, "apc.delve.office.com"))
            || (shExpMatch(host, "api.login.microsoftonline.com"))
            || (shExpMatch(host, "api.passwordreset.microsoftonline.com"))
            || (shExpMatch(host, "aus.delve.office.com"))
            || (shExpMatch(host, "becws.microsoftonline.com"))
            || (shExpMatch(host, "broadcast.skype.com"))  
            || (shExpMatch(host, "browser.pipe.aria.microsoft.com"))  
            || (shExpMatch(host, "can.delve.office.com")) 
            || (shExpMatch(host, "ccs.login.microsoftonline.com"))  
            || (shExpMatch(host, "ccs-sdf.login.microsoftonline.com"))
            || (shExpMatch(host, "clientconfig.microsoftonline-p.net"))
            || (shExpMatch(host, "companymanager.microsoftonline.com"))
            || (shExpMatch(host, "config.edge.skype.com"))
            || (shExpMatch(host, "delve.office.com"))
            || (shExpMatch(host, "device.login.microsoftonline.com"))
            || (shExpMatch(host, "domains.live.com")) 
            || (shExpMatch(host, "eur.delve.office.com"))
            || (shExpMatch(host, "gbr.delve.office.com"))
            || (shExpMatch(host, "hip.microsoftonline-p.net"))
            || (shExpMatch(host, "hipservice.microsoftonline.com"))
            || (shExpMatch(host, "home.office.com"))
            || (shExpMatch(host, "ind.delve.office.com"))
            || (shExpMatch(host, "jpn.delve.office.com"))
            || (shExpMatch(host, "kor.delve.office.com"))
            || (shExpMatch(host, "lam.delve.office.com"))
            || (shExpMatch(host, "login.microsoft.com"))
            || (shExpMatch(host, "login.microsoftonline.com"))
            || (shExpMatch(host, "login.microsoftonline-p.net"))
            || (shExpMatch(host, "login.windows.net"))
            || (shExpMatch(host, "logincert.microsoftonline.com"))
            || (shExpMatch(host, "loginex.microsoftonline.com"))
            || (shExpMatch(host, "login-us.microsoftonline.com"))
            || (shExpMatch(host, "manage.office.com"))
            || (shExpMatch(host, "mobile.pipe.aria.microsoft.com"))
            || (shExpMatch(host, "nam.delve.office.com"))
            || (shExpMatch(host, "nexus.microsoftonline-p.net"))
            || (shExpMatch(host, "office.live.com")) 
            || (shExpMatch(host, "officeapps.live.com")) 
            || (shExpMatch(host, "outlook.office365.com")) 
            || (shExpMatch(host, "passwordreset.microsoftonline.com"))
            || (shExpMatch(host, "pipe.skype.com"))
            || (shExpMatch(host, "portal.office.com"))
            || (shExpMatch(host, "prod.registrar.skype.com"))
            || (shExpMatch(host, "prod.tpc.skype.com"))
            || (shExpMatch(host, "protection.office.com"))
            || (shExpMatch(host, "provisioningapi.microsoftonline.com"))
            || (shExpMatch(host, "s-0001.s-msedge.net"))
            || (shExpMatch(host, "s-0004.s-msedge.net"))
            || (shExpMatch(host, "scsinstrument-ss-us.trafficmanager.net")) 
            || (shExpMatch(host, "scsquery-ss-asia.trafficmanager.net"))
            || (shExpMatch(host, "scsquery-ss-eu.trafficmanager.net")) 
            || (shExpMatch(host, "scsquery-ss-us.trafficmanager.net"))  
            || (shExpMatch(host, "signup.microsoft.com"))
            || (shExpMatch(host, "smtp.office365.com"))  
            || (shExpMatch(host, "stamp2.login.microsoftonline.com"))
            || (shExpMatch(host, "suite.office.net")) 
            || (shExpMatch(host, "teams.microsoft.com")) 
            || (shExpMatch(host, "webshell.suite.office.com")) 
            || (shExpMatch(host, "www.office.com")))             

       
    {
        return "DIRECT";
    }

        //Catchall for all other traffic to proxy
    else
    {
        return proxyserver;
    }
}

В третьем примере продемонстрирована отправка всех сетевых запросов, связанных с Office 365, через одно целевое назначение. Такой подход часто используется для обхода всех проверок сетевых запросов Office 365, а все опубликованные конечные точки присутствуют в списке в формате PAC, который удобно использовать для настройки.

Фрагмент программного кода:

// JavaScript source code
//June 2018 Update new URLS go live 1st July 2018 -
//Consolidated FQDNs required to access Office 365 - All services including optional components covered and elements covered under wildcards removed. 
//Some repeated domains have been consoliodated into unpublished wildcards in order to keep the file as small as possible.
//Includes Core ProPlus URLs but not Office Mobile/IPAD/IOS/ANDROID fqdns from https://support.office.com/en-gb/article/Network-requests-in-Office-365-ProPlus-eb73fcd1-ca88-4d02-a74b-2dd3a9f3364d
//Every Effort is made to ensure 100% accuracy but this PAC should be used as an example and cross-checked with your needs and the Office 365 URL & IP page
//Intended only for Worldwide Office 365 instances, which the vast majority of customers will be using

function FindProxyForURL(url, host)
{
    // Define proxy server
    var proxyserver = "PROXY 10.10.10.10:8080";
    // Make host lowercase
    var lhost = host.toLowerCase();
    host = lhost;

   if  ((shExpMatch(host, "*.aadrm.com"))

        || (shExpMatch(host, "*.adhybridhealth.azure.com"))
        || (shExpMatch(host, "*.adl.windows.com"))
        || (shExpMatch(host, "*.api.microsoftstream.com"))  
        || (shExpMatch(host, "*.api.skype.com"))  
        || (shExpMatch(host, "*.asm.skype.com"))     
        || (shExpMatch(host, "*.assets-yammer.com"))
        || (shExpMatch(host, "autologon.microsoftazuread-sso.com"))  
        || (shExpMatch(host, "*.azureedge.net"))   
        || (shExpMatch(host, "*.azurerms.com"))
        || (shExpMatch(host, "*.broadcast.skype.com"))
        || (shExpMatch(host, "*.broker.skype.com"))
        || (shExpMatch(host, "*.cc.skype.com"))
        || (shExpMatch(host, "*.cloudapp.net")) 
        || (shExpMatch(host, "*.config.skype.com"))
        || (shExpMatch(host, "*.conv.skype.com"))
        || (shExpMatch(host, "*.dc.trouter.io"))
        || (shExpMatch(host, "*.entrust.net")) 
        || (shExpMatch(host, "*.geotrust.com"))
        || (shExpMatch(host, "*.helpshift.com"))
        || (shExpMatch(host, "*.hockeyapp.net"))       
        || (shExpMatch(host, "*.localytics.com"))
        || (shExpMatch(host, "*.log.optimizely.com"))     
        || (shExpMatch(host, "*.lync.com"))
        || (shExpMatch(host, "*.microsoft.com"))
        || (shExpMatch(host, "*.microsoftonline.com"))
        || (shExpMatch(host, "*.microsoftonline-p.com"))
        || (shExpMatch(host, "*.microsoftonline-p.net"))
        || (shExpMatch(host, "*.msecnd.net"))
        || (shExpMatch(host, "*.msedge.net"))
        || (shExpMatch(host, "*.msg.skype.com")) 
        || (shExpMatch(host, "*.msocdn.com"))
        || (shExpMatch(host, "*.mstea.ms"))
        || (shExpMatch(host, "*.o365weve.com"))
        || (shExpMatch(host, "*.office.com"))
        || (shExpMatch(host, "*.office.net"))
        || (shExpMatch(host, "*.office365.com"))
        || (shExpMatch(host, "*.omniroot.com"))
        || (shExpMatch(host, "*.onenote.com"))
        || (shExpMatch(host, "*.onmicrosoft.com"))
        || (shExpMatch(host, "*.outlook.com"))
        || (shExpMatch(host, "*.pipe.skype.com")) 
        || (shExpMatch(host, "*.phonefactor.net")) 
        || (shExpMatch(host, "*.portal.cloudappsecurity.com"))
        || (shExpMatch(host, "*.public-trust.com"))
        || (shExpMatch(host, "*.search.production.apac.trafficmanager.net"))
        || (shExpMatch(host, "*.search.production.emea.trafficmanager.net"))
        || (shExpMatch(host, "*.search.production.us.trafficmanager.net"))
        || (shExpMatch(host, "*.secure.skypeassets.com"))
        || (shExpMatch(host, "*.sfbassets.com"))  
        || (shExpMatch(host, "*.sharepoint.com"))
        || (shExpMatch(host, "*.sharepointonline.com"))
        || (shExpMatch(host, "*.skypeforbusiness.com"))
        || (shExpMatch(host, "*.svc.ms")) 
        || (shExpMatch(host, "*.sway.com"))
        || (shExpMatch(host, "*.symcb.com"))
        || (shExpMatch(host, "*.symcd.com"))
        || (shExpMatch(host, "*.teams.skype.com"))
        || (shExpMatch(host, "*.tenor.com"))
        || (shExpMatch(host, "*.users.storage.live.com"))
        || (shExpMatch(host, "*.verisign.com"))
        || (shExpMatch(host, "*.verisign.net"))
        || (shExpMatch(host, "*.windows.net"))
        || (shExpMatch(host, "*.yammer.com"))
        || (shExpMatch(host, "*.yammerusercontent.com"))         
        || (shExpMatch(host, "*broadcast.officeapps.live.com"))
        || (shExpMatch(host, "*excel.officeapps.live.com"))
        || (shExpMatch(host, "*onenote.officeapps.live.com"))
        || (shExpMatch(host, "*powerpoint.officeapps.live.com"))
        || (shExpMatch(host, "*view.officeapps.live.com"))
        || (shExpMatch(host, "*visio.officeapps.live.com"))
        || (shExpMatch(host, "*word-edit.officeapps.live.com"))
        || (shExpMatch(host, "*word-view.officeapps.live.com"))    
        || (shExpMatch(host, "account.activedirectory.windowsazure.com"))
        || (shExpMatch(host, "ad.atdmt.com"))
        || (shExpMatch(host, "admin.onedrive.com"))
        || (shExpMatch(host, "ajax.aspnetcdn.com"))
        || (shExpMatch(host, "aka.ms"))
        || (shExpMatch(host, "amp.azure.net"))
        || (shExpMatch(host, "api.microsoftstream.com"))
        || (shExpMatch(host, "apis.live.net"))
        || (shExpMatch(host, "apps.identrust.com")) 
        || (shExpMatch(host, "assets.onestore.ms"))
        || (shExpMatch(host, "auth.gfx.ms"))
        || (shExpMatch(host, "broadcast.skype.com "))
        || (shExpMatch(host, "cacerts.digicert.com"))    
        || (shExpMatch(host, "cdn.odc.officeapps.live.com"))  
        || (shExpMatch(host, "cdn.onenote.net"))
        || (shExpMatch(host, "cdn.optimizely.com"))
        || (shExpMatch(host, "cert.int-x3.letsencrypt.org"))
        || (shExpMatch(host, "client.hip.live.com"))     
        || (shExpMatch(host, "config.edge.skype.com"))
        || (shExpMatch(host, "connect.facebook.net"))
        || (shExpMatch(host, "crl.globalsign.com"))
        || (shExpMatch(host, "crl.globalsign.net"))
        || (shExpMatch(host, "crl.identrust.com"))    
        || (shExpMatch(host, "crl3.digicert.com"))  
        || (shExpMatch(host, "crl4.digicert.com"))
        || (shExpMatch(host, "cus-odc.officeapps.live.com"))              
        || (shExpMatch(host, "cus-roaming.officeapps.live.com"))      
        || (shExpMatch(host, "dc.services.visualstudio.com"))
        || (shExpMatch(host, "domains.live.com"))
        || (shExpMatch(host, "ea-000.ocws.officeapps.live.com")) 
        || (shExpMatch(host, "ea-roaming.officeapps.live.com"))           
        || (shExpMatch(host, "ecn.dev.virtualearth.net"))
        || (shExpMatch(host, "eus2-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "eus2-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "eus-odc.officeapps.live.com"))              
        || (shExpMatch(host, "eus-www.sway-cdn.com"))
        || (shExpMatch(host, "eus-www.sway-extensions.com"))
        || (shExpMatch(host, "feedback.skype.com"))
        || (shExpMatch(host, "firstpartyapps.oaspapps.com"))
        || (shExpMatch(host, "g.live.com"))
        || (shExpMatch(host, "groupsapi2-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "groupsapi3-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "groupsapi4-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "groupsapi-prod.outlookgroups.ms"))  
        || (shExpMatch(host, "isrg.trustid.ocsp.identrust.com"))
        || (shExpMatch(host, "latest-swx.cdn.skype.com"))
        || (shExpMatch(host, "liverdcxstorage.blob.core.windowsazure.com"))
        || (shExpMatch(host, "management.azure.com"))
        || (shExpMatch(host, "mem.gfx.ms"))
        || (shExpMatch(host, "mrodevicemgr.officeapps.live.com"))               
        || (shExpMatch(host, "ncus-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "ncus-roaming.officeapps.live.com"))                 
        || (shExpMatch(host, "neu-000.ocws.officeapps.live.com")) 
        || (shExpMatch(host, "neu-odc.officeapps.live.com"))              
        || (shExpMatch(host, "neu-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "nexus.officeapps.live.com"))
        || (shExpMatch(host, "nexusrules.officeapps.live.com"))
        || (shExpMatch(host, "nps.onyx.azure.net"))   
        || (shExpMatch(host, "ocsa.officeapps.live.com"))
        || (shExpMatch(host, "ocsp.digicert.com"))
        || (shExpMatch(host, "ocsp.globalsign.com"))
        || (shExpMatch(host, "ocsp.int-x3.letsencrypt.org"))
        || (shExpMatch(host, "ocsp.msocsp.com"))     
        || (shExpMatch(host, "ocsp2.globalsign.com")) 
        || (shExpMatch(host, "ocspx.digicert.com"))
        || (shExpMatch(host, "ocsredir.officeapps.live.com"))
        || (shExpMatch(host, "ocws.officeapps.live.com"))
        || (shExpMatch(host, "odc.officeapps.live.com"))  
        || (shExpMatch(host, "office.live.com"))
        || (shExpMatch(host, "officeapps.live.com"))
        || (shExpMatch(host, "officecdn.microsoft.com.edgekey.net"))              
        || (shExpMatch(host, "officecdn.microsoft.com.edgesuite.net"))
        || (shExpMatch(host, "ols.officeapps.live.com"))  
        || (shExpMatch(host, "oneclient.sfx.ms"))
        || (shExpMatch(host, "outlook.uservoice.com"))
        || (shExpMatch(host, "pipe.skype.com"))
        || (shExpMatch(host, "platform.linkedin.com"))
        || (shExpMatch(host, "policykeyservice.dc.ad.msft.net"))
        || (shExpMatch(host, "prod.firstpartyapps.oaspapps.com.akadns.net"))
        || (shExpMatch(host, "prod.registrar.skype.com"))
        || (shExpMatch(host, "prod.tpc.skype.com"))
        || (shExpMatch(host, "s.ytimg.com"))
        || (shExpMatch(host, "s0.assets-yammer.com"))  
        || (shExpMatch(host, "s-0001.s-msedge.net")) 
        || (shExpMatch(host, "s-0004.s-msedge.net"))   
        || (shExpMatch(host, "scsinstrument-ss-us.trafficmanager.net")) 
        || (shExpMatch(host, "scsquery-ss-asia.trafficmanager.net"))
        || (shExpMatch(host, "scsquery-ss-eu.trafficmanager.net")) 
        || (shExpMatch(host, "scsquery-ss-us.trafficmanager.net")) 
        || (shExpMatch(host, "scus-000.ocws.officeapps.live.com"))
        || (shExpMatch(host, "scus-odc.officeapps.live.com"))         
        || (shExpMatch(host, "scus-roaming.officeapps.live.com"))                 
        || (shExpMatch(host, "sea-odc.officeapps.live.com"))              
        || (shExpMatch(host, "sea-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "secure.globalsign.com"))
        || (shExpMatch(host, "site-cdn.onenote.net"))
        || (shExpMatch(host, "skydrive.wns.windows.com"))
        || (shExpMatch(host, "skypegraph.skype.com"))
        || (shExpMatch(host, "skypemaprdsitus.trafficmanager.net"))
        || (shExpMatch(host, "spoprod-a.akamaihd.net"))
        || (shExpMatch(host, "ssw.live.com"))
        || (shExpMatch(host, "staffhub.ms"))
        || (shExpMatch(host, "staffhub.uservoice.com"))    
        || (shExpMatch(host, "storage.live.com"))
        || (shExpMatch(host, "swx.cdn.skype.com"))
        || (shExpMatch(host, "telemetry.remoteapp.windowsazure.com"))
        || (shExpMatch(host, "telemetryservice.firstpartyapps.oaspapps.com"))
        || (shExpMatch(host, "web.microsoftstream.com"))   
        || (shExpMatch(host, "weu-000.ocws.officeapps.live.com")) 
        || (shExpMatch(host, "weu-odc.officeapps.live.com"))              
        || (shExpMatch(host, "weu-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "wu.client.hip.live.com"))
        || (shExpMatch(host, "wus-000.ocws.officeapps.live.com"))  
        || (shExpMatch(host, "wus-firstpartyapps.oaspapps.com"))  
        || (shExpMatch(host, "wus-odc.officeapps.live.com"))              
        || (shExpMatch(host, "wus-roaming.officeapps.live.com"))              
        || (shExpMatch(host, "wus-www.sway-cdn.com"))
        || (shExpMatch(host, "wus-www.sway-extensions.com"))        
        || (shExpMatch(host, "www.digicert.com"))
        || (shExpMatch(host, "www.google-analytics.com"))
        || (shExpMatch(host, "www.onedrive.com"))
        || (shExpMatch(host, "www.remoteapp.windowsazure.com"))
        || (shExpMatch(host, "www.youtube.com")))




    {
        return proxyserver;
    }

        //Catchall for all other traffic to another proxy

    else return "PROXY 10.10.10.11:8080";
}

Ниже представлено еще несколько средств, опубликованных участниками сообщества. Если вы разработали полезный инструмент и хотите поделиться им, напишите об этом в комментариях. Средства, упомянутые в этой статье, официально не поддерживаются и не обслуживаются корпорацией Майкрософт. Они представлены исключительно для вашего удобства.

  • Это самое старое средство, помогающее управлять процессом. Создано участником сообщества Office 365. Ссылка для скачивания.

  • Подтверждение концепции и правила брандмауэра, доступные для экспорта: Microsoft Cloud IP API.

  • Материалы блога IT Praktyk: преобразование RSS-каналов и преобразование XML-файлов.

  • Скрипт Питера Абеля (Peter Abele): скачать.

  • Выполняйте анализ сети для выявления сетевых запросов, которые должны направляться в обход инфраструктуры вашего прокси-сервера. Ниже указаны полные доменные имена, для которых чаще всего выполняется обход клиентских прокси-серверов (список составлен на основе объема сетевого трафика, отправляемого и получаемого этими конечными точками).

    outlook.office365.com
    outlook.office.com
    <tenant-name>.sharepoint.com
    <tenant-name>-my.sharepoint.com
    <tenant-name>-<app>.sharepoint.com
    *.Lync.com
    
  • Чтобы сетевые запросы, отправляемые в ваш брандмауэр напрямую, могли попасть по назначению, для них должны быть соответствующие записи в списке разрешений брандмауэра.

Интеграция сети периметра

Знаете ли вы, что глобальная сеть Майкрософт — это одна из самых крупных магистралей в мире?

Благодаря ей Office 365 и наши другие облачные службы доступны независимо от того, где вы находитесь. Наша сеть состоит из соединений с высокой пропускной способностью, минимальными задержками и поддержкой отработки отказа. Это тысячи километров темного оптоволокна и терабиты подключений между центрами обработки данных и граничными узлами.

Мы уверены, что вы захотите как можно скорее подключить свои устройства к такой сети. Благодаря наличию более 2500 пиринговых связей с поставщиками услуг Интернета по всему миру и 70 точек присутствия это не должно составить проблем. Убедитесь в том, что ваш поставщик услуг Интернета использует оптимальную пиринговую связь. Вот несколько примеров подключений к нашей сети — как хороших, так и не очень.

Вы можете автоматически или вручную настроить устройства в своей сети для оптимальной обработки сетевых запросов приложений Office 365 (в зависимости от имеющегося оборудования). То, какие изменения нужно внести в конфигурацию для оптимальной обработки сетевого трафика Office 365, зависит от вашей среды. Для эффективного выполнения сетевых запросов Office 365 может потребоваться следующее:

  • Приоритет над менее важным сетевым трафиком.

  • Маршрутизация на локальный выход, которая позволяет избежать передачи через медленное подключение к глобальной сети и использовать преимущества низких задержек в сети Майкрософт. Подробные сведения можно найти здесь.

  • Использование DNS рядом с локальным выходом, чтобы обеспечить передачу сетевого запроса, отправленного через этот выход, через ближайшую точку подключения к сети Майкрософт.

  • Обход глубокой проверки пакетов или другой интенсивной обработки сетевых пакетов для обеспечения соответствия общим требованиям к задержкам.

Современные сетевые устройства могут управлять сетевыми запросами для надежных приложений, таких как Office 365, иначе, чем обычным недоверенным интернет-трафиком. Благодаря новым решениям для программно-определяемых глобальных сетей такое разграничение трафика и выбор путей можно выполнять с учетом изменяющегося состояния сети, например доступности в определенное время, задержки и производительности различных путей связи между пользователем и облаком.

Дополнительные рекомендации по планированию конфигурации сети см. в статьях Планирование сети и миграции при переходе на Office 365, План устранения неполадок с производительностью Office 365 и Контрольный список для планирования развертывания Office 365.

Чтобы реализовать этот сценарий, следуйте представленным ниже указаниям.

Узнайте у поставщика службы или проверьте самостоятельно, может ли ваше сетевое решение использовать URL-адрес и определения IP-адресов Office 365 из XML-файла для обеспечения локального (с точки зрения пользователя) быстрого сетевого выхода для трафика Office 365, управлять его приоритетом относительно других приложений и настраивать сетевой путь для подключений Office 365 к сети Майкрософт с учетом изменяющихся условий сети. Некоторые решения скачивают и автоматизируют XML-файлы Office 365 с URL-адресами и определениями IP-адресов в своих стеках.

Всегда проверяйте, имеет ли внедренное решение необходимую степень устойчивости, надлежащую геоизбыточность сетевого пути для трафика Office 365 и может ли оно отражать изменения URL- и IP-адресов Office 365 по мере их публикации.

Поможет вам лучше определения и распознавания сетевого трафика Office 365 новой веб-службы публикует конечные точки в Office 365, упрощая оценки, Настройка и оставаться в курсе изменений. Это новая веб-служба (теперь в режиме предварительного просмотра) и в конце концов заменит списки конечные точки в статье Office 365 URL-адреса и диапазоны IP-адресов , вместе с версии RSS и XML-данных. Эти формат конечной точки данных планируются будут использоваться в ближайшее время.

Как клиент или поставщик сети периметра устройства вы можете проверить новый REST под управлением веб-службы для Office 365 IP-адрес и записей полное доменное имя, который теперь находится в режиме предварительного просмотра:

Как клиент вы можете использовать веб-службы:

  • Обновление сценариев PowerShell для получения Office 365 конечную точку данных и изменение любого форматирования для сетевых устройств.

  • Используйте эту информацию для обновления файлов PAC развертывания на клиентские компьютеры.

Как поставщик устройства периметра сети вы можете использовать веб-службы:

  • Создание и проверка программное обеспечение устройства для загрузки в списке автоматическую настройку.

  • Установите флажок для текущей версии.

  • Для получения текущих изменений.

Предварительный просмотр этой веб-службы, может изменяться до обычно доступна служба в следующих разделах.

Данные на веб-службы в актуальном состоянии за исключением ниже известная проблема:

Общих параметров

Эти параметры являются общими для методов веб-службы:

  • формат = CSV | JSON — параметра строки запроса. По умолчанию формата возвращаемых данных является JSON. Включите этот дополнительный параметр, чтобы вернуть данные в формат с разделителями-запятыми (CSV).

  • ClientRequestId — параметра строки запроса. Требуемый GUID создание для клиента сеанса связи. Следует создавать GUID для каждого клиентского компьютера, которая вызывает веб-службы. Не используйте GUID показано в следующих примерах, поскольку они могут быть заблокированы веб-службы в будущем. GUID используется формат xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, где x представляет собой шестнадцатеричное число. Чтобы создать GUID, с помощью команды Создать Guid PowerShell.

Версии веб-метод

Корпорация Майкрософт обновляет Office 365 IP-адрес и полное доменное имя записи в конце каждого месяца и иногда более часто рабочих требований. Данные для каждого экземпляра опубликованных назначен номер версии. Веб-метод версия позволяет опроса последнюю версию для каждого экземпляра службы Office 365. Конечные точки ожидается изменение один раз в месяц. Рекомендуется проверить версию день, или не более, каждый час.

Есть еще один параметр метода веб-версии:

  • AllVersions = true — параметра строки запроса. По умолчанию возвращается последняя версия. Включите этот дополнительный параметр, чтобы запросить все опубликованные версии.

  • Экземпляр — параметр маршрута. Этот дополнительный параметр задает экземпляр, чтобы вернуться на версию для. Если не указано, а затем все экземпляры возвращаются. Допустимые экземпляры: O365Worldwide, O365China, O365Germany, O365USGovDoD, O365USGovGCCHigh

Результат из метода веб-версии может быть одну запись или массив записей. Перечислены элементы каждой записи.

  • экземпляр — краткое имя экземпляра службы Office 365.

  • последние новости — последнюю версию для конечных точек данного экземпляра.

  • версии — необязательный список всех предыдущих версий для указанного экземпляра.

Примеры:

Пример 1 запроса URI: https://endpoints.office.com/version?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Этот URI возвращает последнюю версию каждого экземпляра службы Office 365. Пример результата:

[{"instance":"O365Worldwide","latest":"2018030200"},{"instance":"O365China","latest":"2018020100"},{"instance":"O365Germany","latest":"2018020100"},{"instance":"O365USGovDoD","latest":"2018030200"},{"instance":"O365USGovGCCHigh","latest":"2018030200"}]

Важно: GUID для параметра ClientRequestID в таких URI являются только пример. Чтобы повторить в Интернете службы идентификаторы URI out, создать собственный GUID. В приведенных примерах показано GUID может быть заблокирована веб-службой в будущем.

Пример 2 запроса URI: https://endpoints.office.com/version/O365Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Этот URI возвращает последнюю версию указанного экземпляра службы Office 365. Пример результата:

{"instance":"O365Worldwide","latest":"2018031302"}

Пример 3 запроса URI: https://endpoints.office.com/version/O365Worldwide?Format=CSV&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Этот URI показаны выходные данные в формате CSV. Пример результата:

instance,latest
O365Worldwide,2018031302

Пример 4 запроса URI: https://endpoints.office.com/version/O365Worldwide?Format=CSV&AllVersions=true&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Этот URI показывает все предыдущие версии, опубликованные для экземпляра по всему миру службы Office 365. Пример результата:

{"instance":"O365Worldwide","latest":"2018031302","versions":["2018031302","2018031301","2018031300","2018030200","2018020701","2018020700","2018020100","2017121200","2017120800"]}

Конечные точки веб-метод

Конечные точки веб-метод возвращает все записи диапазоны IP-адресов и URL-адреса, составляющих службы Office 365. Параметры метода веб-конечные точки являются:

  • ServiceAreas — параметра строки запроса. Список областей служб с разделителями запятыми. Элементы допустимые, общие, Exchange, SharePoint, Скайп. Из-за распространенные элементы области службы условием для всех остальных областей службы, веб-службы всегда включать их. Если не включить этот параметр, возвращаются все области обновления.

  • TenantName — параметра строки запроса. Ваше имя клиента Office 365. Веб-служба принимает предоставленного имени и вставляет его в части URL-адреса, которые включают имя клиента. Если не указать имя клиента, те части URL-адреса имеют звездочка (*). Параметр TenantName не включаются в области предварительного просмотра.

  • Экземпляр — параметр маршрута. Этот обязательный параметр определяет экземпляр, чтобы возвращать конечные точки. Допустимые экземпляры: O365Worldwide, O365China, O365Germany, O365USGovDoD, O365USGovGCCHigh.

Результат из конечных точек веб-метод представляет собой массив записей с каждой записи, представляющие набор конечную точку. Перечислены элементы для каждой записи.

  • Код — задать постоянные идентификатор конечной точки. Обязательно.

  • serviceArea — область обслуживания, это часть: Общие, Exchange, SharePoint или Скайп. Обязательно.

  • defaultUrls — URL-адреса для конечной точки, установка, которые находятся в категории «По умолчанию». Массив JSON DNS-записей.

  • allowUrls — URL-адреса для конечной точки, установка, которые находятся в категории «Разрешить». Массив JSON DNS-записей.

  • optimizeUrls — URL-адреса для набора конечной точки, которые находятся в категории «Оптимизировать». Массив JSON DNS-записей.

  • defaultTcpPorts — порты TCP для конечной точки, установка, которые находятся в категории «По умолчанию». Все элементы порты, отформатированные как список с разделителями порты или диапазоны портов, разделенных знаком тире (–). Порты конкретной категории предназначены для всех IP-адресов в том, что задать конечную точку. Порты конкретной категории также применить все URL-адреса в том, что задать конечную точку для этой категории, а также нижний категории. Ниже категорий определяются в порядке оптимизировать, разрешить и по умолчанию, где по умолчанию — наименьшее.

  • allowTcpPorts — порты TCP для IP-адрес в этом наборе конечную точку диапазоны, которые находятся в категории «Разрешить».

  • optimizeTcpPorts — порты TCP для IP-адрес в этом наборе конечную точку диапазоны, которые находятся в категории «Оптимизировать».

  • defaultUdpPorts — UDP для IP адрес в этом наборе конечную точку диапазоны, которые находятся в категории «По умолчанию».

  • allowUdpPorts — UDP для IP адрес в этом наборе конечную точку диапазоны, которые находятся в категории «Разрешить».

  • optimizeUdpPorts — UDP для IP адрес в этом наборе конечную точку диапазоны, которые находятся в категории «Оптимизировать».

  • IP-адреса и диапазоны IP-адресов, связанных с этой конечной точки, задайте как сопоставленные перечисленные порты TCP и UDP.

  • expressRoute — ИСТИНА или ЛОЖЬ, если этот набор конечную точку маршрутизируется через ExpressRoute. Обязательно.

  • optionalImpact — при этот набор конечной точки является необязательным, этот текст, описывающий функциональные возможности Office 365, которая будет отсутствует, если конечные точки в этом наборе конечной точки будут недоступны. Если набор конечной точки не является необязательным, исключается этот элемент.

Какие-либо, отсутствует в списке необходимые элементы не являются обязательными в ОСТАЛЬНОЙ выходных данных.

Примеры:

Пример 1 запроса URI: https://endpoints.office.com/endpoints/O365Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Этот URI получает все конечные точки для экземпляра по всему миру Office 365 для всех рабочих нагрузок. Пример результата отображением фрагмент выходных данных:

[
  {
    "id":1,
    "serviceArea":"Exchange",
    "allowUrls":["*.protection.outlook.com"],
    "allowTcpPorts":"443",
    "expressRoute":true
  },
  {"id":2,
    "serviceArea":"Exchange",
    "allowUrls":["*.mail.protection.outlook.com"],
    "allowTcpPorts":"25",
    "expressRoute":true
  }, 
  {
    "id":3,
    "serviceArea":"Exchange",
    "ips":["213.199.154.0/24","213.199.180.128/26","94.245.120.64/26",
    "207.46.163.0/24","216.32.180.0/23","23.103.144.0/20","65.55.88.0/24",
    "65.55.169.0/24","207.46.100.0/24","104.47.0.0/17",
    "2a01:111:f400:fc00::/54","157.55.234.0/24","157.56.112.0/24","157.56.110.0/23",
    "23.103.200.0/22","2a01:111:f400:7c00::/54","23.103.132.0/22","23.103.136.0/21",
    "23.103.198.0/23","23.103.212.0/22","40.92.0.0/14","40.107.0.0/17",
    "40.107.128.0/18","52.100.0.0/14","2a01:111:f403::/48"],
    "allowTcpPorts":"25,443",
    "expressRoute":true
  },
...

В этом примере не включаются наборы дополнительных конечную точку.

Пример 2 запроса URI: https://endpoints.office.com/endpoints/O365Worldwide?ServiceAreas=Exchange&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

В этом примере для Exchange Online и зависимостей только получает конечные точки для экземпляра по всему миру Office 365.

Пример 2 выводится так же, пример 1 за тем исключением, что результаты не будет содержать конечные точки для SharePoint Online или Скайп для бизнеса Online.

Изменения веб-метод

Веб-метод изменения возвращает самые последние обновления, которые были опубликованы. Как правило, это изменения к предыдущему месяцу диапазоны IP-адресов и URL-адреса.

Параметр для изменения веб-метод имеет следующий вид:

  • Версия — параметр маршрута требуется URL-адрес. Версия реализована в данный момент, который вы хотите видеть изменения с момента этой версии. Формат — YYYYMMDDNN.

Результат из веб-метод изменения представляет собой массив записей с каждой записи, представляющее изменений в конкретную версию конечные точки. Перечислены элементы для каждой записи.

  • код — идентификатор постоянные изменения записи. Обязательно.

  • записи, необходимо изменить установить endpointSetId — идентификатор конечной точки. Обязательно.

  • changeDescription — Описание изменения текста. Обязательно.

  • ликвидации — это может быть изменения, добавление, удаление или и описание сопровождение изменения в запись набор конечную точку. Обязательно.

  • версия — номер версии опубликованных конечную точку, в которой была введена изменения. Являются версии в формате YYYYMMDDNN, где NN — натуральное число увеличивается при наличии нескольких версий, необходимых для публикации на один день.

  • Предыдущий — задать подструктуре, раскрывающий предыдущих значений измененных элементов на конечную точку. Это не будут включены для наборов ключу конечную точку. Включает defaultTcpPorts, allowTcpPorts, optimizeTcpPorts, defaultUdpPorts, allowUdpPorts, optimizeUdpPorts, ExpressRoute, optionalImpact.

  • текущий - подструктуре, раскрывающий обновленные значения изменения элементов на endpoinset. Включает defaultTcpPorts, allowTcpPorts, optimizeTcpPorts, defaultUdpPorts, allowUdpPorts, optimizeUdpPorts, ExpressRoute, optionalImpact.

  • Добавление — коллекции множества структуру sub раскрывающий элементов, добавляемых к конечной точке.

    • После добавления станет доступно в службе effectiveDate — определяет данные.

    • IP-адреса — элементы, которые будут добавлены в массиве IP-адресов.

    • Элементы defaultUrls добавляемых defaultUrls массива.

    • Элементы allowUrls добавляемых allowUrls массива.

    • Элементы optimizeUrls добавляемых optimizeUrls массива.

  • Удаление — подструктуре, раскрывающий будет удалена из конечной точки набор элементов.

    • IP-адреса — элементы удаляются из массива IP-адресов.

    • Элементы defaultUrls будет удалена из defaultUrls массива.

    • Элементы allowUrls будет удалена из allowUrls массива.

    • Элементы optimizeUrls будет удалена из optimizeUrls массива.

Примеры:

Пример 1 запроса URI: https://endpoints.office.com/changes/o365worldwide/0000000000?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Это запросов все предыдущие изменения для экземпляра по всему миру службы Office 365. Пример результата:

[
  {
    "id":2,
    "endpointSetId":118,
    "changeDescription":"Adding a OneNote endpoint",
    "disposition":"Change",
    "version":"2018030200",
    "add":{
      "effectiveDate":"20180401",
      "allowUrls":["officeapps.live.com"]
    }
  },
  {
    "id":3,
    "endpointSetId":33,
    "changeDescription":"Removing old IP prefixes",
    "disposition":"Change",
    "version":"2018031301",
    "remove":{
      "ips":["65.55.127.0/24","66.119.157.192/26","66.119.158.0/25",
        "111.221.76.128/25","111.221.77.0/26","207.46.5.0/24"]
    }
  },
  {
    "id":4,
    "endpointSetId":45,
    "changeDescription":"Removing old IP prefixes",
    "disposition":"Change",
    "version":"2018031301",
    "remove":{
      "ips":["13.78.93.8/32","40.113.87.220/32","40.114.149.220/32",
      "40.117.100.83/32","40.118.214.164/32","104.208.31.113/32"]
    }
  }
]

Пример 2 запроса URI: https://endpoints.office.com/changes/o365worldwide?version=2018031300&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Это запрашивает изменения с момента указанной версии для экземпляра по всему миру Office 365. Пример результата:

[
  {
    "id":3,
    "endpointSetId":33,
    "changeDescription":"Removing old IP prefixes",
    "disposition":"Change",
    "version":"2018031301",
    "remove":{
      "ips":["65.55.127.0/24","66.119.157.192/26","66.119.158.0/25",
      "111.221.76.128/25","111.221.77.0/26","207.46.5.0/24"]
    }
  },
  {
    "id":4,
    "endpointSetId":45,
    "changeDescription":"Removing old IP prefixes",
    "disposition":"Change",
    "version":"2018031301",
    "remove":{
      "ips":["13.78.93.8/32","40.113.87.220/32","40.114.149.220/32",
      "40.117.100.83/32","40.118.214.164/32","104.208.31.113/32"]
    }
  }
]

Пример скрипта PowerShell

Вот скрипт PowerShell, который можно запустить для просмотра, есть ли действия, которые необходимо предпринять для обновленные данные. Этот сценарий проверяет номер версии для конечных точек экземпляра по всему миру Office 365. При изменении ее загрузки конечных точек и фильтры для конечных точек категории «Разрешить». Также использует уникальный ClientRequestId через несколько вызовов и сохраняет в файле временные последнюю версию. Чтобы проверить наличие обновлений версии обращаться этот сценарий один раз в час.

# webservice root URL
$ws = "https://endpoints.office.com"

# path where client ID and latest version number will be stored
$datapath = $Env:TEMP + "\endpoints_clientid_latestversion.txt"

# fetch client ID and version if data file exists; otherwise create new file
if (Test-Path $datapath) {
    $content = Get-Content $datapath
    $clientRequestId = $content[0]
    $lastVersion = $content[1]
}
else {
    $clientRequestId = [GUID]::NewGuid().Guid
    $lastVersion = "0000000000"
    @($clientRequestId, $lastVersion) | Out-File $datapath
}

# call version method to check the latest version, and pull new data if version number is different
$version = Invoke-RestMethod -Uri ($ws + "/version/O365Worldwide?clientRequestId=" + $clientRequestId)
if ($version.latest -gt $lastVersion) {
    Write-Host "New version of Office 365 worldwide commercial service instance endpoints detected"
    
    # write the new version number to the data file
    @($clientRequestId, $version.latest) | Out-File $datapath
    
    # invoke endpoints method to get the new data
    $endpointSets = Invoke-RestMethod -Uri ($ws + "/endpoints/O365Worldwide?clientRequestId=" + $clientRequestId)

    # filter results for Allow and Optimize endpoints, and transform these into custom objects with port and category
    $flatUrls = $endpointSets | ForEach-Object {
        $endpointSet = $_
        $allowUrls = $(if ($endpointSet.allowUrls.Count -gt 0) { $endpointSet.allowUrls } else { @() })
        $optimizeUrls = $(if ($endpointSet.optimizeUrls.Count -gt 0) { $endpointSet.optimizeUrls } else { @() })
        
        $allowUrlCustomObjects = $allowUrls | ForEach-Object {
            [PSCustomObject]@{
                category = "Allow";
                url      = $_;
                # Allow URLs should permit traffic across both Allow and Optimize ports
                tcpPorts = (($endpointSet.allowTcpPorts, $endpointSet.optimizeTcpPorts) | Where-Object { $_ -ne $null }) -join ",";
                udpPorts = (($endpointSet.allowUdpPorts, $endpointSet.optimizeUdpPorts) | Where-Object { $_ -ne $null }) -join ",";
            }
        }
        $optimizeUrlCustomObjects = $optimizeUrls | ForEach-Object {
            [PSCustomObject]@{
                category = "Optimize";
                url      = $_;
                tcpPorts = $endpointSet.optimizeTcpPorts;
                udpPorts = $endpointSet.optimizeUdpPorts;
            }
        }
        $allowUrlCustomObjects, $optimizeUrlCustomObjects
    }

    $flatIps = $endpointSets | ForEach-Object {
        $endpointSet = $_
        $ips = $(if ($endpointSet.ips.Count -gt 0) { $endpointSet.ips } else { @() })
        # IPv4 strings have dots while IPv6 strings have colons
        $ip4s = $ips | Where-Object { $_ -like '*.*' }
        
        $allowIpCustomObjects = @()
        if ($endpointSet.allowTcpPorts -or $endpointSet.allowUdpPorts) {
            $allowIpCustomObjects = $ip4s | ForEach-Object {
                [PSCustomObject]@{
                    category = "Allow";
                    ip = $_;
                    tcpPorts = $endpointSet.allowTcpPorts;
                    udpPorts = $endpointSet.allowUdpPorts;
                }
            }
        }
        $optimizeIpCustomObjects = @()
        if ($endpointSet.optimizeTcpPorts -or $endpointSet.optimizeUdpPorts) {
            $optimizeIpCustomObjects = $ip4s | ForEach-Object {
                [PSCustomObject]@{
                    category = "Optimize";
                    ip       = $_;
                    tcpPorts = $endpointSet.optimizeTcpPorts;
                    udpPorts = $endpointSet.optimizeUdpPorts;
                }                
            }
        }
        $allowIpCustomObjects, $optimizeIpCustomObjects
    }
    
    Write-Output "IPV4 Firewall IP Address Ranges"
    ($flatIps.ip | Sort-Object -Unique) -join "," | Out-String

    Write-Output "URLs for Proxy Server"
    ($flatUrls.url | Sort-Object -Unique) -join "," | Out-String

    # TODO Call Send-MailMessage with new endpoints data
}
else {
    Write-Host "Office 365 worldwide commercial service instance endpoints are up-to-date"
}

Пример скрипта Python

Вот сценарий Python, протестированных с Python 3.6.3 на Windows 10, который можно запустить для просмотра, есть ли действия, которые необходимо предпринять для обновленные данные. Этот сценарий проверяет номер версии для конечных точек экземпляра по всему миру Office 365. При изменении ее загрузки конечных точек и фильтры для конечных точек категории «Разрешить». Также использует уникальный ClientRequestId через несколько вызовов и сохраняет в файле временные последнюю версию. Чтобы проверить наличие обновлений версии обращаться этот сценарий один раз в час.

import json
import os
import urllib.request
import uuid

# helper to call the webservice and parse the response
def webApiGet(methodName, instanceName, clientRequestId):
    ws = "https://endpoints.office.com"
    requestPath = ws + '/' + methodName + '/' + instanceName + '?clientRequestId=' + clientRequestId
    request = urllib.request.Request(requestPath)
    with urllib.request.urlopen(request) as response:
        return json.loads(response.read().decode())

# path where client ID and latest version number will be stored
datapath = os.environ['TEMP'] + '\endpoints_clientid_latestversion.txt'

# fetch client ID and version if data exists; otherwise create new file
if os.path.exists(datapath):
    with open(datapath, 'r') as fin:
        clientRequestId = fin.readline().strip()
        latestVersion = fin.readline().strip()
else:
    clientRequestId = str(uuid.uuid4())
    latestVersion = '0000000000'
    with open(datapath, 'w') as fout:
        fout.write(clientRequestId + '\n' + latestVersion)

# call version method to check the latest version, and pull new data if version number is different
version = webApiGet('version', 'O365Worldwide', clientRequestId)
if version['latest'] > latestVersion:
    print('New version of Office 365 worldwide commercial service instance endpoints detected')

    # write the new version number to the data file
    with open(datapath, 'w') as fout:
       fout.write(clientRequestId + '\n' + version['latest'])

    # invoke endpoints method to get the new data
    endpointSets = webApiGet('endpoints', 'O365Worldwide', clientRequestId)

    # filter results for Allow and Optimize endpoints, and transform these into tuples with port and category
    flatUrls = []
    for endpointSet in endpointSets:
        allowUrls = endpointSet['allowUrls'] if 'allowUrls' in endpointSet else []
        optimizeUrls = endpointSet['optimizeUrls'] if 'optimizeUrls' in endpointSet else []

        # Allow URLs should permit traffic across both Allow and Optimize ports
        allowTcpPorts = endpointSet['allowTcpPorts'] if 'allowTcpPorts' in endpointSet else ''
        optimizeTcpPorts = endpointSet['optimizeTcpPorts'] if 'optimizeTcpPorts' in endpointSet else ''
        allTcpPorts = ','.join([ports for ports in [allowTcpPorts, optimizeTcpPorts] if ports != ''])

        allowUdpPorts = endpointSet['allowUdpPorts'] if 'allowUdpPorts' in endpointSet else ''
        optimizeUdpPorts = endpointSet['optimizeUdpPorts'] if 'optimizeUdpPorts' in endpointSet else ''
        allUdpPorts = ','.join([ports for ports in [allowUdpPorts, optimizeUdpPorts] if ports != ''])

        flatUrls.extend([('Allow', allowUrl, allTcpPorts, allUdpPorts) for allowUrl in allowUrls])
        flatUrls.extend([('Optimize', optimizeUrl, optimizeTcpPorts, optimizeUdpPorts) for optimizeUrl in optimizeUrls])

    flatIps = []
    for endpointSet in endpointSets:
        ips = endpointSet['ips'] if 'ips' in endpointSet else []
        # IPv4 strings have dots while IPv6 strings have colons
        ip4s = [ip for ip in ips if '.' in ip]
        if 'allowTcpPorts' in endpointSet or 'allowUdpPorts' in endpointSet:
            allowTcpPorts = endpointSet['allowTcpPorts'] if 'allowTcpPorts' in endpointSet else ''
            allowUdpPorts = endpointSet['allowUdpPorts'] if 'allowUdpPorts' in endpointSet else ''
            flatIps.extend([('Allow', ip, allowTcpPorts, allowUdpPorts) for ip in ip4s])
        if 'optimizeTcpPorts' in endpointSet or 'optimizeUdpPorts' in endpointSet:
            optimizeTcpPorts = endpointSet['optimizeTcpPorts'] if 'optimizeTcpPorts' in endpointSet else ''
            optimizeUdpPorts = endpointSet['optimizeUdpPorts'] if 'optimizeUdpPorts' in endpointSet else ''
            flatIps.extend([('Optimize', ip, optimizeTcpPorts, optimizeUdpPorts) for ip in ip4s])

    print('IPv4 Firewall IP Address Ranges')
    print(','.join(sorted(set([ip for (category, ip, tcpPorts, udpPorts) in flatIps]))))

    print('URLs for Proxy Server')
    print(','.join(sorted(set([url for (category, url, tcpPorts, udpPorts) in flatUrls]))))

    # TODO send mail (e.g. with smtplib/email modules) with new endpoints data

else:
    print('Office 365 worldwide commercial service instance endpoints are up-to-date')

Веб-службы управления версиями интерфейса

Обновление параметров и результаты для этих методов веб-службы может потребоваться в будущем. После публикации официальная версия этих веб-служб Microsoft сделает обоснованные действия для уведомления материальный обновлений на веб-службы. Когда корпорация Майкрософт считает, что обновление потребует изменений с клиентами с помощью веб-службы, корпорация Майкрософт сохранит предыдущей версии (одна версия назад) к веб-службе доступен по крайней мере двенадцать (12) месяцев после выпуска новой версии. Пользователям выполнять обновление в это время не удается получить доступ к веб-службы и ее способов. Пользователи должны убедиться, что клиенты веб-службы по-прежнему работать без ошибок, если следующие изменения вносятся в Интернете: подпись интерфейса службы:

  • Добавление нового необязательный параметр существующий веб-метод, который не требуется, чтобы предоставляемые старых клиентах и не влияют на результат старых клиент получает.

  • Добавление нового именованного атрибута в одном из ОСТАЛЬНЫХ элементов ответа или в дополнительных столбцах CSV-файла в ответ.

  • Добавление новой веб-метод с новое имя, которое не вызваны старых клиентов.

Вопросы о подключении, часто задаваемые администраторами

Щелкните ссылку внизу в зависимости от того, оказалась ли статья полезной для вас, и отправьте все дополнительные вопросы. Мы отслеживаем отзывы и добавляем сюда наиболее часто задаваемые вопросы.

Новые конечные точки вступают в силу и начинают получать сетевые запросы через 30 и более дней после объявления. За это время клиенты и партнеры могут обновить свои системы. Добавленные и удаленные полные доменные имена и IP-префиксы обрабатываются в XML-файле одновременно с объявлением, а следовательно новые полные доменные имена появляются в XML-файле за 30 дней до использования. Поскольку отправка сетевых запросов через удаляемые конечные точки прекращается до объявления об их удалении, на момент удаления конечной точки из XML-файла, которое происходит одновременно с объявлением, она уже не используется.

Конечные точки Office 365 публикуются в конце каждого месяца с уведомлением за 30 дней. В особых случаях изменения могут вноситься несколько раз в течение месяца или с более коротким сроком уведомления. При добавлении конечной точки в RSS-канале указывается дата ее вступления в действие, после которой на нее будут отправляться сетевые запросы. Если вы раньше не работали с RSS-каналом, подпишитесь на него через Outlook или настройте получение обновлений RSS-канала по электронной почте.

После оформления подписки на RSS-канал вы можете проанализировать информацию самостоятельно или при помощи скрипта. Для облегчения этой задачи в представленной ниже таблице описана структура RSS-канала.

Раздел

Элемент 1

Элемент 2

Элемент 3

Элемент 4

Элемент 5

Элемент 6

Описание

Номер

Дата, после которой в конечную точку могут отправляться сетевые запросы.

Основные сведения о компоненте или службе, которые используют конечную точку.

Можно ли подключиться к этой конечной точке только по Интернету или также через канал ExpressRoute?

Yes (Да) — к этой конечной точке можно подключиться как по Интернету, так и через канал ExpressRoute.

No (Нет) — к этой конечной точке можно подключиться только по Интернету.

Целевое полное доменное имя (FQDN) или диапазон IP-адресов для добавления.

Пример

1/

[Effective xx/xx/xxx.

Required: <описание>.

ExpressRoute:

<Yes/No>.

<FQDN/IP>],

В каждой записи используются следующие разделители:

  • / — ставится после номера;

  • [ — начало записи, соответствующей номеру;

  • . — ставится между отдельными разделами записи;

  • ], — конец отдельной записи;

  • ]. — конец всех записей.

Расположение клиента проще всего определить с помощью нашей карты центров обработки данных.

Расположения пиринговых подключений более подробно описаны здесь.

Благодаря наличию более 2500 пиринговых связей с поставщиками услуг Интернета по всему миру и 70 точек присутствия подключение к сети Майкрософт не должно составить проблем. Убедитесь в том, что ваш поставщик услуг Интернета использует оптимальную пиринговую связь. Вот несколько примеров подключений к нашей сети — как хороших, так и не очень.

Маршруты ExpressRoute определяются диапазонами IP-адресов Майкрософт и конкретными Office 365сообществами BGP.

Мы регулярно добавляем в набор Office 365 новые возможности и службы, таким образом увеличивая число узлов для подключения. Если вы подписаны на план E3 или E5, для доступа ко всем функциям набора вам понадобятся все конечные точки из списка. Если вы используете другой план, число задействованных конечных точек не сильно изменится.

Прочитайте Принципы Office 365 сетевого подключения для получения дополнительных сведений о Office 365 конечную точку категории, а также понять принципы подключения для безопасного управления Office 365 трафика и получение оптимальной производительности.

На представленном ниже изображении приведен пример части таблицы с полными доменными именами из раздела "Office Online". В каждой строке указан компонент и приведены различные параметры подключения. В первых двух строках указано, что Office Online использует обязательные конечные точки для проверки подлинности и удостоверений Office 365, а также для портала и общих служб. Многие службы Office 365 зависят от этих общих служб. В третьей строке указано, что для использования Office Online у клиентских компьютеров должна быть возможность связи с доменом *.officeapps.live.com, а в четвертой — аналогичное для домена *.cdn.office.net.

Хотя для использования Office Online должны выполняться условия, указанные как в строке 3, так и в строке 4, они приведены в разных строках, так как назначения для них различаются.

  1. Домен *.officeapps.live.com не является сетью доставки содержимого, поэтому запросы, отправленные в это пространство имен, будут напрямую попадать в центры обработки данных Майкрософт.

  2. Домен *.officeapps.live.com доступен через схемы ExpressRoute с помощью пиринга Майкрософт.

  3. IP-адреса, связанные с Office Online и доменом *.officeapps.live.com, можно найти по ссылке.

  4. Домен *.cdn.office.net представляет собой сеть доставки содержимого, размещенную компанией Akamai, поэтому запросы в это пространство имен будут направляться в центры обработки данных Akamai.

  5. Домен *.cdn.office.net недоступен через схемы ExpressRoute.

  6. IP-адреса, связанные с Office Online и доменом *.cdn.office.net, недоступны.

Снимок экрана: страница конечных точек

Мы предоставляем только IP-адреса серверов Office 365, к которым должна выполняться прямая маршрутизация через Интернет или ExpressRoute. Это не полный список всех IP-адресов, для которых будут создаваться сетевые запросы. Вы будете видеть запросы к IP-адресам Майкрософт и сторонних лиц, которых нет в этом списке. Они создаются или настраиваются динамически, и об их изменении невозможно известить заранее. Если брандмауэр не разрешает доступ на основе полных доменных имен для этих сетевых запросов, используйте PAC- или WPAD-файл для управления запросами.

Хотите узнать больше об IP-адресе, связанном с Office 365?

  1. Проверьте, нет ли его в более широком диапазоне опубликованных IP-адресов, используя калькулятор CIDR.

  2. Узнайте, не принадлежит ли IP-адрес партнеру, с помощью запроса whois. Если он принадлежит Майкрософт, возможно, это внутренний партнер.

  3. Проверьте сертификат, в браузере установите подключение к IP-адресу, указав его в формате HTTPS://<IP_АДРЕС>, проверьте домены, указанные в сертификате, чтобы понять, какие домены связаны с IP-адресом. Если этот IP-адрес принадлежит корпорации Майкрософт и отсутствует в списке адресов Office 365, скорее всего, он связан с сетью CDN Майкрософт, например MSOCDN.NET, или другим доменом Майкрософт, для которого не опубликованы сведения об IP-адресе. Если действительно окажется, что IP-адрес домена, указанного в сертификате, должен быть добавлен в список, сообщите нам об этом.

Office 365 и другие службы Майкрософт используют некоторые сторонние службы, такие как Akamai и MarkMonitor, для улучшения работы Office 365. В будущем мы можем сменить их, чтобы обеспечить стабильно высокий уровень обслуживания. При этом мы часто публикуем запись CNAME, указывающую на сторонний домен, запись A или IP-адрес. В стороннем домене может размещаться содержимое, например CDN, или служба, например геослужба управления трафиком. Подключения к этим сторонним поставщикам отображаются в виде перенаправления или ссылки, а не как первоначальные запросы от клиента. Некоторым клиентам необходимо разрешить такие ссылки и перенаправления, не добавляя отдельно длинный список полных доменных имен, которые могут использовать сторонние службы.

Список служб может быть изменен в любое время. Ниже перечислены некоторые из служб, которые используются в настоящее время.

Служба MarkMonitor используется, если вы видите запросы, включающие полное доменное имя *.nsatc.net. Эта служба обеспечивает безопасность и мониторинг доменных имен для защиты от злоумышленников.

Служба ExactTarget используется, если вы видите запросы на полное доменное имя *.exacttarget.com. Эта служба обеспечивает администрирование и мониторинг ссылок в сообщениях электронной почты для защиты от злоумышленников.

Служба Akamai используется, если вы видите запросы, включающие одно из указанных ниже полных доменных имен. Эта служба предоставляет услуги geo-DNS и CDN.

*.akadns.net
*.akam.net
*.akamai.com
*.akamai.net
*.akamaiedge.net
*.akamaihd.net
*.akamaized.net
*.edgekey.net
*.edgesuite.net

  • Вы подключаетесь к сторонним службам для обеспечения работы базовых служб Интернета, например для поиска DNS или получения содержимого по сети CDN. Подключение к сторонним службам также необходимо для интеграции, например для внедрения видеороликов YouTube в записные книги OneNote.

  • Вы подключаетесь к дополнительным службам, размещенным и работающим в корпорации Майкрософт, таким как граничные узлы, чтобы ваши сетевые запросы поступали в глобальную сеть Майкрософт в ближайшей точке доступа к Интернету. Благодаря тому, что это третья по величине сеть на планете, эффективность подключения существенно повышается. Вы также подключаетесь к службам Microsoft Azure, таким как службы мультимедиа Azure, которые используются многими службами Office 365.

  • Вы подключаетесь к основным службам Office 365, таким как почтовый сервер Exchange Online или сервер Skype для бизнеса Online, на которых размещаются ваши уникальные данные. Для подключения к основным службам Office 365 можно использовать полное доменное имя или IP-адрес, каналы Интернета или ExpressRoute. Подключение к сторонним или дополнительным службам возможно только по каналу Интернета с использованием полного доменного имени.

На приведенной ниже схеме показаны различия между областями действия этих служб. На этой схеме локальная сеть, расположенная в левом нижнем углу, содержит несколько сетевых устройств для управления сетевыми подключениями. Подобные конфигурации часто встречаются у корпоративных клиентов. Если ваша сеть содержит только брандмауэр между клиентскими компьютерами и Интернетом, такая конфигурация также поддерживается, однако необходимо убедиться, что брандмауэр поддерживает наличие полных доменных имен и подстановочных знаков в правилах списка разрешений.

Прочитайте Принципы Office 365 сетевого подключения для получения дополнительных сведений о Office 365 конечную точку категории, а также понять принципы подключения для безопасного управления Office 365 трафика и получение оптимальной производительности.

Три типа конечных точек сети при использовании Office 365

Office 365 — это набор служб, рассчитанный на работу через Интернет, и заверения о его надежности и доступности подразумевают доступность многих стандартных служб Интернета. Например, стандартные службы Интернета, такие как DNS, CRL и CDN, должны быть доступны для использования Office 365 точно так же, как и для большинства современных веб-служб.

Помимо этих базовых служб Интернета существуют сторонние службы, которые используются только для интеграции функциональных возможностей. Например, использование Giphy.com в Microsoft Teams позволяет клиентам добавлять изображения в формате GIF. YouTube и Flickr — это тоже сторонние службы, используемые для интеграции видео и изображений из Интернета в клиенты Office. Хотя эти службы необходимы для интеграции, в статье о конечных точках Office 365 они помечены как необязательные: если такая конечная точка будет недоступна, базовая функциональность службы нарушена не будет.

Если при попытке использования Office 365 вы обнаружите, что сторонние службы недоступны, убедитесь, что все полные доменные имена, помеченные в этой статье как обязательные или необязательные, разрешены на прокси-сервере и в брандмауэре.

Дополнительные службы — это службы Майкрософт, которые не находятся под управлением Office 365. Это такие компоненты, как сеть периметра, службы мультимедиа Azure и сети доставки содержимого Azure. Все они требуются для использования Office 365 и должны быть доступны.

Если при попытке использования Office 365 вы обнаружите, что сторонние службы недоступны, убедитесь, что все полные доменные имена, помеченные в этой статье как обязательные или необязательные, разрешены на прокси-сервере и в брандмауэре.

Вы несете всю ответственность за последствия блокирования доступа к нашим службам для потребителей. Единственный надежный способ сделать это — заблокировать полное доменное имя login.live.com. Это полное доменное имя используется целым рядом служб, в том числе не предназначенных для потребителей, например MSDN, TechNet и т. п. Если вы заблокируете его, вам может понадобиться добавить исключения для правила обслуживания сетевых запросов, связанных с этими сервисами.

Имейте в виду, что если заблокировать доступ только к службам Майкрософт для потребителей, сохранится вероятность того, что какой-либо пользователь в сети сможет отфильтровать данные с помощью клиента Office 365 или другой службы.

См. также:

Microsoft Azure центра обработки данных диапазоны IP-адресов
Microsoft общедоступного места IP
требований к сетевой инфраструктуре Майкрософт Intune
Power BI и ExpressRoute
Office 365 URL-адреса и IP-адрес диапазоны
Управление ExpressRoute для Office 365 connectivity
Принципы возможность подключения к сети Office 365

Совершенствование навыков работы с Office
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×