Office 365 エンドポイントを管理する

注:  最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。 このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。私たちの目的は、このコンテンツがお客様の役に立つようにすることです。お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。 簡単に参照できるように、こちらに 英語の記事 があります。

Office 365 のネットワーク接続

2018 年 3 月 8 日Office 365 への接続は、大規模な信頼できるネットワーク要求で構成されており、この要求が、ユーザーの近くにある待機時間の短い送信に変更されると最適に動作します。Office 365 接続の中には、接続の最適化の利点を得るものもあります。

  1. ファイアウォールの許可リストで Office 365 エンドポイントへの接続を許可していることを確認します。

  2. プロキシ インフラストラクチャを使用して、ワイルドカードや未発行の接続先へのインターネット接続を許可します。

  3. 最適な境界領域ネットワークの構成を保持します。

  4. 最適な接続を確保します。

  5. 安全にトラフィックを Office 365 を管理し、最高のパフォーマンスを取得するための接続原則について理解するのには、 Office 365 のネットワーク接続の基本原則をお読みください。

ファイアウォールとプロキシ経由で Office 365 に接続する。

ファイアウォールの送信許可リストを更新する

ネットワークを最適化するには、すべての信頼できる Office 365 ネットワーク要求をファイアウォールを介して送信し、すべての追加のパケット レベル検査または処理を回避します。これにより待機時間によるパフォーマンスの低下を減らし、境界の容量要件を軽減します。信頼するネットワーク要求を選択するための最も簡単な方法は、上の [プロキシ] タブで事前に構築された PAC ファイルを使用することです。

発信トラフィックがファイアウォールでブロックされる場合、この XML ファイル必須として指定されているすべての IP と FQDN が許可リストに記載されていることを確認する必要があります。すべてのサービスを認識するには、サード パーティのサービスを使用する必要があります。証明書プロバイダー、コンテンツ配信ネットワーク、DNS プロバイダーなど、このようなサード パーティ サービス用の IP アドレスは用意されていません。完全な Office 365 機能の場合、接続先に発行している情報量に関係なく、Office 365 から要求されたすべての接続先に到達できる必要があります。

多くの接続先には発行された IP アドレスがなく、特定の完全修飾ドメイン名のないワイルドカードのドメインとして指定されています。この機能を使用するには、要求されている現在の IP アドレスへのネットワーク要求を解決でき、インターネットでネットワーク要求を送信できる必要があります。

ファイアウォールを使用して、プロセスを自動化します。ファイアウォールでは、代理で XML ファイルを解析し、ファイアウォールで直接ルーティングすることを計画しているサービスや機能に基づいてルールを自動的に更新します。また、Azure 範囲のツールを使用することもできます。このツールはコミュニティによって構成され、Cisco XE ルーティング、ACL リスト構成、プレーン テキスト、CSV をエクスポートするオプションを見つけるために XML を解析します。

ネットワークの宛先の長い説明文を参照サイトおよび RSS ベースの変更ログで使用できるので、変更を購読できます。

PAC ファイルを使用して送信パスを構成する

PAC または WPAD ファイルを使用して、Office 365 と関連付けられているネットワーク要求を管理できますが、IP アドレスは用意されていません。通常、プロキシまたは境界領域のデバイス経由で送信されるネットワーク要求は、待機時間が長くなります。プロキシ認証によって最大の負荷が発生しますが、評価の検索などのその他のサービスやパケットを検査する試行が、ユーザーの操作環境の質を低下させることがあります。また、このような境界領域のネットワーク デバイスは、すべてのネットワーク要求を処理できる十分な容量が必要です。直接の Office 365 ネットワーク要求では、プロキシまたは検査インフラストラクチャを回避することをお勧めします。

いずれかの PAC ファイルを使用して作業を開始し、プロキシに送信されるネットワーク トラフィックと、ファイアウォールに送信されるファイルを決定します。PAC または WPAD ファイルを初めて使用する場合は、Office 365 コンサルタントの 1 人が投稿した PAC ファイルの展開についての記事を参照してください。開始時にこれらを確認し、自分の環境に合わせて編集する必要があります。

PAC ファイルが 4/5/2018 を更新します。

最初の例は、インターネット経由でのみエンドポイントを管理するための推奨方法を示します。IP アドレスが発行される Office 365 の接続先のプロキシをバイパスし、残りのネットワーク要求をプロキシに送信します。

コード スニペット:

// JavaScript source code

//April 2018 - Updates go live 1st May2018
//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, "*.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, "*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;
}

