Office
Přihlásit se

Správa koncových bodů Office 365

Připojení k síti Office 365

8. 3. 2018 Připojení k Office 365 obsahují velký počet požadavků do důvěryhodné sítě. Předpokladem nejlepšího výkonu je přenos s nízkou latencí v blízkosti uživatele. U některých připojení k Office 365 může být výhodná optimalizace připojení.

  1. Je potřeba zajistit, aby seznamy povolení brány firewall povolovaly připojení ke koncovým bodům Office 365.

  2. Prostřednictvím své proxy infrastruktury povolte internetové připojení k cílům se zástupnými znaky a nepublikovaným cílům.

  3. Udržujte optimální konfiguraci hraniční sítě.

  4. Zajistěte co nejlepší připojení.

  5. Přečtěte si článek Principy připojení sítě k Office 365, který vám pomůže pochopit principy připojení pro bezpečnou správu provozu v Office 365 a zajištění nejlepšího možného výkonu.

Připojení k Office 365 prostřednictvím bran firewall a proxy serverů

Aktualizace seznamů povolených koncových bodů brány firewall pro odchozí připojení

Síť můžete optimalizovat tím, že všechny požadavky do důvěryhodné sítě Office 365 pošlete přímo přes bránu firewall, takže obejdete všechny další kontroly nebo zpracování na úrovni paketů. Zvýšíte tak nízký výkon způsobený latencí a snížíte požadavky na kapacitu hraniční sítě. Požadavky do sítě, které jsou důvěryhodné, zjistíte nejsnadněji pomocí našich předem připravených souborů PAC na výše uvedené kartě Proxy servery.

Pokud vaše brána firewall blokuje odchozí přenosy, budete muset zajistit, aby byly všechny IP adresy a plně kvalifikované názvy domén uvedené jako povinné v tomto souboru XML na seznamu povolených položek. Identifikujte všechny služby vyžadující použití některých služeb třetích stran. Pro služby třetích stran, jako jsou poskytovatelé certifikátů, sítě CDN, poskytovatelé DNS atd., neposkytujeme IP adresy. Aby mohla být zajištěna plná funkčnost Office 365, musí být pro vás dostupné všechny cíle, které požaduje Office 365, a to bez ohledu na to, kolik o jednotlivých cílech publikujeme informací.

Mnoho cílů nemá publikované IP adresy nebo jsou uvedené jako doména se zástupnými znaky bez konkrétního plně kvalifikovaného názvu domény. Abyste mohli využívat tuto funkci, musíte být schopni vyřešit tyto síťové požadavky na aktuální požadovanou IP adresu a odeslat síťový požadavek přes internet.

Automatizujte proces pomocí brány firewall, která tento soubor XML analyzuje za vás a aktualizuje vaše pravidla automaticky na základě služeb nebo funkcí, které plánujete směrovat přímo prostřednictvím své brány firewall. Můžete také použít komunitou vytvořený nástroj Azure Range, který analyzuje tento soubor XML a obsahuje možnosti exportu pro Cisco XE Route nebo konfiguraci seznamu ACL, prostý text nebo formát CSV.

Podrobnější vysvětlení síťových cílů je dostupné na našem referenčním webu a prostřednictvím protokolu změn ve formátu RSS, jehož změny můžete odebírat.

Konfigurace odchozích cest pomocí souborů PAC

Soubory PAC nebo WPAD použijte ke správě síťových požadavků, které jsou přidružené k Office 365, ale nemají poskytnutou adresu IP. U síťových požadavků posílaných prostřednictvím proxy serveru nebo hraničního zařízení obvykle vzniká další latence. Vzhledem k tomu, že nejvíce prostředků spotřebuje ověřování proxy serveru, může se zhoršit kvalita ostatních služeb, jako jsou vyhledávání reputace a pokusy kontrolovat pakety. Tato hraniční síťová zařízení také musí mít dostatečnou kapacitu, aby dokázala zpracovat všechny síťové požadavky. Proto u přímých síťových požadavků Office 365 doporučujeme obejít proxy server i kontrolní infrastrukturu.

K prvotnímu určení toho, jaký síťový přenos se bude odesílat na proxy server a jaký na bránu firewall, použijte jeden z našich souborů PAC. Pokud jste se soubory PAC nebo WPAD ještě nepracovali, přečtěte si tento příspěvek o nasazování souborů PAC od jednoho z našich konzultantů na Office 365. Začněte tím, že si přečtete tyto informace a přizpůsobíte si je tak, aby vyhovovaly vašemu prostředí.

Soubory PAC byly aktualizovány 12. 6. 2018.

První příklad je ukázka námi doporučovaného postupu, jak spravovat koncové body jenom přes internet. Obchází proxy server pro cíle Office 365, jejichž IP adresa je publikovaná, a zbývající síťové požadavky odesílá na proxy server.

Fragment kódu:

// 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;
}

Druhý příklad je ukázka námi doporučovaného postupu, jak spravovat připojení, když jsou k dispozici okruhy ExpressRoute a internetu. Odesílá inzerované cíle ExpressRoute do okruhu ExpressRoute a čistě internetové inzerované cíle na proxy server.

Fragment kódu:

// 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;
    }
}

