Microsoft 365:n IP-osoite ja URL-verkkopalvelu

Microsoft 365:n IP-osoite- ja URL-verkkopalvelun avulla voit paremmin tunnistaa ja erottaa Microsoft 365 -verkkoliikenteen, mikä helpottaa muutosten arvioimista, määrittämistä ja pysymistä ajan tasalla. Tämä REST-pohjainen verkkopalvelu korvaa aiemmat ladattavat XML-tiedostot, jotka poistettiin käytöstä 2.10.2018.

Asiakkaana tai eteisverkon laitetoimittajana voit luoda microsoft 365:n IP-osoitteen ja FQDN-merkintöjen verkkopalvelun pohjalta. Voit käyttää tietoja suoraan verkkoselaimessa näillä URL-osoitteilla:

Asiakkaana voit käyttää tätä verkkopalvelua

  • Päivitä PowerShell-komentosarjat Microsoft 365 -päätepistetietojen hankkimiseksi ja muokkaa verkkolaitteiden muotoiluja.
  • Näiden tietojen avulla voit päivittää asiakastietokoneissa käyttöönotetut PAC-tiedostot.

Eteisverkon edustalaitteen toimittajana voit käyttää tätä verkkopalvelua seuraavasti:

  • Luo ja testaa laiteohjelmisto, jolla voit ladata luettelon automatisoitua määritystä varten.
  • Tarkista nykyinen versio.
  • Hae nykyiset muutokset.

Huomautus

Jos muodostat yhteyden Microsoft 365:een Azure ExpressRouten avulla, tutustu Azure ExpressRoute for Microsoft 365 :een ja tutustu Azure ExpressRouten tukemien Microsoft 365 -palveluiden käyttöön. Tutustu myös artikkeliin Microsoft 365:n URL-osoitteet ja IP-osoitealueet selvittääksesi, mitkä Microsoft 365 -sovellusten verkkopyynnöt edellyttävät Internet-yhteyttä. Tämä auttaa määrittämään eteisalueen suojauslaitteita entistä paremmin.

Lisätietoja on seuraavissa artikkeleissa:

Yleiset parametrit

Nämä parametrit ovat yleisiä kaikissa verkkopalvelumenetelmissä:

  • format=<JSON | CSV> – Oletusarvoisesti palautettu tietomuoto on JSON. Tämän valinnaisen parametrin avulla voit palauttaa tiedot CSV-muodossa.

  • ClientRequestId=<guid> – Asiakkaan liitosta varten luotava pakollinen GUID-tunnus. Luo yksilöivä GUID-tunnus jokaiselle tietokoneelle, joka kutsuu verkkopalvelua (tähän sivuun sisältyvät komentosarjat luovat GUID-tunnuksen puolestasi). Älä käytä seuraavissa esimerkeissä näkyviä GUID-tunnuksia, koska verkkopalvelu saattaa estää ne tulevaisuudessa. GUID-muoto on xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, jossa x edustaa heksadesimaalilukua.

    Voit luoda GUID-tunnuksen käyttämällä PowerShell-komentoa New-Guid tai online-palvelua , kuten GUID-verkkogeneraattoria.

Version WWW-menetelmä

Microsoft päivittää Microsoft 365:n IP-osoitteen ja FQDN-merkinnät kunkin kuukauden alussa. Kaistan ulkopuoliset päivitykset julkaistaan joskus tukitapausten, tietoturvapäivitysten tai muiden toiminnallisten vaatimusten vuoksi.

Kunkin julkaistun esiintymän tiedoille määritetään versionumero, ja version verkkomenetelmän avulla voit tarkistaa kunkin Microsoft 365 -palveluesiintymän uusimman version. Suosittelemme, että tarkistat version enintään kerran tunnissa.

