Saznajte više o podržanoj verziji Microsoft 365 DSC: UTCM brzi pregled, 1. dio

01/04/2026

Kako Microsoft 365 ulazi u tinejdžerske godine, počinje se pojavljivati ​​određena zrelost (puna igra riječi). Danas se mnogo manje govori o migraciji, usvajanju ili čak novim funkcijama, a više se fokusira na upravljanje, sigurnost, automatizaciju. Nije da su scenariji poput pridržavanja najboljih praksi ili usklađenosti sa određenim regulatornim zahtjevima novi, ali su sada mnogo prisutniji. Kako ih sve više kupaca počinje gledati, vidjeli smo da se pojavljuju neki proizvodi koji ciljaju na ove specifične potrebe.

Sada, uprkos onome što će vam reći ljudi iz marketinga/prodaje, cijela stvar “konfiguracije kao koda” nije tako nova, čak ni za Microsoft 365. Zapravo, Microsoft 365 DSC projekat otvorenog koda, koji koristi konfiguraciju željenog stanja PowerShell-a za upravljanje M365 resursima, postoji od 2019. Komercijalni alati, kao što je Manager, također su dobili Tragu za konfiguraciju CoreView. Kao takav, nije iznenađujuće da Microsoft sada traži službeno podržan (i kao što možete očekivati, plaćeni) alat za isto.

Upoznajte Unified Tenant Configuration Management aka UTCM! Prije nego što zaronimo u nekoliko stvari moraju biti potpuno jasne, počevši od činjenice da je ovo izdanje zaista pregled. Nadalje, UTCM nije samo sastavni dio novog proizvoda koji Microsoft namjerava objaviti kasnije ove godine, već je i platforma na kojoj korisnici i ISV mogu izgraditi vlastita rješenja. Kao takav, nije iznenađenje vidjeti pristup API-ju koji se koristi u ovom pregledu, pa budite upozoreni da ćemo gledati gomilu koda, a ne neki blještavi korisnički interfejs.

Uvod i preduslovi

Ukratko, UTCM je službeno podržana verzija Microsoft 365 DSC. Drugim riječima, to je alat koji vam omogućava da dobijete konfiguraciju vaših Microsoft 365 zakupaca u određenom trenutku, otkrijete sva odstupanja od unaprijed definirane osnovne linije ili bilo kojeg prethodnog stanja i konačno pokrenete sanaciju kako biste stanje vratili u red. Sve se to može uraditi programski na strukturiran i predvidljiv način, ili drugim riječima, može biti potpuno automatizirano. Međutim, trenutni pregled uključuje samo bitove snimanja, praćenja i konfiguracije (sve navedene u nastavku) i ne dozvoljava automatsku sanaciju.

Gornji opis bi vas već trebao upozoriti na potencijalni uticaj koji alat kao što je UTCM može imati na vašeg stanara, tako da ne čudi što dolazi s nekim preduvjetima i puno upozorenja. Microsoft je odabrao pristup koji od nas zahtijeva da ručno dodijelimo skup potrebnih dozvola, što će ovisiti o skupu resursa koje planirate da nadgledate, umjesto da unaprijed ovlastimo ono što bi inače predstavljalo previsoki skup opsega na odgovarajućem principalu usluge.

Govoreći o tome, prije nego što možete isprobati UTCM pregled, morate ručno osigurati principal usluge koji koristite. Ovo će biti automatizovano kada alat dođe u GA, a samo upravljanje dozvolama će se vršiti preko korisničkog interfejsa. Da biste pregledali, možete koristiti sljedeći Graph SDK za PowerShell cmdlet za pružanje potrebnog principala usluge:

Connect-MgGraph -Scopes 'Application.ReadWrite.All'
New-MgServicePrincipal -AppId '03b07b79-c5bc-4b5e-9bfa-13acf4a99998'

gdje 03b07b79-c5bc-4b5e-9bfa-13acf4a99998 je AppID of Objedinjeno upravljanje konfiguracijom stanara aplikacija prve strane koju koristi alat. Naravno, možete koristiti i Graph API za ovaj korak ako želite.