Třetí příklad ukazuje odesílání všech síťových požadavků přidružených k Office 365 do jednoho cíle. Tento způsob se často používá k vynechání všech kontrol síťových požadavků Office 365 a zároveň nabízí formát, kdy jsou všechny publikované koncové body v seznamu ve formátu PAC, který můžete použít k přizpůsobení.

Fragment kódu:

// 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";
}

Tady je několik dalších nástrojů z komunity. Pokud jste vytvořili nějaký nástroj, o který se chcete podělit, nechte poznámku v komentářích. Žádný z komunitních nástrojů popisovaných v tomto článku není oficiálně podporovaný ani spravovaný Microsoftem. Uvádíme ho zde jen pro referenci.

  • Tady je nejstarší nástroj, který vznikl v komunitě a pomůže vám při správě procesu. Nástroj vytvořil člen komunity Office 365. Tady je odkaz ke stažení.

  • Testování konceptu s exportovatelnými pravidly brány firewall: Microsoft Cloud IP API

  • Od IT praktika: převod informačního kanálu RSS a převod souboru XML

  • Od Petera Abeleho: Stáhnout

  • Použijte svou síťovou analýzu k určení síťových požadavků, které by měly vaši infrastrukturu proxy serveru obejít. Nejběžnějšími plně kvalifikovanými názvy domén používanými k obejití proxy serverů zákazníků jsou kvůli odchozímu a příchozímu objemu provozu sítě z těchto koncových bodů tyto:

    outlook.office365.com
    outlook.office.com
    <tenant-name>.sharepoint.com
    <tenant-name>-my.sharepoint.com
    <tenant-name>-<app>.sharepoint.com
    *.Lync.com
    
  • Ujistěte se, že všechny síťové požadavky odesílané přímo bráně firewall mají odpovídající položku v seznamu povolených položek pro bránu firewall, aby požadavku bylo umožněno projít.

Integrace hraniční sítě

Věděli jste, že síť WAN Microsoftu je jednou z největších páteřních sítí na světě?

Je to tak. Díky této masivní síti fungují služby Office 365 i další naše cloudové služby bez ohledu na místo, kde na světě jste. Naše síť se skládá z širokopásmového prostoru s nízkou latencí, odkazů schopných převzít služby při selhání, tisíců kilometrů tras soukromých nepoužívaných optických kabelů, spojení mezi datacentry o velikosti mnoha terabajtů a okrajových uzlů, které usnadňují používání našich cloudových služeb.

U sítě této velikosti k ní budete chtít připojit zařízení své organizace co nejdříve. Díky více než 2 500 globálním partnerským vztahům s poskytovateli internetových služeb a 70 bodům POP (Point of Presence) by připojení vaší sítě k naší mělo proběhnout bez problémů. Vyplatí se, když budete věnovat několik minut kontrole optimálního partnerského vztahu s vaším poskytovatelem internetových služeb. Tady je několik příkladů dobrých i ne zrovna optimálních případů předání přenosu do naší sítě.

Zařízení v síti můžete konfigurovat ručně nebo automaticky, aby v závislosti na vašem zařízení optimálně zpracovávala síťové požadavky aplikací Office 365. Změny konfigurace potřebné k optimálnímu zpracování síťového provozu Office 365 budou záviset na vašem prostředí. Pro síťové požadavky Office 365 mohou být užitečné síťové konfigurace, které nabízejí následující možnosti:

  • Priorita před méně důležitými síťovými přenosy

  • Přesměrování na místní výchozí přenos, aby se předešlo zpětným přenosům přes pomalou linku WAN a současně se využilo nízké latence, která je dostupná v síti Microsoftu. Tady je užitečná diskuze, která vychází ze zkušeností zákazníků.

  • Použitím DNS v blízkosti místního výchozího přenosu zajistíte, že síťový požadavek, který opustí bod místního výchozího přenosu, dorazí do nejbližšího místa pro partnerský vztah s Microsoftem.

  • Vyloučení hloubkové kontroly paketů a jejich dalšího zpracování náročného na síť, aby bylo možné v požadovaném měřítku vyhovět požadavkům na nízkou latenci

Moderní síťová zařízení zahrnují funkce pro správu síťových požadavků důvěryhodných aplikací, jako je Office 365. Tato správa probíhá jinak než u obecného, nedůvěryhodného internetového provozu. Řešení SD-WAN, která se postupně rozšiřují, umožňují rozlišovat přenosy a nabízejí výběr cesty podle měnícího se stavu sítě, například podle dostupnosti v určitém časovém okamžiku, latence nebo výkonu různých spojovacích cest mezi uživatelem a cloudem.

Další pokyny k plánování konfigurace sítě najdete v tématech Plánování sítě a migrace pro Office 365, Plán řešení problémů s výkonem Office 365 a Kontrolní seznam pro plánování nasazení Office 365.

Implementace tohoto scénáře:

Zeptejte se svého poskytovatele síťového řešení nebo poskytovatele služeb, jestli může použít adresu URL Office 365 a definice IP adres z definice XML, aby umožnil místní (pro uživatele) síťový výchozí přenos pro Office 365 s nízkou režií a správu jeho priority ve vztahu k jiným aplikacím a nastavení síťové cesty pro připojení Office 365 k síti Microsoftu podle měnících se podmínek v síti. Některá řešení si do svých zásobníků stáhnou definice XML adres URL a IP adres Office 365 a automatizují je.