Version WWW-menetelmän parametrit ovat seuraavat:

  • AllVersions=<true | false> – Oletusarvoisesti palautettu versio on uusin. Sisällytä tämä valinnainen parametri, jos haluat pyytää kaikkia julkaistuja versioita verkkopalvelun ensimmäisen julkaisun jälkeen.
  • Muoto=<JSON | CSV | RSS> – JSON- ja CSV-muotojen lisäksi version verkkomenetelmä tukee myös RSS:ää. Voit käyttää tätä valinnaista parametria sekä AllVersions=true-parametria ja pyytää RSS-syötettä, jota voidaan käyttää Outlookin tai muiden RSS-lukijoiden kanssa.
  • Esiintymä=<Maailmanlaajuinen | Kiina | USGovDoD | USGovGCCHigh> – Tämä valinnainen parametri määrittää esiintymän, jolle versio palautetaan. Jos tämä jätetään pois, kaikki esiintymät palautetaan. Kelvollisia esiintymiä ovat: Maailmanlaajuinen, Kiina, USGovDoD, USGovGCCHigh.

Version verkkomenetelmää ei ole rajoitettu, eikä se koskaan palauta 429 HTTP-vastauskoodia. Vastaus version WWW-menetelmään sisältää välimuistin ohjausobjektin otsikon, jossa suositellaan tietojen tallentamista välimuistiin tunnin ajan. Version WEB -menetelmän tulos voi olla yksittäinen tietue tai tietuematriisi. Kunkin tietueen elementit ovat seuraavat:

  • instance – Microsoft 365 -palveluesiintymän lyhyt nimi.
  • latest – Määritetyn esiintymän päätepisteiden uusin versio.
  • version – luettelo määritetyn esiintymän kaikista aiemmista versioista. Tämä elementti sisältyy vain, jos AllVersions-parametri on tosi.

Version WWW-menetelmän esimerkkejä

Esimerkki 1 pyynnön URI:sta: https://endpoints.office.com/version?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tämä URI palauttaa kunkin Microsoft 365 -palveluesiintymän uusimman version. Esimerkkitulos:

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

Tärkeää

ClientRequestID-parametrin GUID näissä URI-tunnuksissa on vain esimerkki. Jos haluat kokeilla verkkopalvelun URI-osoitteita, luo oma GUID-tunnus. Verkkopalvelu saattaa tulevaisuudessa estää näissä esimerkeissä näytetyt GUID-tunnukset.

Esimerkki 2 pyynnön URI:sta: https://endpoints.office.com/version/Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tämä URI-tunnus palauttaa määritetyn Microsoft 365 -palveluesiintymän uusimman version. Esimerkkitulos:

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

Esimerkki 3 pyynnön URI:sta: https://endpoints.office.com/version/Worldwide?Format=CSV& ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tämä URI näyttää tulokset CSV-muodossa. Esimerkkitulos:

instance,latest
Worldwide,2018063000

Esimerkki 4 pyynnön URI:sta: https://endpoints.office.com/version/Worldwide?AllVersions=true& ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tämä URI näyttää kaikki aiemmat versiot, jotka on julkaistu Microsoft 365:n maailmanlaajuiselle palveluesiintymälle. Esimerkkitulos:

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

Esimerkki 5 RSS-syötteen URI: https://endpoints.office.com/version/worldwide?clientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7& allVersions=true&format=RSS

Tämä URI näyttää julkaistujen versioiden RSS-syötteen, joka sisältää linkkejä kunkin version muutosluetteloon. Esimerkkitulos:

<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0" xmlns:a10="https://www.w3.org/2005/Atom">
<channel>
<link>https://aka.ms/o365ip</link>
<description/>
<language>en-us</language>
<lastBuildDate>Thu, 02 Aug 2018 00:00:00 Z</lastBuildDate>
<item>
<guid isPermaLink="false">2018080200</guid>
<link>https://endpoints.office.com/changes/Worldwide/2018080200?singleVersion&clientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7</link> <description>Version 2018080200 includes 2 changes. IPs: 2 added and 0 removed.</description>
<pubDate>Thu, 02 Aug 2018 00:00:00 Z</pubDate>
</item>

Päätepisteiden WWW-menetelmä

Päätepisteiden verkkomenetelmä palauttaa kaikki tietueet IP-osoitealueille ja URL-osoitteille, jotka muodostavat Microsoft 365 -palvelun. Päätepisteiden verkkomenetelmän uusimpia tietoja tulee aina käyttää verkkolaitteen määritykseen. Microsoft antaa ennakkoilmoituksen 30 päivää ennen uusien lisäysten julkaisemista, jotta voit päivittää käyttöoikeusluetteloita ja välityspalvelimen ohitusluetteloita. Suosittelemme, että kutsut päätepisteiden verkkomenetelmän uudelleen vain, kun version verkkomenetelmä ilmaisee, että uusi versio tiedoista on käytettävissä.