2 番目の例では、ExpressRoute とインターネット接続が使用可能な場合に接続を管理するための推奨されるアプローチを示します。ExpressRoute のアドバタイズ済みの接続先を ExpressRoute 回線に送信し、インターネットのみのアドバタイズ済みの接続先をプロキシに送信します。

コード スニペット:

// JavaScript source code
//April 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, "*.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;
    }
}

3 番目の例では、Office 365 に関連付けられたすべてのネットワーク要求を 1 つの送信先に送信している様子を示します。これは、一般的に Office 365 のネットワークの要求のすべての検査をバイパスするために使用されます。またここで提供される形式では、すべての公開されるエンドポイントが PAC 形式で記載されるので、カスタマイズに使用できます。

コード スニペット:

// JavaScript source code
//April 2018 Update new URLS go live 1st May 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, "*.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";
}

ここでは、コミュニティのツールをいくつか紹介します。共有したいものを構築したら、コメントにメモを残してください。この記事で言及したコミュニティ ツールは、いずれも Microsoft が公式にサポートまたは管理するものではありません。お客様の便宜のために掲載されています。

  • これは、コミュニティで生成された最も古いツールで、プロセスの管理を容易にします。ツールは Office 365 のコミュニティのメンバーによって構築されています。こちらのリンクからダウンロードします。

  • エクスポート可能なファイアウォール ルールによる、概念の実証: Microsoft クラウド IP API

  • IT 担当の Praktyk より: RSS 変換および XML 変換

  • Peter Abele より: ダウンロード

  • ネットワーク分析を使用して、プロキシ インフラストラクチャをバイバスするネットワーク要求を決定します。エンドポイントから送受信するネットワーク トラフィックのボリュームのため、顧客のプロキシをバイパスするのに最もよく使用される FQDN には、次のものが含まれます。

    outlook.office365.com
    outlook.office.com
    <tenant-name>.sharepoint.com
    <tenant-name>-my.sharepoint.com
    <tenant-name>-<app>.sharepoint.com
    *.Lync.com
    
  • 直接ファイアウォールに送信された任意のネットワーク要求が、経由を許可するファイアウォール許可リストのエントリに一致していることをご確認ください。

境界領域のネットワークの統合

Microsoft の WAN が世界最大級のバックボーンを持っていることはご存じですか。

この大規模なネットワークによって、ユーザーが世界中どこにいても、Office 365 や Microsoft の他のクラウド サービスを利用できます。Microsoft のネットワークのデータセンターとエッジ ノード間は、数千ルート マイルの専有ダーク ファイバーを含む広帯域幅、低待機時間、フェールオーバー対応リンクと、数テラビットの接続で構成されます。これらの構成によって、クラウド サービスを簡単に利用できます。

このようなネットワークでは、組織のデバイスを組織のネットワークにできるだけ早く接続する必要があります。世界中に 2,500 を超える ISP ピアリング リレーションシップと 70 を超えるポイントがあるため、ユーザーのネットワークから Microsoft のネットワークへの接続はシームレスである必要があります。数分あれば、ISP のピアリング リレーションシップが最適であることを確認することができます。Microsoft ネットワークとのピアリングの手順のよい例と悪い例については、こちらを参照してください。

機器に応じてネットワークでデバイスを手動または自動で構成し、Office 365 アプリケーション ネットワーク要求を適切に処理することができます。Office 365 ネットワーク トラフィックを適切に処理するために必要な構成の変更は、環境によって異なります。以下が可能なネットワーク構成にすると、Office 365 ネットワーク要求が改善されることがあります。

  • 重要度が低いネットワーク トラフィックよりを超える優先順位。

  • Microsoft ネットワークで使用できる低待機時間を利用しながら、遅い WAN リンク上のバックホールを回避するローカル送信へのルーティングお客様の契約に基づくお勧めのディスカッションを参照してください。

  • ローカル送信の近くの DNS を使用して、ローカル送信からのネットワーク要求が最も近い Microsoft のピアリングの場所に到着することを確認します。

  • 大規模な待機時間の要件を満たすために、詳細なパケット検査やネットワーク パケットが多数発生する処理からの除外。

最新のネットワーク デバイスには、Office 365 などの信頼できるアプリケーションのネットワーク要求を、一般的な信頼されていないインターネット トラフィックとは異なる方法で管理する機能があります。新しい SD-WAN ソリューションの普及に伴い、ネットワークの変化する状態を認識してこのようなトラフィックやパス選択の区別を実行することもできます。たとえば、ユーザーとクラウド間にある多様な接続パスの特定時点の可用性、待機時間、パフォーマンスなどの状態です。