Vždy ověřte, zda má implementované řešení potřebný stupeň odolnosti, odpovídající geografickou redundanci síťové cesty pro provoz Office 365. Dále ověřte, jestli bere v úvahu zveřejněné změny adres URL a IP adres Office 365.

Abychom vám usnadnili identifikaci a rozlišení síťového provozu Office 365, publikuje nová webová služba koncové body Office 365, čímž zjednodušuje vyhodnocování, konfiguraci a aktualizaci změn. Tato nová webová služba (nyní ve verzi Preview) nahradí seznamy koncových bodů v článku Adresy URL a rozsahy IP adres pro Office 365 společně s RSS a XML verzemi těchto dat. Tyto formáty dat koncových bodů se budou postupně zavádět v blízké budoucnosti.

Jako zákazník nebo dodavatel zařízení hraniční sítě můžete otestovat novou webovou službu založenou na architektuře REST pro IP adresy a položky FQDN Office 365, která je teď ve verzi Preview:

Jako zákazník můžete tuto webovou službu použít k těmto účelům:

  • Můžete aktualizovat skript PowerShellu k získání dat koncových bodů Office 365 a úpravám jakéhokoli formátování síťových zařízení.

  • Tyto informace můžete použít k aktualizaci souborů PAC nasazených do klientských počítačů.

Jako dodavatel zařízení hraniční sítě můžete tuto webovou službu použít k těmto účelům:

  • Můžete vytvořit a otestovat software zařízení ke stažení seznamu pro automatickou konfiguraci.

  • Můžete ověřit aktuální verzi.

  • Můžete získat aktuální změny.

Následující části popisují verzi Preview této webové služby. Tato verze se může průběžně měnit do doby, než bude služba všeobecně dostupná.

Data ve webové službě jsou aktuální. Výjimkou je tento známý problém:

Společné parametry

Následující parametry jsou společné pro všechny metody webových služeb:

  • format=CSV | JSON – Jedná se o parametr řetězce dotazu. Ve výchozím nastavení jsou vrácená data ve formátu JSON. Tento volitelný parametr zahrňte, pokud chcete vracet data ve formátu CSV (hodnoty oddělené čárkami).

  • ClientRequestId – Jedná se o parametr řetězce dotazu. Povinný identifikátor GUID, který vygenerujete pro přidružení klientské relace. Identifikátor GUID byste měli vygenerovat pro každý klientský počítač, který volá webovou službu. Identifikátory GUID uvedené v následujících příkladech nepoužívejte, protože je v budoucnu může webová služba blokovat. Formát identifikátoru GUID je xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, kde x představuje šestnáctkové číslo. Pokud chcete vygenerovat identifikátor GUID, použijte příkaz PowerShellu New-Guid.

Webová metoda verzí

Microsoft aktualizuje IP adresu a položky FQDN pro Office 365 na konci každého měsíce a kvůli provozním požadavkům někdy i častěji. Datům pro jednotlivé publikované instance je přiřazeno číslo verze. Webová metoda verzí umožňuje hlasovat pro nejnovější verzi pro jednotlivé instance služby Office 365. Očekává se, že koncové body se budou měnit jednou za měsíc. Doporučujeme kontrolovat verzi denně, maximálně jednou za hodinu.

Webová metoda verzí má jeden parametr:

  • AllVersions=true – Jedná se o parametr řetězce dotazu. Ve výchozím nastavení se vrátí nejnovější verze. Tento volitelný parametr zahrňte, pokud vyžadujete všechny publikované verze.

  • Instance – Jedná se o parametr směrování. Tento volitelný parametr určuje instanci, pro kterou se má verze vrátit. Pokud ho vynecháte, vrátí se všechny instance. Platné instance jsou: O365Worldwide, O365China, O365Germany, O365USGovDoD, O365USGovGCCHigh

Výsledkem webové metody verzí může být jeden záznam nebo pole záznamů. Prvky jednotlivých záznamů jsou:

  • instance – krátký název instance služby Office 365

  • latest – nejnovější verze pro koncové body zadané instance

  • versions – volitelný seznam všech předchozích verzí zadané instance

Příklady:

Příklad 1 – identifikátor URI žádosti: https://endpoints.office.com/version?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tento identifikátor URI vrátí nejnovější verzi jednotlivých instancí služby Office 365. Příklad výsledku:

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

Důležité informace: Identifikátor GUID pro parametr ClientRequestID je v těchto identifikátorech URI pouze pro příklad. Pokud si chcete identifikátory URI webové služby vyzkoušet, vygenerujte si svůj vlastní identifikátor GUID. Identifikátory GUID použité v těchto příkladech může webová služba v budoucnu blokovat.

Příklad 2 – identifikátor URI žádosti: https://endpoints.office.com/version/O365Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tento identifikátor URI vrátí nejnovější verzi zadané instance služby Office 365. Příklad výsledku:

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

Příklad 3 – identifikátor URI žádosti: https://endpoints.office.com/version/O365Worldwide?Format=CSV&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tento identifikátor URI zobrazuje výstup ve formátu CSV. Příklad výsledku:

instance,latest
O365Worldwide,2018031302

Příklad 4 – identifikátor URI žádosti: https://endpoints.office.com/version/O365Worldwide?Format=CSV&AllVersions=true&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tento identifikátor URI zobrazuje všechny předchozí verze, které byly publikovány pro instanci Office 365 Worldwide. Příklad výsledku:

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

Webová metoda koncových bodů

Webová metoda koncových bodů vrací všechny záznamy pro rozsahy IP adres a adresy URL, které tvoří službu Office 365. Parametry webové metody koncových bodů jsou:

  • ServiceAreas – Jedná se o parametr řetězce dotazu. Je to seznam oddělený čárkami obsahující oblasti služby. Platnými položkami jsou Common, Exchange, SharePoint, Skype. Vzhledem k tomu, že položky oblasti služby Common jsou předpokladem pro všechny ostatní oblasti služby, bude je webová služba vždy obsahovat. Pokud tento parametr nezahrnete, vrátí se všechny oblasti služby.

  • TenantName – Jedná se o parametr řetězce dotazu. Je to název vašeho tenanta Office 365. Webová služba převezme vámi poskytnutý název a vloží ho do částí adres URL, které obsahují název tenanta. Pokud název tenanta neposkytnete, budou dané části adres URL obsahovat zástupný znak (*). Parametr TenantName není součástí verze Preview.

  • Instance – Jedná se o parametr směrování. Tento povinný parametr určuje instanci, pro kterou se mají koncové body vrátit. Platné instance jsou: O365Worldwide, O365China, O365Germany, O365USGovDoD, O365USGovGCCHigh.

Výsledkem webové metody koncových bodů je pole záznamů, kde každý záznam představuje jednu sadu koncových bodů. Prvky pro jednotlivé záznamy jsou:

  • id – Což je neměnné číslo ID sady koncových bodů. Povinné.

  • serviceArea – Je oblast služby, které je součástí: Common, Exchange, SharePoint nebo Skype. Povinné.

  • defaultUrls – Jsou adresy URL pro sadu koncových bodů, které jsou v kategorii Default (Výchozí). Jedná se o pole JSON záznamů DNS.

  • allowUrls – adresy URL pro sadu koncových bodů, které jsou v kategorii Allow (Povolit). Jedná se o pole JSON záznamů DNS.

  • optimizeUrls – Jsou adresy URL pro sadu koncových bodů, které jsou v kategorii Optimize (Optimalizovat). Jedná se o pole JSON záznamů DNS.

  • defaultTcpPorts – Jsou porty TCP pro sadu koncových bodů, které jsou v kategorii Default. Všechny prvky portů jsou formátovány jako seznam portů oddělený čárkami nebo rozsahy portů oddělené znakem spojovníku (-). Porty dané kategorie platí pro všechny IP adresy v této sadě koncových bodů. Porty dané kategorie platí také pro všechny adresy URL v této sadě koncových bodů pro danou kategorii a také nižší kategorie. Nižší kategorie jsou definovány v pořadí Optimize, Allow a Default, kde Default je nejnižší kategorií.

  • allowTcpPorts – Jsou porty TCP pro rozsahy IP adres v této sadě koncových bodů, které jsou v kategorii Allow.

  • optimizeTcpPorts – Jsou porty TCP pro rozsahy IP adres v této sadě koncových bodů, které jsou v kategorii Optimize.

  • defaultUdpPorts – Jsou porty UDP pro rozsahy IP adres v této sadě koncových bodů, které jsou v kategorii Default.

  • allowUdpPorts – Jsou porty UDP pro rozsahy IP adres v této sadě koncových bodů, které jsou v kategorii Allow.

  • optimizeUdpPorts – Jsou porty UDP pro rozsahy IP adres v této sadě koncových bodů, které jsou v kategorii Optimize.

  • ips – Jsou rozsahy IP adres přidružené této sadě koncových bodů a přidružené uvedeným portům TCP nebo UDP.

  • expressRoute – Hodnota True nebo False, pokud je tato sada koncových bodů směrována přes službu ExpressRoute. Povinné.

  • optionalImpact – Pokud je tato sada koncových bodů volitelná, popisuje tento text funkce Office 365, které budou chybět v případě, že nepůjde přistupovat ke koncovým bodům v této sadě koncových bodů. Pokud sada koncových bodů není volitelná, tento prvek bude vyloučen.

Jakékoli prvky, které se neuvádí jako povinné, jsou ve výstupu REST volitelné.

Příklady:

Příklad 1 – identifikátor URI žádosti: https://endpoints.office.com/endpoints/O365Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tento identifikátor URI získá všechny koncové body pro instanci Office 365 Worldwide pro všechny úlohy. Příklad výsledku zobrazující ukázku z výstupu:

[
  {
    "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
  },
...

V tomto příkladu nejsou zahrnuté další sady koncových bodů.

Příklad 2 – identifikátor URI žádosti: https://endpoints.office.com/endpoints/O365Worldwide?ServiceAreas=Exchange&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tento příklad získá koncové body instance Office 365 Worldwide pouze pro Exchange Online a závislosti.

Výstup pro příklad 2 je podobný příkladu 1 s tím rozdílem, že výsledky nebudou zahrnovat koncové body pro SharePoint Online nebo Online Skype pro firmy.

Webová metoda změn

Webová metoda změn vrací nejnovější publikované aktualizace. Jedná se obvykle o změny rozsahů IP adres a adres URL za předchozí měsíc.

Parametrem webové metody změn je:

  • Version – Což je povinný parametr směrování adresy URL. Jedná se o verzi, kterou jste aktuálně implementovali, a změny chcete zobrazit právě od této verze. Formát je RRRRMMDDPČ.

Výsledkem webové metody změn je pole záznamů, kde každý záznam představuje změnu v konkrétní verzi koncových bodů. Prvky pro jednotlivé záznamy jsou:

  • id – Což je neměnný identifikátor ID záznamu změny. Povinné.

  • endpointSetId – Což je identifikátor ID záznamu sady koncových bodů, která se změnila. Povinné.

  • changeDescription – Jedná se o textový popis změny. Povinné.

  • disposition – Může se jednat o některou ze změn (přidání nebo odebrání) a popisuje, co přesně se v záznamu sady koncových bodů změnilo. Povinné.

  • version – Jedná se o verzi publikované sady koncových bodů, ve které byla změna představena. Čísla verze jsou ve formátu RRRRMMDDPČ, kde PČ je přirozené číslo zvýšené v případě, že existuje více verzí, které je potřeba publikovat v jednom dni.

  • previous – Jedná se o dílčí strukturu obsahující podrobnosti předchozích hodnot změněných prvků na sadě koncových bodů. Pro nově přidané sady koncových bodů nebude tento prvek zahrnut. Zahrnuje defaultTcpPorts, allowTcpPorts, optimizeTcpPorts, defaultUdpPorts, allowUdpPorts, optimizeUdpPorts, ExpressRoute, optionalImpact.

  • current – Jedná se o dílčí strukturu obsahující podrobnosti aktualizovaných hodnot prvků změn na sadě koncových bodů. Zahrnuje defaultTcpPorts, allowTcpPorts, optimizeTcpPorts, defaultUdpPorts, allowUdpPorts, optimizeUdpPorts, ExpressRoute, optionalImpact.

  • add – Jedná se o dílčí strukturu obsahující podrobnosti položek, které se mají přidat do kolekcí sad koncových bodů.

    • effectiveDate – Definuje datum, kdy budou přidané položky živě ve službě.

    • ips – Jedná se o položky, které se mají přidat do pole ips.

    • defaultUrls – Jedná se o položky, které se mají přidat do pole defaultUrls.

    • allowUrls – Jedná se o položky, které se mají přidat do pole allowUrls.

    • optimizeUrls – Jedná se o položky, které se mají přidat do pole optimizeUrls.

  • remove – Jedná se o dílčí strukturu obsahující podrobnosti o položkách, které se mají odebrat ze sady koncových bodů.

    • ips – Jedná se o položky, které se mají z pole ips odebrat.

    • defaultUrls – Jedná se o položky, které se mají z pole defaultUrls odebrat.

    • allowUrls – Jedná se o položky, které se mají z pole allowUrls odebrat.

    • optimizeUrls – Jedná se o položky, které se mají z pole optimizeUrls odebrat.

Příklady:

Příklad 1 – identifikátor URI žádosti: https://endpoints.office.com/changes/o365worldwide/0000000000?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tento příklad vyžádá všechny předchozí změny instance služby Office 365 Worldwide. Příklad výsledku:

[
  {
    "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"]
    }
  }
]

Příklad 2 – identifikátor URI žádosti: https://endpoints.office.com/changes/o365worldwide?version=2018031300&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tento příklad vyžádá změny, ke kterým došlo v instanci Office 365 Worldwide od zadané verze. Příklad výsledku:

[
  {
    "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"]
    }
  }
]

Příklad skriptu Powershellu

Toto je skript Powershellu, který můžete spustit a zjistit tak, jestli aktualizovaná data vyžadují nějaké akce. Tento skript zkontroluje číslo verze koncových bodů instance Office 365 Worldwide. Pokud došlo ke změně, stáhne koncové body a vyfiltruje koncové body kategorie Allow. Používá také jedinečný identifikátor ClientRequestId napříč více voláními a uloží nejnovější nalezenou verzi v dočasném souboru. Tento skript byste měli volat jednou za hodinu a zkontrolovat tak aktualizaci verze.

# 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"
}

Příklad skriptu Pythonu

Toto je skript Pythonu, otestovaný s Pythonem 3.6.3 ve Windows 10, který můžete spustit a zjistit tak, jestli aktualizovaná data vyžadují nějaké akce. Tento skript zkontroluje číslo verze koncových bodů instance Office 365 Worldwide. Pokud došlo ke změně, stáhne koncové body a vyfiltruje koncové body kategorie Allow. Používá také jedinečný identifikátor ClientRequestId napříč více voláními a uloží nejnovější nalezenou verzi v dočasném souboru. Tento skript byste měli volat jednou za hodinu a zkontrolovat tak aktualizaci verze.

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')

Správa verzí rozhraní webové služby