Päätepisteiden WWW-menetelmän parametrit ovat seuraavat:

  • Palvelualueet=<Yleinen | Exchange | SharePoint | Skype> – Luetteloerottimilla erotettu luettelo palvelualueista. Kelvollisia kohteita ovat Common, Exchange, SharePoint ja Skype. Koska Common Service -aluekohteet ovat kaikkien muiden palvelualueiden edellytys, verkkopalvelu sisältää ne aina. Jos et sisällytä tätä parametria, kaikki palvelualueet palautetaan.
  • TenantName=<tenant_name> – Microsoft 365 -vuokraajan nimi. Verkkopalvelu ottaa antamasi nimen ja lisää sen url-osoitteiden osiin, jotka sisältävät vuokraajan nimen. Jos et anna vuokraajan nimeä, kyseisissä URL-osoitteiden osissa on yleismerkki (*).
  • NoIPv6=<true | false> – Määritä arvoksi tosi , jos haluat jättää IPv6-osoitteet pois tuloksesta, jos et käytä IPv6:ta verkossasi.
  • Esiintymä=<Maailmanlaajuinen | Kiina | USGovDoD | USGovGCCHigh> – Tämä pakollinen parametri määrittää esiintymän, josta päätepisteet palautetaan. Kelvollisia esiintymiä ovat : Maailmanlaajuinen, Kiina, USGovDoD ja USGovGCCHigh.

Jos kutsut päätepisteiden verkkomenetelmää liian monta kertaa samasta asiakkaan IP-osoitteesta, saatat saada HTTP-vastauskoodin 429 (liian monta pyyntöä). Jos saat tämän vastauskoodin, odota yksi tunti ennen pyynnön toistamista tai luo pyynnölle uusi GUID-tunnus. Yleisenä parhaana käytäntönä voit kutsua päätepisteiden verkkomenetelmää vain, kun version verkkomenetelmä ilmaisee, että uusi versio on käytettävissä.

Päätepisteiden verkkomenetelmän tulos on tietuematriisi, jossa kukin tietue edustaa tiettyä päätepistejoukkoa. Kunkin tietueen elementit ovat seuraavat:

  • id – Päätepistejoukon muuttumaton tunnusnumero.
  • serviceArea – Palvelualue, johon tämä kuuluu: Common, Exchange, SharePoint tai Skype.
  • url-osoitteet – päätepistejoukon URL-osoitteet. DNS-tietueiden JSON-matriisi. Jätetään pois, jos se on tyhjä.
  • tcpPorts – päätepistejoukon TCP-portit. Kaikki porttielementit muotoillaan pilkuin eroteltuna porttien tai porttialueiden luettelona, joka on erotettu koontimerkillä (-). Portit koskevat kaikkia ip-osoitteita ja kaikkia päätepistejoukon URL-osoitteita tietylle luokalle. Jätetään pois, jos se on tyhjä.
  • udpPorts – tämän päätepistejoukon IP-osoitealueiden UDP-portit. Jätetään pois, jos se on tyhjä.
  • ips – Tähän päätepistejoukkoon liittyvät IP-osoitealueet, jotka on liitetty listattuihin TCP- tai UDP-portteihin. IP-osoitealueiden JSON-matriisi. Jätetään pois, jos se on tyhjä.
  • category – Päätepistejoukon yhteysluokka. Kelvolliset arvot ovat Optimoi, Salli ja Oletusarvo. Jos etsit päätepisteiden verkkomenetelmän tulosta tietyn IP-osoitteen tai URL-osoitteen luokalle, on mahdollista, että kyselysi palauttaa useita luokkia. Noudata tällaisessa tapauksessa suurimman prioriteetin luokan suositusta. Jos päätepiste näkyy esimerkiksi sekä Optimoi- että Salli-toiminnoissa, noudata Optimoi-kohdan vaatimuksia. Tarvitaan.
  • expressRoute – Tosi , jos tämä päätepistejoukko reititetään ExpressRoute-arvolla, epätosi , jos ei.
  • pakollinen – Tosi , jos tämä päätepistejoukko vaaditaan, jotta Microsoft 365:n tukea voidaan käyttää. Epätosi , jos tämä päätepistejoukko on valinnainen.
  • huomautus – Valinnaisten päätepisteiden kohdalla tässä tekstissä kuvataan Microsoft 365 -toimintoja, jotka eivät olisi käytettävissä, jos tämän päätepistejoukon IP-osoitteita tai URL-osoitteita ei voi käyttää verkkokerroksessa. Jätetään pois, jos se on tyhjä.