ネットワーク構成を計画する際の追加のガイダンスについては、「Office 365 のネットワークと移行計画」、「Office 365 のパフォーマンス トラブルシューティング計画」、「Office 365 の展開計画チェックリスト」を参照してください。

このシナリオを実装するには

Office 365 URL および XML の IP 定義を使用して、Office 365 トラフィックのローカル (からユーザーへ) の低オーバーヘッド ネットワーク送信を改善し、他のアプリケーションとの相対的な優先順位を管理し、変化するネットワーク条件に応じて Office 365 から Microsoft ネットワークへの接続のネットワーク パスを調整できるかどうかについて、ネットワーク ソリューションまたはサービス プロバイダーに相談してください。一部のソリューションでは、スタックに Office 365 の URL と IP の XML 定義をダウンロードし、自動化しています。

実装したソリューションに、必要なレベルの回復性、適切な地理的冗長性の Office 365 トラフィックのネットワーク パスがあり、公開したときに Office 365 の URL と IP の変更に合わせて調整できることを常に確認してください。

適切なを特定するとを Office 365 のネットワーク トラフィックを区別するために、新しい web サービスは、簡単に評価、構成、および変更の最新の状態に維持するために、Office 365 エンドポイントを発行します。(プレビュー版)、今すぐに新しいこの web サービスには、最終的に RSS と XML データのバージョンと共に、 Office 365 の Url と IP アドレスの範囲の記事では両端の一覧が置き換えられます。両端のシートのデータの次の形式は、近い将来徐々 に計画されています。

顧客やネットワークの境界デバイスの製造元の場合は、REST ベースの新しい web サービス、Office 365 の IP アドレスと FQDN エントリがプレビューに表示されるをテストすることができます。

お客様は、この web サービスを使用できます。

  • Office 365 エンドポイントのデータを取得し、ネットワーク、デバイスの書式設定を変更するには、PowerShell スクリプトを更新します。

  • クライアント コンピューターに展開 PAC ファイルを更新するのにには、この情報を使用します。

