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

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

Office 365 のネットワーク接続

7/6/2018Office 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 ファイルが7/10/2018 に更新されました。

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

コード スニペット:

// JavaScript source code

//July 2018 - Updates go live 1st August2018
//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, "*.aria.microsoft.com"))    
    || (shExpMatch(host, "*.dc.trouter.io"))
    || (shExpMatch(host, "*.lync.com"))
    || (shExpMatch(host, "*.manage.office.com"))
    || (shExpMatch(host, "*.office365.com"))
    || (shExpMatch(host, "*.onenote.com"))
    || (shExpMatch(host, "*.outlook.com"))
    || (shExpMatch(host, "*.outlook.office.com"))
    || (shExpMatch(host, "*.portal.cloudappsecurity.com"))
    || (shExpMatch(host, "*.protection.office.com"))
    || (shExpMatch(host, "*.sharepoint.com"))
    || (shExpMatch(host, "*.skype.com"))
    || (shExpMatch(host, "*.skypeforbusiness.com"))
    || (shExpMatch(host, "*.svc.ms"))
    || (shExpMatch(host, "*.teams.microsoft.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, "admin.microsoft.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, "autologon.microsoftazuread-sso.com"))  
    || (shExpMatch(host, "becws.microsoftonline.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, "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, "portal.microsoftonline.com"))
    || (shExpMatch(host, "portal.office.com"))
    || (shExpMatch(host, "protection.office.com"))
    || (shExpMatch(host, "provisioningapi.microsoftonline.com"))
    || (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, "*.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, "*.teams.microsoft.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, "*cdn.onenote.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, "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, "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, "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, "teams.microsoft.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
//July 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, "*.dc.trouter.io"))
            || (shExpMatch(host, "*.lync.com"))
            || (shExpMatch(host, "*.manage.office.com"))
            || (shExpMatch(host, "*.outlook.com"))
            || (shExpMatch(host, "*.outlook.office.com"))
            || (shExpMatch(host, "*.portal.cloudappsecurity.com"))
            || (shExpMatch(host, "*.protection.office.com"))
            || (shExpMatch(host, "*.protection.outlook.com"))
            || (shExpMatch(host, "*.sharepoint.com")) 
            || (shExpMatch(host, "*.skype.com")) 
            || (shExpMatch(host, "*.skypeforbusiness.com")) 
            || (shExpMatch(host, "*.svc.ms"))   
            || (shExpMatch(host, "*.teams.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, "apc.delve.office.com"))
            || (shExpMatch(host, "api.login.microsoftonline.com"))
            || (shExpMatch(host, "api.passwordreset.microsoftonline.com"))
            || (shExpMatch(host, "aus.delve.office.com"))
            || (shExpMatch(host, "autologon.microsoftazuread-sso.com")) 
            || (shExpMatch(host, "becws.microsoftonline.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, "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, "portal.office.com"))
            || (shExpMatch(host, "protection.office.com"))
            || (shExpMatch(host, "provisioningapi.microsoftonline.com"))
            || (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
//July 2018 Update new URLS go live 1st August 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, "*.assets-yammer.com"))
        || (shExpMatch(host, "autologon.microsoftazuread-sso.com"))  
        || (shExpMatch(host, "*.azureedge.net"))   
        || (shExpMatch(host, "*.azurerms.com"))
        || (shExpMatch(host, "*.cloudapp.net")) 
        || (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, "*.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, "*.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, "*.skype.com"))
        || (shExpMatch(host, "*.skypeforbusiness.com"))
        || (shExpMatch(host, "*.svc.ms")) 
        || (shExpMatch(host, "*.sway.com"))
        || (shExpMatch(host, "*.symcb.com"))
        || (shExpMatch(host, "*.symcd.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, "*cdn.onenote.net"))
        || (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, "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, "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, "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, "platform.linkedin.com"))
        || (shExpMatch(host, "policykeyservice.dc.ad.msft.net"))
        || (shExpMatch(host, "prod.firstpartyapps.oaspapps.com.akadns.net"))
        || (shExpMatch(host, "s.ytimg.com"))
        || (shExpMatch(host, "s0.assets-yammer.com"))  
        || (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, "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, "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 の変更に合わせて調整できることを常に確認してください。

Web サービス

office 365 ネットワークトラフィックをより的確に識別して区別するために、新しい web サービスは office 365 エンドポイントを発行し、変更を反映して最新の情報を簡単に評価、構成、および維持することができます。この新しい web サービス (現在は preview) では、最終的に、 Office 365 url と IP アドレス範囲の記事のエンドポイントのリストと、そのデータの RSS と XML バージョンが置き換えられます。このようなエンドポイントデータの形式は、2018 10 月2日に段階的に廃止される予定です。

顧客またはネットワーク境界デバイスベンダーとして、Office 365 IP アドレスと FQDN エントリ用の新しい REST ベースの web サービスに対してビルドできます。

顧客として、次の web サービスを使用できます。

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

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

ネットワーク境界デバイスベンダとして、次の web サービスを使用できます。

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

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

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

次のセクションでは、この web サービスのプレビューについて説明します。これは、サービスが一般的に利用可能になるまで、時間の経過と共に変化します。

web サービス上のデータは最新の状態にあり、この web サービスの一般的な可用性を解放する前に、web サービスの url をさらに変更したり、データスキーマを返したりすることを計画しているわけではありません。

詳細については、以下を参照してください。

一般的なパラメーター

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

  • 書式 = CSV |JSON –クエリ文字列パラメーター。既定では、返されるデータ形式は JSON です。この省略可能なパラメーターを含めて、データをコンマ区切り値 (CSV) 形式で返します。

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

バージョン web メソッド

Microsoft では、Office 365 の IP アドレスと FQDN エントリを毎月の終わりに更新します。また、運用またはサポートの要件については、定期的に切り替えます。公開されている各インスタンスのデータには、バージョン番号が割り当てられます。バージョン web メソッドを使用すると、各 Office 365 サービスインスタンスの最新バージョンをポーリングできます。バージョンを毎日、または1時間ごとに確認することをお勧めします。

バージョン web メソッドには、次の1つのパラメーターがあります。

  • AllVersions = true –クエリ文字列パラメーター。既定では、返されるバージョンは最新です。すべての公開されたバージョンを要求するには、この省略可能なパラメーターを含めます。

  • インスタンス–ルートパラメーター。この省略可能なパラメーターは、バージョンを返すインスタンスを指定します。省略した場合は、すべてのインスタンスが返されます。 有効なインスタンスは次のとおりです。世界中、中国、ドイツ、USGovDoD、USGovGCCHigh

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

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

  • [最新]: 指定されたインスタンスのエンドポイントの最新バージョン。

  • [バージョン]: 指定されたインスタンスの以前のすべてのバージョンの一覧。この要素は、AllVersions パラメーターが true の場合にのみ含まれます。

例1要求 URI: https://endpoints.office.com/version?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

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

[
 {
  "instance": "Worldwide", 
  "latest": "2018063000"
 },
 {
  "instance": "USGovDoD", 
  "latest": "2018063000"
 },
 {
  "instance": "USGovGCCHigh",
  "latest": "2018063000"
 },
 {
  "instance": "China",
  "latest": "2018063000"
 },
 {
  "instance": "Germany",
  "latest": "2018063000"
 }
] 

重要: これらの uri の ClientRequestID パラメーターの GUID は、一例にすぎません。web サービスの uri を試すには、独自の GUID を生成します。これらの例に示されている guid は、今後 web サービスによってブロックされる可能性があります。

例2要求 URI: https://endpoints.office.com/version/Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

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

{
 "instance": "Worldwide",
 "latest": "2018063000"
}

例3要求 URI: https://endpoints.office.com/version/Worldwide?Format=CSV&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

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

instance,latest
Worldwide,2018063000

例4要求 URI: https://endpoints.office.com/version/Worldwide?AllVersions=true&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

この URI は、Office 365 ワールドワイドサービスインスタンス用に公開されている以前のすべてのバージョンを示しています。結果の例:

{
  "instance": "Worldwide",
  "latest": "2018063000",
  "versions": [
    "2018063000",
    "2018062000"
  ]
}

エンドポイント web メソッド

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

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

  • TenantName –クエリ文字列パラメーター。Office 365 テナント名。web サービスは、指定された名前を受け取り、テナント名を含む url の一部に挿入します。テナント名を指定しない場合は、url のそれらの部分にワイルドカード文字 (*) が表示されます。

  • NoIPv6 –クエリ文字列パラメーター。ネットワークで ipv6 を使わない場合など、出力から ipv6 アドレスを除外するには、これを true に設定します。

  • インスタンス–ルートパラメーター。この必須パラメーターは、エンドポイントを返すインスタンスを指定します。有効なインスタンスは次のとおりです。世界中、中国、ドイツ、USGovDoD、USGovGCCHigh。

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

  • [id]: エンドポイントセットの不変 id 番号です。

  • 供給–これは、[共通]、[Exchange]、[SharePoint]、または [Skype] の一部であるサービス領域です。

  • [url]: エンドポイントセットの url。DNS レコードの JSON 配列です。空白の場合は省略します。

  • tcpPorts –エンドポイントの TCP ポートを設定します。すべての ports 要素は、ダッシュ文字 (-) で区切られたポートまたはポート範囲のコンマ区切りリストとして書式設定されます。ポートは、そのカテゴリに対して設定されているすべての IP アドレスとそのエンドポイント内のすべての url を対象とします。空白の場合は省略します。

  • udpPorts –このエンドポイントの IP アドレス範囲の UDP ポートを設定します。空白の場合は省略します。

  • ips –このエンドポイントに関連付けられている IP アドレス範囲は、一覧表示されている TCP または UDP ポートに関連付けられています。空白の場合は省略します。

  • [カテゴリ]: エンドポイントセットの接続カテゴリ。有効な値は、[最適化]、[許可]、[既定] です。必須。

  • expressRoute –このエンドポイントセットが expressRoute 経由でルーティングされている場合は True または False。

  • 必須-Office 365 をサポートするための接続を確立するためにこのエンドポイントセットが必要な場合は True。false の場合は省略します。

  • メモ-オプションのエンドポイントの場合、このテキストは、このエンドポイントセット内の IP アドレスまたは url にネットワーク層でアクセスできない場合に、欠落する Office 365 機能について説明します。空白の場合は省略します。

例1要求 URI: https://endpoints.office.com/endpoints/Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

この URI は、すべてのワークロードについて、Office 365 ワールドワイドインスタンスのすべてのエンドポイントを取得します。出力の抜粋を示す結果の例:

[ 
 { 
  "id": 1, 
  "serviceArea": "Exchange", 
  "serviceAreaDisplayName": "Exchange Online", 
  "urls": 
   [ 
    "*.protection.outlook.com" 
   ], 
  "ips": 
   [ 
    "2a01:111:f403::/48", "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", "213.199.154.0/24", "213.199.180.128/26", "94.245.120.64/26", "207.46.163.0/24", "65.55.88.0/24", "216.32.180.0/23", "23.103.144.0/20", "65.55.169.0/24", "207.46.100.0/24", "2a01:111:f400:7c00::/54", "157.56.110.0/23", "23.103.200.0/22", "104.47.0.0/17", "2a01:111:f400:fc00::/54", "157.55.234.0/24", "157.56.112.0/24", "52.238.78.88/32" 
   ], 
  "tcpPorts": "443", 
  "expressRoute": true, 
  "category": "Allow" 
 }, 
 { 
  "id": 2, 
  "serviceArea": "Exchange", 
  "serviceAreaDisplayName": "Exchange Online", 
  "urls": 
   [ 
    "*.mail.protection.outlook.com" 
   ],
...

この例では、追加のエンドポイントセットは含まれていません。

例2要求 URI: https://endpoints.office.com/endpoints/Worldwide?ServiceAreas=Exchange&ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

この例では、Exchange Online と依存関係についてのみ、Office 365 ワールドワイドインスタンスのエンドポイントを取得します。

例2の出力は、例1と似ていますが、結果に SharePoint online または Skype for Business online のエンドポイントが含まれていない点が異なります。

web メソッドを変更する

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

注: 変更 API のデータはプレビューで正確であり、開発とテストにのみ使用します。

変更 web メソッドのパラメーターは次のとおりです。

  • バージョン–必要な URL ルートパラメーター。現在実装されているバージョンで、そのバージョン以降の変更を確認します。書式は YYYYMMDDNN です。

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

  • id –変更レコードの不変 id。

  • endpointSetId –変更されたエンドポイントセットレコードの ID です。必須。

  • 廃棄–これは、変更、追加、または削除のいずれかであり、エンドポイントセットレコードに対する変更の内容について説明します。

  • バージョン–変更を導入した公開されているエンドポイントセットのバージョン。バージョン番号は、1日に公開する必要がある複数のバージョンがある場合に、YYYYMMDDNN の形式であり、NN は自然数を増分します。

  • [前へ] –エンドポイントセット上の変更された要素の前の値を詳述したサブストラクチャー。これは、新しく追加されたエンドポイントセットには含まれません。tcpPorts、udpPorts、ExpressRoute、category、必須、メモが含まれています。

  • current-endpoinset の変更要素の更新された値の詳細を示すサブストラクチャー。tcpPorts、udpPorts、ExpressRoute、category、必須、メモが含まれています。

  • add –エンドポイントセットコレクションに追加する項目の詳細を示すサブ構造。 追加されていない場合は省略します。

    • effectiveDate –追加がサービスに含まれている場合に、データを定義します。

    • ips-ips アレイに追加するアイテム。

    • url-url 配列に追加する項目。

  • [削除]: エンドポイントセットから削除するサブ構造の詳細項目。 削除されていない場合は省略します。

    • ips-ips アレイから削除するアイテム。

    • url-url 配列から削除する項目。

例1要求 URI: https://endpoints.office.com/changes/worldwide/0000000000?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

これにより、Office 365 ワールドワイドサービスインスタンスに対する以前のすべての変更が要求されます。結果の例:

[ 
 { 
  "id": 424, 
  "endpointSetId": 32, 
  "disposition": "Change", 
  "version": "2018062700", 
  "remove": 
   { 
    "urls": 
     [ 
      "*.api.skype.com", "skypegraph.skype.com" 
     ] 
   } 
 }, 
 { 
  "id": 426, 
  "endpointSetId": 31, 
  "disposition": "Change", 
  "version": "2018062700", 
  "add": 
   { 
    "effectiveDate": "20180609", 
    "ips": 
     [ 
      "51.140.203.190/32" 
     ]
   },
  "remove": 
   { 
    "ips": 
     [
...

例2要求 URI: https://endpoints.office.com/changes/worldwide/2018062700?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/Worldwide?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/Worldwide?clientRequestId=" + $clientRequestId)

    # filter results for Allow and Optimize endpoints, and transform these into custom objects with port and category
    $flatUrls = $endpointSets | ForEach-Object {
        $endpointSet = $_
        $urls = $(if ($endpointSet.urls.Count -gt 0) { $endpointSet.urls } else { @() })

        $urlCustomObjects = @()
        if ($endpointSet.category -in ("Allow", "Optimize")) {
            $urlCustomObjects = $urls | ForEach-Object {
                [PSCustomObject]@{
                    category = $endpointSet.category;
                    url      = $_;
                    tcpPorts = $endpointSet.tcpPorts;
                    udpPorts = $endpointSet.udpPorts;
                }
            }
        }
        $urlCustomObjects
    }

    $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 '*.*' }
        
        $ipCustomObjects = @()
        if ($endpointSet.category -in ("Allow", "Optimize")) {
            $ipCustomObjects = $ip4s | ForEach-Object {
                [PSCustomObject]@{
                    category = $endpointSet.category;
                    ip = $_;
                    tcpPorts = $endpointSet.tcpPorts;
                    udpPorts = $endpointSet.udpPorts;
                }
            }
        }
        $ipCustomObjects
    }

    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', 'Worldwide', 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', 'Worldwide', clientRequestId)

    # filter results for Allow and Optimize endpoints, and transform these into tuples with port and category
    flatUrls = []
    for endpointSet in endpointSets:
        if endpointSet['category'] in ('Optimize', 'Allow'):
            category = endpointSet['category']
            urls = endpointSet['urls'] if 'urls' in endpointSet else []
            tcpPorts = endpointSet['tcpPorts'] if 'tcpPorts' in endpointSet else ''
            udpPorts = endpointSet['udpPorts'] if 'udpPorts' in endpointSet else ''
            flatUrls.extend([(category, url, tcpPorts, udpPorts) for url in urls])

    flatIps = []
    for endpointSet in endpointSets:
        if endpointSet['category'] in ('Optimize', 'Allow'):
            ips = endpointSet['ips'] if 'ips' in endpointSet else []
            category = endpointSet['category']
            # IPv4 strings have dots while IPv6 strings have colons
            ip4s = [ip for ip in ips if '.' in ip]
            tcpPorts = endpointSet['tcpPorts'] if 'tcpPorts' in endpointSet else ''
            udpPorts = endpointSet['udpPorts'] if 'udpPorts' in endpointSet else ''
            flatIps.extend([(category, ip, tcpPorts, udpPorts) 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か月間、web サービスの以前のバージョン (1 つのバージョン) を保持します。その時間帯にアップグレードしないユーザーは、web サービスとそのメソッドにアクセスできないことがあります。web サービスインターフェイスの署名に次の変更が加えられた場合、顧客は、web サービスのクライアントがエラーなしで作業を続けることを確認する必要があります。

  • 既存の web メソッドに新しい省略可能なパラメーターを追加して、古いクライアントによって提供される必要がなく、その結果に影響を与えることはありません。

  • 応答の REST 項目またはその他の列の1つに、応答 CSV に新しい名前付き属性を追加します。

  • 新しい名前を使用して新しい web メソッドを追加します。古いクライアントからは呼び出されません。

FAQ

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

下部のリンクをクリックして、記事が役に立ったかどうかを示し、追加の質問を送信してください。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 Intune
Power BI および ExpressRoute
Office 365 の url と ip アドレスに関するマイクロソフトのパブリック ip スペース
ネットワークインフラストラクチャの要件範囲
ExpressRoute office 365 接続
office 365 のネットワーク接続の原則を管理する

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

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

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

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

×