Päätepisteiden verkkomenetelmän esimerkkejä

Esimerkki 1 pyynnön URI:sta: https://endpoints.office.com/endpoints/Worldwide?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tämä URI hankkii kaikki maailmanlaajuisen Microsoft 365 -esiintymän päätepisteet kaikille kuormituksille. Esimerkkitulos, joka näyttää otteen tuloksesta:

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

Pyynnön koko tulos tässä esimerkissä sisältäisi muita päätepistejoukkoja.

Esimerkki 2 pyynnön URI:sta: https://endpoints.office.com/endpoints/Worldwide?ServiceAreas=Exchange& ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tämä esimerkki hankkii Microsoft 365:n maailmanlaajuisen esiintymän päätepisteet vain Exchange Online ja riippuvuuksille.

Esimerkiksi tulos 2 on samankaltainen kuin esimerkki 1, paitsi että tulokset eivät sisältäisi SharePointin tai Skype for Business Onlinen päätepisteitä.

Muuttaa WWW-menetelmää

Muutosten verkkomenetelmä palauttaa uusimmat julkaistut päivitykset, jotka ovat yleensä edellisen kuukauden muutokset IP-osoitealueissa ja URL-osoitteissa.

Päätepistetietojen tärkeimmät muutokset ovat uudet URL-osoitteet ja IP-osoitteet. Jos IP-osoitetta ei lisätä palomuurin käyttöoikeuksien luetteloon tai välityspalvelimen ohitusluettelon URL-osoitteeseen, Microsoft 365 -käyttäjät voivat aiheuttaa katkoksen kyseisen verkkolaitteen takana. Toiminnallisista vaatimuksista huolimatta verkkopalveluun julkaistaan uusia päätepisteitä 30 päivää ennen sitä päivää, jona päätepisteet valmistellaan käytettäväksi, jotta voit päivittää käyttöoikeusluetteloita ja välityspalvelimen ohitusluetteloita.

Muutosten WWW-menetelmän pakollinen parametri on:

  • Versio=<YYYYMMDDNN> – Pakollinen URL-reititysparametri. Tämä arvo on versio, joka on tällä hetkellä käytössä. Verkkopalvelu palauttaa muutokset kyseisen version jälkeen. Muoto on YYYYMMDNN, jossa NN on luonnollinen luku, joka kasvaa, jos yhtenä päivänä on julkaistavaksi useita versioita, joista 00 edustaa tietyn päivän ensimmäistä päivitystä. Verkkopalvelu edellyttää, että versioparametri sisältää täsmälleen 10 numeroa.

Muutosten WWW-menetelmän hinta on rajoitettu samalla tavalla kuin päätepisteiden verkkomenetelmän. Jos saat 429 HTTP-vastauskoodin, odota yksi tunti ennen pyynnön toistamista tai luo pyynnölle uusi GUID-tunnus.