V budoucnu se mohou vyžadovat aktualizace parametrů nebo výsledků pro tyto metody webové služby. Jakmile bude publikována všeobecně dostupná verze těchto webových služeb, bude se Microsoft snažit poskytnout předem oznámení o aktualizacích webové služby. Pokud se bude společnost Microsoft domnívat, že určitá aktualizace bude vyžadovat změny klientů využívajících webovou službu, ponechá předchozí verzi (jednu verzi zpět) webové služby dostupnou alespoň 12 měsíců po vydání nové verze. Zákazníci, kteří během dané doby neprovedou upgrade, pravděpodobně nebudou moct k webové službě a jejím metodám přistupovat. Zákazníci musí zajistit, aby klienti webové služby mohli dále bezchybně fungovat v případě, že dojde k následujícím změnám podpisu rozhraní webové služby:

  • Přidání nového volitelného parametru do existující webové metody, kterou nemusí zajišťovat starší klienti a která nemá vliv na výsledek přijatý starším klientem

  • Přidání nového pojmenovaného atributu v jedné z položek odpovědi REST nebo dalších sloupců do souboru CSV odpovědi

  • Přidání nové webové metody s novým názvem, která není volána staršími klienty

Časté otázky správců ohledně připojení:

Kliknutím na odkaz v dolní části označte, jestli byl článek užitečný nebo ne, a odešlete jakékoli další otázky. Sledujeme vaše názory. A otázky, které jsou tu uvedené, aktualizujeme těmi, na které se ptáte nejčastěji.

Při oznámení nových koncových bodů trvá většinou nejméně 30 dnů, než začnou platit a než přes ně budou chodit síťové požadavky. Toto období zajišťuje, aby zákazníci a partneři měli příležitost k aktualizaci svých systémů. Přidané a odebrané plně kvalifikované názvy domén a předpony IP adres se zpracovávají v souboru XML zároveň s tímto prohlášením, což znamená, že nový plně kvalifikovaný název domény bude v tomto souboru XML 30 dnů předtím, než se začne používat. Protože síťové požadavky přestaneme na odebrané koncové body odesílat ještě předtím, než oznámíme jejich odebrání, při odebrání koncového bodu ze souboru XML v okamžiku oznámení se tento koncový bod už nepoužívá.

Koncové body Office 365 se publikují na konci každého měsíce a upozorňujeme na ně 30 dní předem. Občas mohou změny nastat častěji než jednou za měsíc nebo se může zkrátit oznamovací lhůta. Po přidání koncového bodu se v informačním kanálu RSS zobrazí datum platnosti, po kterém bude možné na daný koncový bod odesílat síťové požadavky. Pokud s technologií RSS teprve začínáte, přečtěte si postup, jak se přihlásit k odběru v Outlooku. Aktualizace informačního kanálu RSS vám také můžeme posílat e-mailem.

Po přihlášení se k odběru informačního kanálu RSS můžete informace analyzovat sami nebo pomocí skriptu. Následující tabulka vysvětluje pro zjednodušení formát informačního kanálu RSS.

Oddíl

Část 1

Část 2

Část 3

Část 4

Část 5

Část 6

Popis

Počet

Datum, po jehož uplynutí můžete předpokládat, že síťové požadavky byly odeslány koncovému bodu.

Základní popis funkce nebo služby, která vyžaduje koncový bod.

Lze se k tomuto koncovému bodu připojit kromě internetu také pomocí okruhu služby ExpressRoute?

Ano – k tomuto koncovému bodu se můžete připojit pomocí internetu i služby ExpressRoute.

Ne – k tomuto koncovému bodu se můžete připojit pouze pomocí internetu.

Přidání nebo odebrání cílového plně kvalifikovaného názvu domény nebo rozsahu IP adres.

Příklad

1/

[V platnosti od xx/xx/xxx.

Povinné: <popis>.

ExpressRoute:

<Ano/Ne>.

<Plně kvalifikovaný název domény / IP adresa>],

Můžete si všimnout, že všechny položky mají stejné oddělovače:

  • / – po uvedení počtu

  • [ – označení položky pro počet

  • . – použito mezi každou odlišnou částí položky

  • ], – označení konce každé položky

  • ]. – označení konce všech položek

K umístění tenanta je nejlepší použít naší mapu datacenter.

Podrobnější popis míst pro partnerský vztah najdete v informacích o partnerském vztahu s Microsoftem.

Díky více než 2 500 globálním partnerským vztahům s poskytovateli internetových služeb a 70 bodům POP (Point of Presence) by připojení vaší sítě k naší mělo proběhnout bez problémů. Vyplatí se, když budete věnovat několik minut kontrole optimálního partnerského vztahu s vaším poskytovatelem internetových služeb. Tady je několik příkladů dobrých i ne zrovna optimálních případů předání přenosu do naší sítě.

Akceptované trasy ExpressRoute jsou definované v rozsazích IP adres Microsoftu a definují je také určité Office 365komunity BGP.

Do sady Office 365 pravidelně přidáváme nové funkce a služby, které rozšiřují možnost připojení. Pokud máte předplacené plány (skladové položky) E3 nebo E5, můžete se na tento seznam koncových bodů jednoduše dívat tak, že k získání všech funkcí sady potřebujete všechny koncové body. Pokud nemáte předplacenu žádnou z těchto skladových položek, je rozdíl z hlediska počtu koncových bodů minimální.