Ovaj korak će osigurati SP objekat, ali mu ne daje nikakve dozvole za pristup resursima unutar vaše organizacije. Taj dio zahtijeva dodatni rad. Da biste se pridržavali principa najmanjih privilegija, preporučuje se da navedete skup resursa koji planirate da nadgledate i dodijelite samo minimalni skup dozvola potrebnih za njihovo pokrivanje. Na primjer, ako planirate pratiti Entra pravila uslovnog pristupa, Politika. Čitaj. Sve opseg treba da uradi.

Jedna važna stvar koju treba napomenuti je da kad god se referira na principala UTCM usluge, svaka referenca dozvole odnosi se na dozvole aplikacije. Svi “pozadinski” procesi će se oslanjati na navedenog principala usluge i dozvole koje smo mu dodijelili, bez uključenog korisničkog elementa. U primjeru iznad Politika. Čitaj. Sve obim mora biti odobren kao AppRole preko odgovarajuće cmdlet/krajnje tačke. Možete pogledati zvaničnu dokumentaciju za primjere kako to učiniti.

Pored dozvola odštampanih na principalu UTCM usluge, koje su, kao što je gore objašnjeno, odgovorne za operacije “iza kulisa”, mogu se koristiti dva opsega da se navede koji će korisnici (ili aplikacije) biti u mogućnosti da administriraju funkciju. Samo čitamo ConfigurationMonitoring.Read.All opseg i čitanje-pisanje ConfigurationMonitoring.ReadWrite.All jedan. One su dostupne u verzijama dozvola za delegate i aplikacije. Za prvo, korisnik će također trebati ulogu administratora za rad s UTCM-om. Trenutno je podržana svaka uloga Entra ID označena privilegovanom oznakom.

U stvari, imamo jasnu razliku između administrativnih zadataka, koji se mogu obavljati ili kao korisnik administratora ili kao aplikacija, na pozadinskim zadacima, koji se uvijek izvode u kontekstu principala UTCM usluge. Osim ako nije drugačije naznačeno, svi donji primjeri se izvode kroz alat Graph explorer, tako da koriste model dozvole delegata.

Funkcionalnost praćenja

Sada kada imamo neku ideju o tome šta alat radi i kako ga pokrenuti, prođimo kroz neke osnovne scenarije. Podrazumijeva se da alat pokriva mnogo više od onoga što možemo navesti u ovom kratkom članku, pa pogledajte i službenu dokumentaciju za primjere.

Osnovni gradivni blok za UTCM je “monitor”. Monitor (ili objekt configurationMonitor) je tip planiranog zadatka koji se povremeno izvodi u vašem zakupcu i prikuplja podatke za navedene resurse. Skup sredstava navedenih kao dio konfiguracije nadzora predstavlja njihovu vlastitu osnovna linijaupakiran kao konfiguracijski objekt Baseline, ili drugim riječima, JSON blob. Polazna linija i displayName su jedina potrebna svojstva pri kreiranju novog monitora, ali je vrlo dobra ideja dodati i detaljna svojstva opis.

Imajte na umu da trenutno nisu podržani svi Microsoft 365 resursi. Da bi UTCM nadgledao određeni resurs, API-ji ili PowerShell cmdleti već moraju postojati. Iako je tim forsirao različite timove unutar Microsofta kako bi osigurali dostupnost API-ja, još uvijek smo daleko od potpune pokrivenosti. Stoga je važno da pregledate listu podržanih radnih opterećenja i resursa prije nego odlučite šta bi vaš monitor(i) trebao pokrivati.

Imajući gore navedeno na umu, evo primjera kreiranja novog monitora konfiguracije, izdavanjem POST zahtjeva /admin/configurationManagement/configurationMonitors krajnja tačka. Resurs koji smo odabrali za pokrivanje je Entra politika autorizacije koju predstavlja microsoft.entra.authorizationpolicy resourceType vrijednost. Takođe moramo uključiti svojstva koje želimo pratiti, čija lista može biti uska ili široka koliko želite. Osim toga osigurati posebna imovina je navedena u vrijednosti od Presentsignalizirajući da je to resurs koji mora postojati u svakom trenutku. Na kraju, također ćete morati navesti IsSingleInstance vlasništvo, koje je potrebno za Entra resurse (nije potrebno za ExO).