ネットワーク境界デバイス仕入先としてこの web サービスを使用できます。

  • 作成して、[自動構成のリストをダウンロードするのには、デバイスのソフトウェアをテストします。

  • 現在のバージョンを確認します。

  • 現在の変更を取得します。

ここでは、この web サービスで、サービスが一般公開されるまでの時間の経過に変更される可能性のプレビューについて説明します。

Web サービス上のデータは、次の既知の問題を除く最新。

共通のパラメーター

これらのパラメーターは、web サービスのすべてのメソッドの間で共通です。

  • 形式 = CSV |JSON – クエリ文字列パラメーターします。既定では、返されるデータの形式は JSON はします。カンマ区切り (CSV) 形式でデータを返すためにこのオプションのパラメーターが含まれます。

  • ClientRequestId – クエリ文字列パラメーターします。必要な GUID クライアント セッションの関連付けを作成します。Web サービスを呼び出す各クライアント コンピューターの GUID を生成する必要があります。今後 web サービスによってブロック可能性があるために、次の例に示す Guid を使わないでください。GUID 形式がチーム-xxxx-xxxx-で入力して、[x が 16 進数を表します。GUID を生成するには、新規 Guid PowerShell コマンドを使用します。

バージョン web 方法

Microsoft は、Office 365 の IP アドレスと 1 か月とについてよく運用要件ときの最後にある FQDN エントリを更新します。発行済みのインスタンスごとに、データには、バージョン番号が割り当てられます。バージョン web メソッドを使用して、Office 365 サービスのインスタンスごとに、最新バージョンのポーリングできます。端点は、1 回 1 か月を変更する必要があります。日単位、または最も、時間単位のバージョンを確認することをお勧めします。

バージョン web 方法の 1 つのパラメーターがあります。

  • AllVersions = true – クエリ文字列パラメーターします。既定では、返されるバージョンは、最新バージョンです。すべての発行済みバージョンを要求するオプションのパラメーターが含まれます。

  • インスタンス– ルーティングします。インスタンスのバージョンに戻るにはこのオプションを指定します。すべてのインスタンスが返されるようにしを省略するとします。 有効なインスタンス: O365Worldwide、O365China、O365Germany、O365USGovDoD、O365USGovGCCHigh

バージョン web メソッドの結果には、1 つのレコードまたはレコードの配列があります。各レコードの要素は次のとおりです。

  • インスタンス: Office 365 サービスのインスタンスの短い名前です。

  • 最新: 指定されたインスタンスの端点の最新のバージョン。

  • バージョン: オプションのインスタンスの指定されたすべての以前のバージョンのリストを使用します。

例:

Uri の使用例 1: 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"}]

重要: これらの Uri の ClientRequestID パラメーターの GUID には、例のみがあります。しようとする web サービスを Uri、独自の GUID を生成します。次の例に示すように Guid は、今後の web サービスによってブロックされる場合があります。

Uri の使用例 2: https://endpoints.office.com/version/O365Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

この URI では、指定した Office 365 サービスのインスタンスの最新バージョンを返します。結果の例:

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

Uri の使用例 3: https://endpoints.office.com/version/O365Worldwide?Format=CSV&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

この URI は、CSV 形式で出力を示します。結果の例:

instance,latest
O365Worldwide,2018031302

Uri の使用例 4: 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"]}

エンドポイント web 方法

エンドポイント web メソッドは、IP アドレスの範囲と、Office 365 サービスを構成する Url のすべてのレコードを返します。エンドポイント web メソッドのパラメーターは次のとおりです。

  • ServiceAreas – クエリ文字列パラメーターします。サービスの分野のカンマ区切りの一覧です。有効なアイテムは、一般的な Exchange、SharePoint、Skype します。一般的なサービス エリアのアイテムは他のすべてのサービスの領域の前提条件であるため、web サービスは常に含めます。このパラメーターを指定しないと、すべてのサービスの領域が返されます。

  • TenantName – クエリ文字列パラメーターします。Office 365 のテナント名前。Web サービス、指定された名前は、テナント名が含まれている Url の部分に挿入します。テナント名を指定しない、ワイルドカード文字 (*) の Url の一部であります。プレビューでは、TenantName パラメーターが含まれていません。

  • インスタンス– ルーティングします。この必須パラメーターの端に戻るには、インスタンスを指定します。有効なインスタンス: O365Worldwide、O365China、O365Germany、O365USGovDoD、O365USGovGCCHigh します。

エンドポイント web メソッドの結果は、各レコードを表すエンドポイントのセットを使用してレコードの配列です。各レコードの要素は次のとおりです。

  • id – エンドポイントの不変 id 番号を設定します。必須。

  • serviceArea – サービス] 領域の一部である: 一般的な Exchange、SharePoint、または Skype します。必須。

  • defaultUrls – エンドポイントの Url を「既定値」分類項目に含まれる設定します。DNS レコードの JSON 配列します。

  • allowUrls – エンドポイントの Url を「許可する」のカテゴリにある設定します。DNS レコードの JSON 配列します。

  • optimizeUrls – エンドポイントの Url を「最適化」分類項目に含まれる設定します。DNS レコードの JSON 配列します。

  • defaultTcpPorts – エンドポイントの TCP ポートを設定] カテゴリの「既定値」ができます。ポートのポート範囲のハイフン (-) で区切って、カンマで区切って、ポートのすべての要素を書式設定します。特定のカテゴリのポートは、端点を設定することで、すべての IP アドレスに適用されます。そのカテゴリに分類項目の下の端点を設定することで、特定のカテゴリのポートはすべての Url にも適用されます。下の分類項目は、最適化、許可するには、既定では、既定値は最小値の順で定義されています。

  • ip アドレスの TCP ポート アドレスの「許可する」のカテゴリにあるこのエンドポイント セット内の範囲を allowTcpPorts – します。

  • optimizeTcpPorts – IP の TCP ポートはアドレス「最適化」分類項目に含まれる両端のシートに範囲です。

  • UDP ポートを IP アドレスの「既定値」分類項目に含まれる両端のシートでの範囲を defaultUdpPorts – します。

  • UDP ポートを IP アドレスの「許可する」分類項目に含まれる両端のシートでの範囲を allowUdpPorts – します。

  • UDP ポートを IP アドレスの「最適化」分類項目に含まれる両端のシートでの範囲を optimizeUdpPorts – します。

  • ip アドレス: このエンドポイントが表示されている TCP または UDP ポートに関連付けられているように設定に関連付けられている IP アドレスの範囲。

  • expressRoute – True または False の場合は、このエンドポイントのセットが ExpressRoute 経由でルーティングします。必須。

  • optionalImpact – 場合は、このエンドポイントはオプションですが、このテキストはこのエンドポイント セットのエンドポイントにアクセスできない場合は失われます Office 365 の機能を説明します。エンドポイントのセットが省略可能でない場合は、この要素が除外されます。

必要に応じて一覧に表示されない要素は、残りの出力にはオプションです。

例:

Uri の使用例 1: 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
  },