Muutosten verkkomenetelmän tulos on tietuematriisi, jossa jokainen tietue edustaa muutosta tietyssä päätepisteiden versiossa. Kunkin tietueen elementit ovat seuraavat:

  • id – Muutostietueen muuttumaton tunnus.
  • endpointSetId – Muuttuneen päätepistejoukon tietueen tunnus.
  • disposition – Kuvaa, mitä muutos teki päätepistejoukkotietueeseen. Arvot muuttuvat, lisätään tai poistetaan.
  • vaikutus – Kaikki muutokset eivät ole yhtä tärkeitä kaikille ympäristöille. Tämä elementti kuvaa odotettua vaikutusta yrityksen verkon edustaympäristöön tämän muutoksen seurauksena. Tämä elementti sisältyy vain muutostietueisiin versiossa 2018112800 ja uudemmissa. Vaikutuksen asetukset ovat seuraavat: AddedIp – Microsoft 365:een lisättiin IP-osoite, joka julkaistaan palvelussa pian. Tämä edustaa muutosta, joka on tehtävä palomuuriin tai muuhun tason 3 verkon eteislaitteeseen. Jos et lisää tätä ennen kuin alamme käyttää sitä, saatat saada käyttökatkoksen. AddedUrl – Microsoft 365:een lisättiin URL-osoite, joka julkaistaan palvelussa pian. Tämä edustaa muutosta, joka sinun on tehtävä välityspalvelimessa tai URL-osoitteessa, joka jäsentää verkon edustalaitetta. Jos et lisää tätä URL-osoitetta ennen kuin alamme käyttää sitä, saatat saada käyttökatkoksen. AddedIpAndUrl – Sekä IP-osoite että URL-osoite lisättiin. Tämä tarkoittaa muutosta, joka on tehtävä joko palomuurikerroksen 3 laitteessa, välityspalvelimessa tai URL-jäsennyslaitteessa. Jos et lisää tätä IP/URL-paria ennen kuin alamme käyttää sitä, saatat saada käyttökatkoksen. — RemovedIpOrUrl – Vähintään yksi IP-osoite tai URL-osoite poistettiin Microsoft 365:stä. Poista verkon päätepisteet edustalaitteistasi, mutta sille ei ole määräaikaa. — ChangedIsExpressRoute – ExpressRoute-tukimääritettä muutettiin. Jos käytät ExpressRoutea, sinun on ehkä tehtävä toimia määritystesi mukaan. — MovedIpOrUrl – Tämän päätepistejoukon ja toisen päätepistejoukon välillä on siirretty IP-osoite tai URL-osoite. Yleensä mitään toimia ei tarvita. — RemovedDuplicateIpOrUrl – Poistettiin IP-osoitteen tai URL-osoitteen kaksoiskappale, mutta se julkaistaan edelleen Microsoft 365:ssä. Yleensä mitään toimia ei tarvita. — OtherNonPriorityChanges – Muutimme jotain vähemmän kriittistä kuin kaikki muut vaihtoehdot, kuten muistiinpanokentän sisällön.
  • version – Sen julkaistun päätepistejoukon versio, jossa muutos otettiin käyttöön. Versionumerot ovat muotoa YYYYMMDDNN, jossa NN on luonnollinen luku, jota kasvatetaan, jos yhden päivän julkaisuun vaaditaan useita versioita.
  • previous – Alarakenne, joka kertoo muuttuneiden elementtien aiemmat arvot päätepistejoukossa. Tätä ei sisällytetä juuri lisättyihin päätepistejoukkoihin. Sisältää ExpressRouten, serviceArea-, luokka-, pakollinen-, tcpPorts-, udpPorts- ja notes-raportit.
  • current – Alirakenne, joka sisältää päivitettyjä arvoja päätepistejoukon muutoselementeistä. Sisältää ExpressRouten, serviceArea-, luokka-, pakollinen-, tcpPorts-, udpPorts- ja notes-raportit.
  • add – Alarakenne, joka kertoo päätepistejoukkokokoelmien lisäämisen kohteet. Jätetään pois, jos lisäyksiä ei ole. — effectiveDate – Määrittää tiedot, kun lisäykset ovat reaaliaikaisia palvelussa. — ips – ips-matriisiin lisättävät kohteet. — URL-osoitteet – Url-osoitteiden matriisiin lisättävät kohteet.
  • remove – Alirakenne, joka kertoo päätepistejoukosta poistettavat kohteet. Jätetään pois, jos poistoja ei ole. — ips – ips-taulukosta poistettavat kohteet. — URL-osoitteet - Url-matriisissa poistettavat kohteet.

Muuttaa WWW-menetelmän esimerkkejä

Esimerkki 1 pyynnön URI:sta: https://endpoints.office.com/changes/worldwide/0000000000?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tämä pyytää kaikkia aiempia muutoksia maailmanlaajuiseen Microsoft 365 -palveluesiintymään. Esimerkkitulos:

[
 {
  "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":
     [

Esimerkki 2 pyynnön URI:sta: https://endpoints.office.com/changes/worldwide/2018062700?ClientRequestId=b10c5ed1-bad1-445f-b386-b919946339a7

Tämä pyytää muutoksia määritetyn Microsoft 365 Worldwide -esiintymän version jälkeen. Tässä tapauksessa määritetty versio on uusin. Esimerkkitulos:

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

Esimerkki PowerShell-komentosarjasta

Voit suorittaa tämän PowerShell-komentosarjan nähdäksesi, onko sinun suoritettava toimintoja päivitetyille tiedoille. Voit tarkistaa versiopäivityksen suorittamalla tämän komentosarjan ajoitettuna tehtäväna. Jos haluat välttää liian suuren kuormituksen verkkopalvelussa, älä suorita komentosarjaa useammin kuin kerran tunnissa.

Komentosarja toimii seuraavasti:

  • Tarkistaa nykyisten maailmanlaajuisen Microsoft 365 -esiintymän päätepisteiden versionumeron kutsumalla verkkopalvelun REST-ohjelmointirajapintaa.

  • Tarkistaa nykyisen versiotiedoston osoitteesta $Env:TEMP\O365_endpoints_latestversion.txt. Yleisen muuttujan $Env:TEMP polku on yleensä C:\Users\<username>\AppData\Local\Temp.

  • Jos tämä on ensimmäinen kerta, kun komentosarja suoritetaan, komentosarja palauttaa nykyisen version ja kaikki nykyiset IP-osoitteet ja URL-osoitteet, kirjoittaa päätepisteiden version tiedostoon $Env:TEMP\O365_endpoints_latestversion.txt ja päätepisteiden tiedot tiedostoon $Env:TEMP\O365_endpoints_data.txt. Voit muokata tulostetiedoston polkua ja/tai nimeä muokkaamalla seuraavia rivejä:

    $versionpath = $Env:TEMP + "\O365_endpoints_latestversion.txt"
    $datapath = $Env:TEMP + "\O365_endpoints_data.txt"
    
  • Jos komentosarjan jokaisen myöhemmän suorituksen yhteydessä uusin verkkopalveluversio on identtinen O365_endpoints_latestversion.txt-tiedoston version kanssa, komentosarja poistuu tekemättä muutoksia.

  • Kun uusin verkkopalveluversio on uudempi kuin O365_endpoints_latestversion.txt-tiedoston versio, komentosarja palauttaa Luokan salliminen ja optimointi -päätepisteiden päätepisteet ja suodattimet, päivittää O365_endpoints_latestversion.txt-tiedoston version ja kirjoittaa päivitetyt tiedot O365_endpoints_data.txt-tiedostoon .

Komentosarja luo yksilöllisen ClientRequestId-tunnuksen tietokoneelle, jossa se suoritetaan, ja se uudelleenkäytää tätä tunnusta useissa kutsuissa. Tämä tunnus on tallennettu O365_endpoints_latestversion.txt-tiedostoon .

PowerShell-komentosarjan suorittaminen

  1. Kopioi komentosarja ja tallenna se paikalliseen kiintolevylle tai komentosarjan sijaintiin nimelläGet-O365WebServiceUpdates.ps1.

  2. Suorita komentosarja haluamassasi komentosarjaeditorissa, kuten PowerShell ISE- tai VS Code -editorissa, tai PowerShell-konsolissa seuraavalla komennolla:

    powershell.exe -file <path>\Get-O365WebServiceUpdates.ps1
    

    Komentosarjaan välitettävää parametria ei ole.

<# Get-O365WebServiceUpdates.ps1
From https://aka.ms/ipurlws
v1.1 8/6/2019

DESCRIPTION
This script calls the REST API of the Microsoft 365 IP and URL Web Service (Worldwide instance)
and checks to see if there has been a new update since the version stored in an existing
$Env:TEMP\O365_endpoints_latestversion.txt file in your user directory's temp folder
(usually C:\Users\<username>\AppData\Local\Temp).
If the file doesn't exist, or the latest version is newer than the current version in the
file, the script returns IPs and/or URLs that have been changed, added or removed in the latest
update and writes the new version and data to the output file $Env:TEMP\O365_endpoints_data.txt.

USAGE
Run as a scheduled task every 60 minutes.

PARAMETERS
n/a

PREREQUISITES
PS script execution policy: Bypass
PowerShell 3.0 or later
Does not require elevation
#>

#Requires -Version 3.0

# web service root URL
$ws = "https://endpoints.office.com"
# path where output files will be stored
$versionpath = $Env:TEMP + "\O365_endpoints_latestversion.txt"
$datapath = $Env:TEMP + "\O365_endpoints_data.txt"

# fetch client ID and version if version file exists; otherwise create new file and client ID
if (Test-Path $versionpath) {
    $content = Get-Content $versionpath
    $clientRequestId = $content[0]
    $lastVersion = $content[1]
    Write-Output ("Version file exists! Current version: " + $lastVersion)
}
else {
    Write-Output ("First run! Creating version file at " + $versionpath + ".")
    $clientRequestId = [GUID]::NewGuid().Guid
    $lastVersion = "0000000000"
    @($clientRequestId, $lastVersion) | Out-File $versionpath
}

# 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 Microsoft 365 worldwide commercial service instance endpoints detected"
    # write the new version number to the version file
    @($clientRequestId, $version.latest) | Out-File $versionpath
    # 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
    # URL results
    $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
    }
    # IPv4 results
    $flatIp4s = $endpointSets | ForEach-Object {
        $endpointSet = $_
        $ips = $(if ($endpointSet.ips.Count -gt 0) { $endpointSet.ips } else { @() })
        # IPv4 strings contain dots
        $ip4s = $ips | Where-Object { $_ -like '*.*' }
        $ip4CustomObjects = @()
        if ($endpointSet.category -in ("Allow", "Optimize")) {
            $ip4CustomObjects = $ip4s | ForEach-Object {
                [PSCustomObject]@{
                    category = $endpointSet.category;
                    ip = $_;
                    tcpPorts = $endpointSet.tcpPorts;
                    udpPorts = $endpointSet.udpPorts;
                }
            }
        }
        $ip4CustomObjects
    }
    # IPv6 results
    $flatIp6s = $endpointSets | ForEach-Object {
        $endpointSet = $_
        $ips = $(if ($endpointSet.ips.Count -gt 0) { $endpointSet.ips } else { @() })
        # IPv6 strings contain colons
        $ip6s = $ips | Where-Object { $_ -like '*:*' }
        $ip6CustomObjects = @()
        if ($endpointSet.category -in ("Optimize")) {
            $ip6CustomObjects = $ip6s | ForEach-Object {
                [PSCustomObject]@{
                    category = $endpointSet.category;
                    ip = $_;
                    tcpPorts = $endpointSet.tcpPorts;
                    udpPorts = $endpointSet.udpPorts;
                }
            }
        }
        $ip6CustomObjects
    }

    # write output to screen
    Write-Output ("Client Request ID: " + $clientRequestId)
    Write-Output ("Last Version: " + $lastVersion)
    Write-Output ("New Version: " + $version.latest)
    Write-Output ""
    Write-Output "IPv4 Firewall IP Address Ranges"
    ($flatIp4s.ip | Sort-Object -Unique) -join "," | Out-String
    Write-Output "IPv6 Firewall IP Address Ranges"
    ($flatIp6s.ip | Sort-Object -Unique) -join "," | Out-String
    Write-Output "URLs for Proxy Server"
    ($flatUrls.url | Sort-Object -Unique) -join "," | Out-String
    Write-Output ("IP and URL data written to " + $datapath)

    # write output to data file
    Write-Output "Microsoft 365 IP and UL Web Service data" | Out-File $datapath
    Write-Output "Worldwide instance" | Out-File $datapath -Append
    Write-Output "" | Out-File $datapath -Append
    Write-Output ("Version: " + $version.latest) | Out-File $datapath -Append
    Write-Output "" | Out-File $datapath -Append
    Write-Output "IPv4 Firewall IP Address Ranges" | Out-File $datapath -Append
    ($flatIp4s.ip | Sort-Object -Unique) -join "," | Out-File $datapath -Append
    Write-Output "" | Out-File $datapath -Append
    Write-Output "IPv6 Firewall IP Address Ranges" | Out-File $datapath -Append
    ($flatIp6s.ip | Sort-Object -Unique) -join "," | Out-File $datapath -Append
    Write-Output "" | Out-File $datapath -Append
    Write-Output "URLs for Proxy Server" | Out-File $datapath -Append
    ($flatUrls.url | Sort-Object -Unique) -join "," | Out-File $datapath -Append
}
else {
    Write-Host "Microsoft 365 worldwide commercial service instance endpoints are up-to-date."
}

Esimerkki Python-komentosarjasta

Tässä on Python-komentosarja, joka testataan Python 3.6.3:lla Windows 10. Voit suorittaa sen nähdäksesi, onko sinun suoritettava toimintoja päivitettyjen tietojen määritykseksi. Tämä komentosarja tarkistaa Microsoft 365:n maailmanlaajuisen esiintymän päätepisteiden versionumeron. Kun tapahtuu muutos, se lataa päätepisteet ja suodattimet Salli ja optimoi luokan päätepisteille. Se käyttää myös yksilöllistä ClientRequestId-tunnusta useissa kutsuissa ja tallentaa uusimman version väliaikaisesta tiedostosta. Tarkista versiopäivitys kutsumalla tätä komentosarjaa kerran tunnissa.

import json
import tempfile
from pathlib import Path
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 = Path(tempfile.gettempdir() + '/endpoints_clientid_latestversion.txt')
# fetch client ID and version if data exists; otherwise create new file
if datapath.exists():
    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 Microsoft 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('Microsoft 365 worldwide commercial service instance endpoints are up-to-date')

Verkkopalveluliittymän versioinnit

näiden verkkopalvelumenetelmien parametrien tai tulosten Päivitykset saatetaan vaatia tulevaisuudessa. Kun näiden verkkopalveluiden yleinen saatavuusversio on julkaistu, Microsoft pyrkii kohtuullisesti antamaan ennakkoilmoituksen verkkopalvelun materiaalipäivityksistä. Kun Microsoft uskoo päivityksen edellyttävän muutoksia verkkopalvelua käyttäviin asiakkaisiin, Microsoft pitää verkkopalvelun aiemman version (yhden version) käytettävissä vähintään 12 kuukauden ajan uuden version julkaisun jälkeen. Asiakkaat, jotka eivät päivitä kyseisenä aikana, eivät ehkä pysty käyttämään verkkopalvelua ja sen menetelmiä. Asiakkaiden on varmistettava, että verkkopalvelun asiakkaat jatkavat työskentelyä virheettömästi, jos verkkopalveluliittymän allekirjoitukseen tehdään seuraavat muutokset:

  • Uuden valinnaisen parametrin lisääminen aiemmin luotuun verkkomenetelmään, jonka ei tarvitse olla vanhempien asiakkaiden käytettävissä ja joka ei vaikuta asiakkaan saamaan tulokseen.
  • Uuden nimetyn määritteen lisääminen yhteen vastauksen REST-kohteisiin tai muihin sarakkeisiin vastauksen CSV-tiedostoon.
  • Uuden verkkomenetelmän lisääminen uudella nimellä, jota vanhemmat asiakkaat eivät kutsu.

Päivitysilmoitukset

Voit saada sähköposti-ilmoituksia muutamalla eri tavalla, kun IP-osoitteiden ja URL-osoitteiden muutokset julkaistaan verkkopalvelussa.

Välityspalvelimen PAC-tiedoston vieminen

Get-PacFile on PowerShell-komentosarja, joka lukee uusimmat verkon päätepisteet Microsoft 365:n IP-osoitteesta ja URL-verkkopalvelusta ja luo PAC-mallitiedoston. Lisätietoja Get-PacFile-tiedoston käytöstä on kohdassa Pac-tiedoston käyttäminen elintärkeän Microsoft 365 -liikenteen suorassa reitityksessä.

Microsoft 365:n URL-osoitteet ja IP-osoitealueet

Microsoft 365 -päätepisteiden hallinta

Microsoft 365:n verkkoyhteysperiaatteet

Microsoft 365 -verkko ja suorituskyvyn säätö

Microsoft 365:n verkkoyhteyden arviointi

Median laatu ja verkkoyhteyksien suorituskyky Skype for Business Onlinessa

Verkon optimointi Skype for Business Onlinea varten

Microsoft 365:n suorituskyvyn säätö perusaikataulujen ja suorituskykyhistorian avulla

Microsoft 365:n suorituskyvyn vianmäärityssuunnitelma