Přečtěte si článek Principy připojení sítě k Office 365, který vám poskytne více informací o kategoriích koncových bodů Office 365 a pomůže vám pochopit principy připojení pro bezpečnou správu provozu v Office 365 a zajištění nejlepšího možného výkonu.

Na následujícím obrázku vidíte příklad z části tabulky plně kvalifikovaných názvů domén v oddílu Office Online. Řádky jsou uspořádané podle funkce a rozdílů v připojení. První dva řádky znamenají, že Office Online závisí na koncových bodech, které jsou v oddílech Ověřování a Identita Office 365 a v oddílech portálu a sdílení označené jako povinné. Obvykle platí, že služba je v rámci Office 365 na těchto sdílených službách závislá. Třetí řádek znamená, že klienti musí mít přístup k *.officeapps.live.com, aby mohli používat Office Online, a čtvrtý řádek znamená, že počítače musí mít také přístup k *.cdn.office.net, aby mohly používat Office Online.

Přestože jsou k použití Office Online vyžadované řádky tři i čtyři, jsou rozdělené, aby ukázaly, že cíl je jiný:

  1. *.officeapps.live.com nepředstavuje síť pro doručování obsahu, což znamená, že požadavky na tento obor názvů půjdou přímo do datacentra Microsoftu.

  2. *.officeapps.live.com je přístupný přes okruhy služby ExpressRoute s použitím partnerských uzlů společnosti Microsoft.

  3. IP adresy patřící k Office Online a *.officeapps.live.com najdete pod tímto odkazem.

  4. *.cdn.office.net představuje síť pro doručování obsahu hostovanou na serverech Akamai, což znamená, že požadavky na tento obor názvů půjdou do datacentra Akamai.

  5. *.cdn.office.net není přes okruhy služby ExpressRoute dostupný.

  6. IP adresy patřící k Office Online a *.cdn.office.net nejsou dostupné.

Snímek obrazovky stránky s koncovými body

Poskytujeme jenom IP adresy serverů Office 365 pro přímé přesměrování po internetu nebo přes ExpressRoute. Nejedná se o úplný seznam všech IP adres, pro které vidíte síťové požadavky. Vidíte také síťové požadavky na Microsoft a na neveřejné IP adresy patřící třetím stranám. Tyto IP adresy se generují dynamicky nebo se spravují takovým způsobem, který brání včasnému oznámení jejich změny. Pokud vaše brána firewall u těchto síťových požadavků neumožňuje přístup podle plně kvalifikovaných názvů domén, použijte k jejich správě soubor PAC nebo WPAD.

Vidíte IP adresu přidruženou k Office 365 a chcete o ní získat více informací?

  1. Zkontrolujte na kalkulačce CIDR, jestli je IP adresa zahrnutá do většího publikovaného rozsahu.

  2. Pokud se chcete podívat, jestli adresa IP patří partnerovi, použijte službu Whois Query. Pokud patří Microsoftu, může jít o interního partnera.

  3. Když potřebujete zjistit, jaké domény jsou k IP adrese přidružené, podívejte se na certifikát. V prohlížeči se připojte k IP adrese příkazem HTTPS://<IP_ADRESA> a zkontrolujte domény uvedené na certifikátu. Pokud adresa patří Microsoftu, ale není na seznamu IP adres Office 365, pravděpodobně jde o IP adresu přiřazenou síti pro doručování obsahu (CDN) Microsoftu, jako je MSOCDN.NET, nebo o jinou doménu Microsoftu, která nemá zveřejněné informace o IP adrese. Pokud zjistíte, že u domény na certifikátu tvrdíme, že je její IP adresa uvedená, dejte nám prosím vědět.

Office 365 a další služby Microsoftu používají ke zdokonalení prostředí Office 365 různé externí služby, jako je Akamai a MarkMonitor. Abychom vám zajistili to nejlepší možné prostředí, můžeme tyto služby v budoucnosti změnit. Proto často publikujeme záznam CNAME, který míří na doménu patřící třetí straně, záznam A nebo IP adresu. Domény třetích stran mohou hostovat obsah, jako je síť CDN, nebo mohou hostovat některou službu, například geografickou službu pro správu přenosů. Když uvidíte připojení k těmto třetím stranám, jsou většinou ve formě přesměrování nebo odkazu, nikoli ve formě počátečního požadavku klienta. Někteří zákazníci potřebují ověřit, že u této formy odkazu a přesměrování je dovolený průchod bez výslovného přidání dlouhého seznamu potenciálních plně kvalifikovaných názvů domén, které mohou služby třetích stran používat.

Seznam služeb se může kdykoli změnit. Některé aktuálně používané služby:

MarkMonitor se používá, když vidíte požadavky, které obsahují *.nsatc.net. Tato služba nabízí ochranu a monitorování názvu domény, aby ji chránila před poškozením.

ExactTarget se používá, když vidíte požadavky na *.exacttarget.com. Tato služba nabízí správu a monitorování e-mailových odkazů, aby je chránila před poškozením.