...

その他のエンドポイントの設定は、この例では含まれません。

Uri の使用例 2: https://endpoints.office.com/endpoints/O365Worldwide?ServiceAreas=Exchange&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

この例では、Exchange Online とのみの依存関係の Office 365 の世界中のインスタンスの端点を取得します。

例 2 の出力は例 1 に似ていますが、結果は含まれませんエンドポイントの SharePoint Online] または [Skype for Business Online します。

[Web の変更方法

変更 web メソッドは、公開されている最新の更新プログラムを返します。これは、通常、IP アドレスの範囲と Url の前の月の変更です。

変更 web メソッドのパラメーターです。

  • バージョン: ルーティング パラメーターのために必要な URL です。現在実装されて、そのバージョンからの変更を表示するバージョンです。形式は、YYYYMMDDNN です。

変更 web メソッドの結果は、各レコードの端点の特定のバージョンで変更を表すとレコードの配列です。各レコードの要素は次のとおりです。

  • [id]: 変更レコードの変更できない id。必須。

  • endpointSetId – エンドポイントの ID が変更されたレコードを設定します。必須。

  • changeDescription: テキストの説明を変更します。必須。

  • 廃棄 – この変更は、次のコマンドを追加するか、削除してでしたエンドポイント セットのレコードの変更について説明します。必須。

  • バージョン: 発行済みのエンドポイントのバージョンでは、変更が導入されたで設定します。YYYYMMDDNN、NN はどこにある場合、自然番号の書式の 1 日に発行するために必要な複数のバージョンのバージョン番号は。

  • 前: 以前の値のエンドポイントに変更される要素の詳細情報を含むサブ構造を設定します。新しく追加されたエンドポイントのセットに含まれているこれはできません。DefaultTcpPorts、allowTcpPorts、optimizeTcpPorts、defaultUdpPorts、allowUdpPorts、optimizeUdpPorts、ExpressRoute、optionalImpact します。

  • 現在のサブ構造の詳細の変更、endpoinset 要素の値を更新します。DefaultTcpPorts、allowTcpPorts、optimizeTcpPorts、defaultUdpPorts、allowUdpPorts、optimizeUdpPorts、ExpressRoute、optionalImpact します。

  • 追加 – 両端のシートに追加する項目の詳細情報を含むサブ構造がコレクションを設定します。

    • effectiveDate – は、追加機能がサービスにライブときに、データを定義します。

    • ip アドレス – ip アドレスの配列に追加するアイテム。

    • defaultUrls 配列に追加するには、defaultUrls アイテム。

    • allowUrls 配列に追加するには、allowUrls アイテム。

    • optimizeUrls 配列に追加するには、optimizeUrls アイテム。

  • 削除 – エンドポイントから削除する項目の詳細情報を含むサブ構造を設定します。

    • ip アドレス – ip 配列から削除します。

    • defaultUrls 配列から削除するには、defaultUrls アイテム。

    • allowUrls 配列から削除するには、allowUrls アイテム。

    • optimizeUrls 配列から削除するには、optimizeUrls アイテム。

例:

Uri の使用例 1: 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"]
    }
  }
]

Uri の使用例 2: 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 を使用し、一時ファイルに、最新バージョンを保存します。版の更新プログラムをチェックするは、時間に 1 回でこのスクリプトを呼び出す必要があります。

# 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 スクリプトの例

テストが更新されたデータに必要な操作を実行できる、Windows 10 で Python 3.6.3 Python スクリプトをご紹介します。このスクリプトでは、Office 365 の世界中のインスタンスの端点のバージョン番号を確認します。変更がある場合は、端点と、「許可する」カテゴリの端点のフィルターをダウンロードします。また、複数呼び出し一意 ClientRequestId を使用し、一時ファイルに、最新バージョンを保存します。版の更新プログラムをチェックするは、時間に 1 回でこのスクリプトを呼び出す必要があります。

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

Web サービス インターフェイスのバージョン管理

