Agentit ja sovellukset ovat myös identiteettejä, ja tämä viikko näytti miksi sillä on väliä
Pk-yrityksissä Microsoft 365 -tietoturva tarkoittaa yleensä ihmisiä. MFA käyttäjille, Conditional Access käyttäjille, tietojenkalastelukoulutus käyttäjille. Se on tärkeää työtä, mutta tämän viikon kaksi uutista muistuttavat, että yhä suurempi osa tenantin pääsyoikeuksista kuuluu jollekin muulle: sovelluksille, automaatioille ja nyt myös AI-agenteille.
Entra alkaa sallia agenttien luonnin käyttäjille oletuksena
Microsoft aloitti 4. marraskuuta Entra ID:ssä muutoksen, jonka myötä käyttäjät ilman admin-roolia voivat luoda agent identity blueprinteja eli pohjia, joista uudet agentit rakennetaan. Muutoksen pitäisi olla kaikissa tenanteissa marraskuun loppuun mennessä.
Asetus on nimeltään Users can create agent blueprints, ja sen löytää polusta Entra ID > Users > User settings. Se on päällä, ellet itse kytke sitä pois. Se on myös erillinen vanhasta Users can register applications -asetuksesta, joten jos sovellusrekisteröinnit on aikanaan rajattu, se päätös ei koske agentteja.
Kaksi yksityiskohtaa kannattaa tietää. Blueprintin luojasta tulee sen omistaja, ja hän voi luoda siitä agentti-identiteettejä ilman Agent ID -roolia. Asetuksen kytkeminen myöhemmin pois ei poista mitään, mikä on jo luotu.
Jos kenenkään organisaatiossasi ei vielä ole tarkoitus rakentaa agentteja, käännä asetus nyt asentoon No ja anna Agent ID Developer -rooli niille, jotka sitä oikeasti tarvitsevat. Se vie viisi minuuttia ja on paljon helpompaa kuin jälkisiivous.
Varastetut sovellustunnukset, todellinen pääsy
Samalla viikolla Todylin tutkijat kertoivat kampanjasta, joka alkoi 1. marraskuuta. Siinä kirjauduttiin luotettuina sovelluksina voimassa olevilla, varastetuilla Entra ID -sovellustunnuksilla. Heidän havaintojensa mukaan kohteena oli noin 45 sovellusrekisteröintiä, ja pääsy ulottui ainakin 27 organisaatioon, myös palveluntarjoajien asiakkaisiin. Tiedostoja ja sähköposteja luettiin Microsoft Graphin ja SharePointin kautta.
Microsoftin haavoittuvuutta ei tarvittu. Hyökkääjällä oli toimivat tunnukset sovelluksiin, joilla oli oikeuksia.
Tämä on se kohta, joka kannattaa ottaa vakavasti: käyttäjille kirjoitetut Conditional Access -säännöt eivät estä sovellusta kirjautumasta omalla secretillään. Microsoftilla on Conditional Access myös workload-identiteeteille, mutta se vaatii Workload Identities Premium -lisenssit ja kattaa vain oman tenantin service principalit. Monessa pk-yrityksessä ei ole lisenssiä eikä ajantasaista listaa siitä, millä sovelluksilla on secretejä.
Hallintatyökaluja on, mutta aloita perusteista
Microsoft nosti 3. marraskuuta esiin Agent 365 -alustansa agenttien löytämiseen ja hallintaan, kun Gartner nimesi sen johtajaksi uudessa kategoriassa. Työkalu on hyödyllinen, mutta se tulee Microsoft 365 E7:n mukana tai E5:n lisäosana. 30 hengen Business Premium -yrityksellä sitä ei ole ensi viikolla.
Sama ajatus näkyy muuallakin. PagerDutyn 3. marraskuuta julkaisema häiriöagentti toimii joko niin, että ihminen hyväksyy jokaisen korjauksen, tai itsenäisesti vain tunnetuissa tilanteissa. Traficomin ohje tekoälyagenttien kyberturvallisuudesta sanoo saman: vähimmät oikeudet ja ihmisen hyväksyntä kriittisille toimenpiteille.
Periaatteen soveltamiseen ei tarvita uutta alustaa. Tarvitaan inventaario.
Mitä tekisin tällä viikolla
- Tarkista Users can create agent blueprints ja päätä asetuksesta tietoisesti.
- Käy samalla läpi Users can register applications ja käyttäjien suostumusasetukset.
- Listaa kaikki sovellusrekisteröinnit, joilla on secret tai sertifikaatti, ja niiden omistajat.
- Katso service principalien kirjautumisista sovellukset, jotka ovat yhtäkkiä aktivoituneet.
- Poista tunnukset, joita kukaan ei osaa selittää, ja vaihda loput.
Kohtaan 3 saat nopean lähtölistan Microsoft Graph PowerShellillä. Komento vain lukee tietoja, ja se pitää ajaa admin-tunnuksella, koska Application.Read.All vaatii admin-suostumuksen. Poista ensimmäiseltä riviltä kommenttimerkki, jos moduulia ei ole vielä asennettu:
# Install-Module Microsoft.Graph.Applications -Scope CurrentUser
Connect-MgGraph -Scopes "Application.Read.All"
Get-MgApplication -All -Property DisplayName,PasswordCredentials,KeyCredentials |
Where-Object { $_.PasswordCredentials -or $_.KeyCredentials } |
Select-Object DisplayName,
@{ n = 'Secrets'; e = { @($_.PasswordCredentials).Count } },
@{ n = 'Certificates'; e = { @($_.KeyCredentials).Count } },
@{ n = 'NextExpiry'; e = { (@($_.PasswordCredentials) + @($_.KeyCredentials) |
Sort-Object EndDateTime | Select-Object -First 1).EndDateTime } }Jokainen rivi on identiteetti, joka voi kirjautua ilman ihmistä, ja NextExpiry kertoo sen lähimmän vanhenevan tunnuksen. Jokaisella pitäisi olla omistaja, syy olla olemassa ja tiedossa oleva vanhenemispäivä. Pidän näitä kolmea osana minkä tahansa automaation valmiin määritelmää, koska omistajaton sovellus on helpoin väärinkäyttää.
Lista kattaa vain sovellusrekisteröinnit. Suoraan enterprise appeihin lisätyt tunnukset, kuten SAML-allekirjoitussertifikaatit, eivät näy siinä.
Haluatko, että joku käy tenanttisi sovellukset ja agentit läpi kanssasi? Otetaan yhteyttä.
Lähteet
Microsoft Entra lets users create agent blueprints by default (LazyAdmin)
Attacker abuses Microsoft Entra ID to target downstream MSP clients (Cybersecurity Dive)
Conditional Access for workload identities (Microsoft Learn)
PagerDuty unveils Paige, an SRE agent, and the PD Reliability Platform (PagerDuty)
Lue myös
Dokumentointi on tärkeämpää kuin itse automaatio
Automaatio ilman dokumentaatiota on ajastettu ongelma. Tässä käyn läpi, mitä hyvä dokumentaatio tarkoittaa käytännössä ja miksi se on tärkeämpää kuin moni luulee.
Lue lisääIdempotenssi automaatiossa: miksi sama operaatio pitää voida ajaa kahdesti
Idempotenssi on yksi tärkeimmistä mutta harviten mainituista automaation rakennusperiaatteista. Tässä selitän, mitä se tarkoittaa ja miten se toteutetaan käytännössä.
Lue lisää