Akamai se používá, když vidíte požadavky, které obsahují některý z následujících plně kvalifikovaných názvů domény. Tato služba nabízí geografický systém DNS a služby sítě pro doručování obsahu.

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

  • Ke službám třetích stran se připojujete kvůli načtení základních internetových služeb, jako je vyhledávání DNS a načtení obsahu sítě CDN. K těmto službám se také připojujete kvůli integraci, třeba když chcete do svých poznámek ve OneNotu zahrnout videa z YouTube.

  • Připojujete se k sekundárním službám hostovaným a provozovaným Microsoftem, jako jsou hraniční uzly, které umožňují vašim síťovým požadavkům vstup do globální sítě Microsoftu na takovém místě v internetu, které je vašemu počítači nejbližší. Síť Microsoftu je třetí největší síť na světě. Pro vás to znamená lepší možnost připojení. Připojujete se také ke službám Microsoft Azure, třeba ke službám Azure Media Services, které používají různé služby Office 365.

  • Připojujete se k primárním službám Office 365, třeba k poštovnímu serveru Exchange Online nebo k serveru Online Skypu pro firmy, kde jsou chráněná vaše jedinečná data. K připojení k primárním službám Office 365 můžete použít plně kvalifikovaný název domény nebo IP adresu a internetový okruh nebo okruh ExpressRoute. Ke službám třetích stran a sekundárním službám se můžete připojit jen pomocí plně kvalifikovaného názvu domény v internetovém okruhu.

Následující diagram znázorňuje rozdíly mezi těmito oblastmi služeb. V tomto diagramu má místní zákaznická síť vlevo dole několik síťových zařízení, která pomáhají spravovat připojení k síti. Podobné konfigurace, jako je tato, jsou časté u zákazníků z řad velkých organizací. Pokud má síť bránu firewall jen mezi klientskými počítači a internetem, je podporovaná i tato konfigurace. V takovém případě ověřte, jestli vaše brána firewall v pravidlech povolených seznamů podporuje plně kvalifikované názvy domén a zástupné znaky.

Přečtěte si článek Principy připojení sítě k Office 365, který vám poskytne více informací o kategoriích koncových bodů Office 365 a pomůže vám pochopit principy připojení pro bezpečnou správu provozu v Office 365 a zajištění nejlepšího možného výkonu.

Tři různé typy síťových koncových bodů při používání Office 365

Office 365 je sada služeb vytvořená tak, aby fungovala po internetu. Jejich spolehlivost a dostupnost je založená na dostupnosti mnoha standardních internetových služeb. Abyste mohli používat Office 365, musí být dosažitelné standardní internetové služby, jako je DNS, CRL a sítě CDN. Tyto služby musí být dosažitelné i pro většinu moderních internetových služeb.

Kromě těchto základních internetových služeb existují ještě služby třetích stran, které se používají jenom k integraci funkcí. Třeba služba Giphy.com v aplikaci Microsoft Teams umožňuje zákazníkům do této aplikace jednoduše zahrnout soubory GIF. Podobně třeba YouTube a Flickr jsou služby třetích stran, které se používají k bezproblémové integraci videí a obrázků do klientů Office z internetu. I když jsou tyto služby potřeba k integraci, jsou v článku o koncových bodech Office 365 označené jako volitelné. To znamená, že hlavní funkce této služby budou dále fungovat, i když koncový bod není dostupný.

Pokud zkoušíte používat Office 365, ale zjišťujete, že služby třetích stran nejsou dostupné, musíte zajistit, aby všechny plně kvalifikované názvy domén, které jsou v tomto článku označené jako povinné nebo volitelné, měly povolený průchod proxy serverem a bránou firewall.

Sekundární služby jsou služby Microsoftu, které nespadají pod správu Office 365. Jde o služby jako například hraniční síť, Azure Media Services a služby Azure Content Delivery Network. K používání Office 365 jsou všechny tyto služby potřeba a musí být dosažitelné.

Pokud zkoušíte používat Office 365, ale zjišťujete, že služby třetích stran nejsou dostupné, musíte zajistit, aby všechny plně kvalifikované názvy domén, které jsou v tomto článku označené jako povinné nebo volitelné, měly povolený průchod proxy serverem a bránou firewall.

Přístup ke službám pro spotřebitele blokujete na své vlastní riziko. Jediný spolehlivý způsob, jak zablokovat služby pro spotřebitele, spočívá v omezení přístupu k plně kvalifikovanému názvu domény login.live.com. Tento plně kvalifikovaný název domény používá celá řada služeb, jako například MSDN, TechNet a další služby, které nejsou určené spotřebitelům. Pokud k tomuto plně kvalifikovanému názvu domény zablokujete přístup, může se stát, že budete muset zahrnout také výjimky z tohoto pravidla pro síťové požadavky, které jsou s těmito službami spojené.

Mějte na paměti, že samotné zablokování přístupu ke službám Microsoftu pro spotřebitele nezabrání někomu ve vaší síti, aby prostřednictvím klienta Office 365 nebo jiné služby vyfiltroval určité informace.

Související témata

Rozsahy IP adres datových center Microsoft Azure
Prostor veřejných IP adres Microsoftu
Požadavky na síťovou infrastrukturu pro Microsoft Intune
Power BI a ExpressRoute
Adresy URL a rozsahy IP adres pro Office 365
Správa služby ExpressRoute pro připojení k Office 365
Principy připojení sítě k Office 365

Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×