これで、パラメーターまたは web サービス メソッドの結果の更新が必要になる可能性があります。これらの web サービスの空き時間情報の一般的なバージョンを発行すると、Microsoft、web サービスに数量単価型の更新プログラムの事前通知を提供する合理的になります。Microsoft は、更新プログラムを web サービスを使用してクライアントに変更する必要があると認識、ときに Microsoft には、少なくとも 12 (12 か月間、新しいバージョンのリリース後に web サービスの以前のバージョン (1 つのバージョン戻る) が保持されます。その期間中にアップグレードしないお客様は、web サービスとそのメソッドにアクセスできるようにことがあります。ユーザーは、web サービスのクライアントが web サービス インターフェイスの署名は次の変更が加えられた場合のエラーのない作業を続行することを確認する必要があります。

  • 旧バージョンのクライアントによって提供されるがない理由と、結果に影響を与えないを既存の web メソッドに新しいオプションのパラメーターを追加する、古いクライアントが受信します。

  • CSV の応答の応答の他のアイテムまたはその他の列の 1 つの新しい名前付き属性を追加します。

  • 旧バージョンのクライアントが呼び出されていない新しい名前で新しい web メソッドを追加します。

接続についてよく寄せられる管理者の質問です。

下部のリンクをクリックして、記事が役に立ったかどうかを示し、追加の質問を送信してください。Microsoft は皆様からのフィードバックを確認し、よく寄せられる質問でここの質問を更新しています。

新しいエンドポイントがアナウンスされたときは通常、それらが有効になってネットワーク要求の送信が開始される前に 30 日以上の猶予があります。この猶予は、お客様やパートナーのシステムを更新する機会を確保するためにあります。FQDN および IP プレフィックスの追加と削除は、アナウンスと同時に XML ファイルで処理されるので、新しい FQDN が使用の 30 日前に XML ファイルに記載されます。削除をアナウンスする前に削除するエンドポイントへのネットワーク要求の送信を停止するので、アナウンスと同時に XML ファイルからエンドポイント削除するときには、そのエンドポイントは既に使用されなくなっています。

Office 365 エンドポイントは 30 日の通知で毎月末に公開されます。月に複数回、または直前の通知で緊急の変更が発生する場合もあります。エンドポイントが追加される場合、RSS フィードに一覧表示される有効な日付は、ネットワーク要求がエンドポイントに送信された後の日付になります。RSS を初めて使う場合は、Outlook を介して購読するか、または RSS フィードの更新をメールで通知するように設定します。

RSS フィードを購読した後、自分自身でまたはスクリプトを使用して情報を解析することができます。次の表では、作成をより簡単にするため、RSS フィードのフォーマットについて説明しています。

セクション

パート 1

パート 2

パート 3

パート 4

パート 5

パート 6

説明

個数

以降に、ネットワーク要求がエンドポイントに送信されることが予想される日付。

エンドポイントを要求する機能またはサービスの基本的な説明。

このエンドポイントを ExpressRoute 回路だけでなく、インターネット上にも接続することができますか?

はい - インターネットおよび ExpressRoute 上の双方でこのエンドポイントに接続することができます。

いいえ - インターネット上でのみこのエンドポイントに接続することができます。

宛先の FQDN または IP リンクの範囲が追加または削除されています。

1/

[Effective xx/xx/xxx.

必須: <description>

ExpressRoute:

<Yes/No>.

<FQDN/IP>],

他に注意すべき点は、すべてのエントリが共通の区切り記号のセットを保持していることです。

  • / - カウントの後

  • [ - カウントのエントリを示す

  • . - エントリの各個別のセクション間で使用される

  • ], - 1 つのエントリの終了を示す

  • ]. - すべてのエントリの終了を示す

テナントの場所は、Microsoft のデータセンター マップを使用して最適な場所が決定されます。

ピアリング場所の詳細については、Microsoft とのピアリングのページを参照してください。

世界中に 2,500 を超える ISP ピアリング リレーションシップと 70 を超えるポイントがあるため、ユーザーのネットワークから Microsoft のネットワークへの接続はシームレスである必要があります。数分あれば、ISP のピアリング リレーションシップが最適であることを確認することができます。Microsoft ネットワークとのピアリングの手順のよい例と悪い例については、こちらを参照してください。

許可される ExpressRoute ルートは、Microsoft の IP の範囲と特定の Office 365BGP 通信で定義されます。

Microsoft は、接続環境を拡大して、Office 365 スイート製品に新機能やサービスを定期的に追加します。E3 または E5 SKU に登録している場合、Office スイート製品の機能をすべて活用するために、エンドポイントすべてが必要になると考えると、エンドポイント リストを理解するのが簡単になります。SKU のいずれも登録していない場合は、エンドポイント数による差異はあまりありません。

Office 365 のネットワーク接続原則エンドポイントのカテゴリ] の詳細については、 Office 365を取得し、安全にOffice 365トラフィックを管理し、最高のパフォーマンスを取得するための接続原則について理解する、をご覧ください。