POST https://graph.microsoft.com/beta/admin/configurationManagement/configurationMonitors/

{
    "displayName": "Basic Entra monitor",
    "description": "This is a basic Entra ID monitor created via the Graph API. Only covers the Entra ID authorization policy resource",
    "baseline":
    {
        "displayName": "Entra Authorization Policy",
        "description": "Entra Authorization Policy",
        "resources": [
        {
            "displayName": "AADAuthorizationPolicy",
            "resourceType": "microsoft.entra.authorizationpolicy",
            "properties": {
                "DefaultUserRoleAllowedToCreateSecurityGroups": true,
                "DefaultUserRoleAllowedToCreateApps": true,
                "DefaultUserRoleAllowedToCreateTenants": true,
                "DefaultUserRoleAllowedToReadOtherUsers": true,
                "Ensure":"Present",
                "IsSingleInstance":"True"
            }
        }
    ]
    }
}

Metode GET/LIST, UPDATE i DELETE za configurationMonitor resursi da rade kako se očekuje, pa ćemo vas samo ukratko uputiti na primjere u službenoj dokumentaciji. Međutim, nekoliko važnih svojstava zaslužuju poseban spomen. Nakon kreiranja, svaki objekat monitora to dobija Idpomoću kojih se možete pozvati na to. Također će dobiti zaštitni znak s tenantIdbudući da su scenariji sa više zakupaca UTCM-ov kruh i puter. The monitorRunFrequencyInHours svojstvo vam daje interval u kojem se prikupljaju podaci. U ovom trenutku ne možete promijeniti zadane postavke 6 sati vrijednost, iako se Microsoft obavezao da će dozvoliti određena prilagođavanja u budućim izdanjima.

The runAsUTCMServicePrincipal svojstvo će uvijek biti postavljeno na pravibudući da monitori danas rade samo u kontekstu principala UTCM usluge. kao rezultat toga, runningOnBehalfOf vrijednost bi trebala specificirati principala UTCM usluge (onog koji smo dali kao dio preduvjeta). na kraju, osnovna linija svojstvo detaljno opisuje resurse/svojstva koja pokriva trenutni monitor. As osnovna linija predstavlja odnos, morate koristiti ili $expand operatora da ga uključi u izlaz ili izda samostalni zahtjev putem osnovne linije Get metode.

Pošto smo spomenuli $expand imajte na umu da su podržani i drugi standardni Graph operatori. Koristi $filter operator za preuzimanje monitora koji odgovaraju određenim kriterijumima, $top ograničiti veličinu rezultata i $odaberi da dohvatite samo svojstva koja vas zanimaju. Evo primjera kako dohvatiti monitore po imenu i vratiti metapodatke kreatora:

GET https://graph.microsoft.com/beta/admin/configurationManagement/configurationMonitors?$filter=displayName eq 'Basic Entra monitor'&$select=id,createdBy

UTCM1

Kako se monitori izvršavaju, detalji o svakom pokretanju mogu se dohvatiti putem ConfigurationMonitoringResult resursa. Koristite metodu LIST za dohvaćanje podataka za sve instance ili metodu GET za određene instance. Krajnja tačka podržava standardne Graph operatore, tako da možete lako filtrirati po njima monitorId vrijednost. Koristi $top operator za kontrolu veličine stranice ili praćenja @odata.sljedeća veza aspekt da biste dobili cijeli skup rezultata (po defaultu se vraća na stranicama od 10).

GET https://graph.microsoft.com/beta/admin/configurationManagement/configurationMonitoringResults?$filter=monitorId eq '67c61424-2e82-4fcb-895d-22096b918f5a'

U okviru izlaza, dobićete generičke podatke monitora i stanara, vreme početka i završetka za dati posao, njegov status, i što je najvažnije, broj „pomeranja“ na koje se naišlo. Drift se odnosi na odstupanje od željenog stanja datog objekta, kao što je njegovo odsustvo ili nepodudaranje vrijednosti svojstava. Ali više o tome u kasnijim odeljcima.

Drugi članak u ovom početnom UTCM pregledu će pokriti rad sa snimcima i otkrivanje odstupanja konfiguracije, kao i navođenje nekih ograničenja u trenutnom pregledu.

www.oblakznanja.com