次の図では、Office Online のセクションで、FQDN テーブルの一部の例を表示しています。行は、機能と接続の違いで整理されています。最初の 2 行は、Office Online が Office 365 認証と ID セクション、ポータル セクション、共有セクションで、"必須" とマークされるエンドポイントに依存していることを示します。サービスが Office 365 内で共有サービスに依存するのは、よくあることです。3 行目は、Office Online を使用するにはクライアント コンピューターが *.officeapps.live.com に到達する必要があること、4 行目は、Office Online を使用するには、コンピューターが *.cdn.office.net に到達する必要があることを示します。

3 行目と 4 行目の両方が Office Online を使用する必要がある場合でも、個別に異なる宛先を示します。

  1. *.officeapps.live.com は、CDN を表すのではなく、この名前空間が直接 Microsoft データセンターにアクセスすることを要求していると言う意味です。

  2. *.officeapps.live.com は、Microsoft Peering を使用して、ExpressRoute 回路でアクセスします。

  3. Office Online と *.officeapps.live.com に関連付けられている IP アドレスは、このリンクから見つかります。

  4. *.cdn.office.net は、Akamai でホストされている CDN を表し、この名前空間が Akamai データセンターにアクセスすることを要求していると言う意味です。

  5. *.cdn.office.net は、ExpressRoute 回路ではアクセスできません。

  6. Office Online と *.cdn.office.net に関連付けられている IP アドレスは、使用できません。

エンドポイント ページの画面キャプチャ

Microsoft では、インターネットまたは ExpressRoute 上で直接ルーティングする必要がある Office 365 サーバーの IP アドレスのみを用意しています。これは、ネットワーク要求が表示されるすべての IP アドレスが記載された一覧ではありません。Microsoft とサード パーティが所有している未公開の IP アドレスに対するネットワーク要求が表示されます。これらの IP アドレスは、変化したときに適時に通知を防ぐ方法で、動的に生成または管理されます。ファイアウォールで、これらのネットワーク要求の FQDN に基づいてアクセスを許可できない場合は、PAC または WPAD ファイルを使用して要求を管理します。

Office 365 と関連付けられた IP の詳細を確認するには、以下の手順を実行してください。

  1. CIDR 計算ツールを使用して、より広く公開されている範囲に IP アドレスが含まれているかどうかを確認します。

  2. whois クエリを使用して、パートナーが IP を所有しているかどうかを確認します。Microsoft 所有の場合は、内部パートナーの可能性があります。

  3. 証明書を確認し、ブラウザーで HTTPS://<IP_ADDRESS> を使用して IP アドレスに接続し、証明書に表示されるドメインを確認して、IP アドレスに関連付けられているドメインを把握します。Microsoft 所有の IP アドレスで、Office 365 の IP アドレス一覧に掲載されていない場合、その IP アドレスは、MSOCDN.NET や IP 情報が公開されていない他の Microsoft ドメインなど、Microsoft CDN に関連付けられている可能性があります。証明書のドメインが、Microsoft が IP アドレスの登録を主張しているドメインの場合は、お知らせください。

Office 365 と他の Microsoft サービスは、Akamai や MarkMonitor などのいくつかのサードパーティ サービスを使用し、Office 365 の操作性を高めています。お客様の操作性を可能な限り高めるために、今後もこれらのサービスを変更する可能性があります。その一環で、サード パーティが所有しているドメイン、A レコード、または IP アドレスを示す CNAME レコードを発行することがよくあります。サード パーティ ドメインは、CDN などのコンテンツをホストする場合があります。また、地理的なトラフィック管理サービスなどのサービスをホストする場合があります。このようなサード パーティへの接続が表示される場合、クライアントからの最初の要求ではなく、リダイレクトまたは参照の形式です。ユーザーによっては、この形式の参照またはリダイレクトを許可することで、サード パーティ サービスが使用できる FQDN リストに多数の FQDN を明示的に追加することなく通過できるようにする必要があります。

このサービスのリストは、常に変化する可能性があります。現在使用されているサービスの一部を次に示します。

*.nsatc.net を含む要求が表示される場合、MarkMonitor が使用されています。このサービスは、ドメイン名の保護と、悪意のある動作に対して保護するための監視サービスを提供しています。

*.exacttarget.com に対する要求が表示される場合、ExactTarget が使用されています。このサービスは、メール リンク管理と悪意のある動作に対する監視サービスを提供しています。

次のいずれかの FQDN を含む要求が表示される場合、Akamai が使用されています。このサービスは、geo-DNS サービスとコンテンツ配信ネットワーク サービスを提供しています。

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

  • サードパーティ サービスに接続して、DNS ルックアップや CDN コンテンツの取得など、基本的なインターネット サービスを利用します。また、YouTube 動画を OneNote ノートブックに組み込むなど、統合のためにサードパーティ サービスに接続します。

  • Microsoft でホストされ、実行されているセカンダリ サービスに接続します。たとえば、インターネット上でコンピューターに最も近い Microsoft のグローバル ネットワークにアクセスするためにネットワーク要求を送信できるようにするエッジ ノードなどのサービスです。Microsoft のグローバル ネットワークは地球上で第 3 位の規模なので、接続性は改善されます。また、Azure Media Services などの Microsoft Azure サービスに接続することもできます。Azure Media Services は多様な Office 365 サービスで使用されています。

  • ユーザー固有のデータが格納されている Excel Online メールボックス サーバーや Skype for Business Online サーバーなどのプライマリ Office 365 サービスに接続します。プライマリ Office 365 サービスには FQDN または IP アドレスで接続し、インターネットまたは ExpressRoute 回線を使用します。サードパーティ サービスとセカンダリ サービスに接続するには、インターネット回線で FQDN を使用する必要があります。

次の図は、各サービス領域の違いを示しています。この図の左下にあるお客様のオンプレミス ネットワークには、ネットワーク接続の管理を支援する複数のネットワーク デバイスがあります。企業のお客様の場合、このような構成は一般的です。クライアント コンピューターとインターネットの間にファイアウォールのみがあるネットワーク構成の場合もサポートされます。また、ファイアウォールが許可リスト規則で FQDN とワイルドカードをサポートしていることを確認します。

Office 365 のネットワーク接続原則エンドポイントのカテゴリ] の詳細については、 Office 365を取得し、安全にOffice 365トラフィックを管理し、最高のパフォーマンスを取得するための接続原則について理解する、をご覧ください。

Office 365 を使用する際の 3 種類のネットワーク エンドポイントの図

Office 365 は、インターネット上で機能するように構築された一連のサービスです。信頼性と可用性の保証は、使用可能な多数の標準インターネット サービスに基づいています。最新のインターネット サービスを使用するには、DNS、CRL、CDN などの標準インターネット サービスにアクセス可能である必要がありますが、同様に、Office 365 を使用するためにも標準インターネット サービスにもアクセス可能である必要があります。

これらの基本的なインターネット サービスに加え、機能を統合するためにのみ使用されるサードパーティ サービスがあります。たとえば、ユーザーが Microsoft Teams に GIF をシームレスに追加できるように、Microsoft Teams 内に Giphy.com を使用しています。同様に、YouTube と Flickr は、インターネットの動画と画像を Office クライアントにシームレスに統合するために使用されているサービスです。これらのサービスは統合には必要ですが、Office 365 エンドポイントの記事ではオプションと記載されています。これは、エンドポイントにアクセスできない場合でも、サービスのコア機能は継続して機能することを示します。

Office 365 を使用しようとして、サードパーティ サービスでアクセスできない場合、この記事で必須またはオプションと記載されているすべての FQDN がプロキシとファイアウォールで許可されていることを確認します

セカンダリ サービスは、Office 365 の管理下にない Microsoft サービスです。たとえば、エッジ ネットワーク、Azure Media Services、Azure Content Delivery Network などです。これらのすべてのサービスは Office 365 を使用するために必要で、かつ、アクセス可能である必要があります。

Office 365 を使用しようとして、サードパーティ サービスでアクセスできない場合、この記事で必須またはオプションと記載されているすべての FQDN がプロキシとファイアウォールで許可されていることを確認します

コンシューマー サービスへのアクセス制限はお客様の責任で行っていただく必要がありますが、コンシューマー サービスをブロックする唯一の確実な方法は、login.live.com FQDN へのアクセスを制限することです。この FQDN は、MSDN、TechNet などの非コンシューマー サービスを含む幅広いサービスに使用されます。この FQDN へのアクセスを制限すると、これらのサービスに関連付けられているネットワーク要求のルールに例外を含める必要性が発生する可能性があります。

ただし、Microsoft コンシューマー サービスへのアクセスをブロックするだけでは、ネットワーク上の誰かが Office 365 テナントや他のサービスを使用して情報を入手することを防ぐことはできません。

関連トピック

Microsoft Azure データ センターの IP 範囲
Microsoft のパブリック IP 空間
Microsoft Intune のネットワーク インフラストラクチャの要件
Power BI と ExpressRoute
Office 365 の Url と IP アドレス範囲
の Office 365 の接続の管理 ExpressRoute
Office 365 のネットワーク接続の基本原則

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×