ciekawy case dotyczący uruchamiania Self-Service Password Reset (SSPR) i zarazem lekcja – workaround to nie solution q:
zgłosił się do mnie zapłakany klient, że uruchamiają SSPR i muszą jakoś dostarczyć dane użytkowników do portalu. do niedawna nie było to możliwe (uservoice z 2o18), ale od jakiegoś czasu Microsoft w swojej wielkości dostarczył… no właśnie, co dostarczył? obejście problemu opisane tutaj. 'czemu obejście?’ zapyta ktoś, kto uważnie przestudiuje, sprawdzi i stwierdzi że działa…
…ano problem polega na tym, że informacje do SSPR brane są z atrybuty 'StrongAuthenticationUserDetails’. ten atrybut ma kilka cech odróżniających go od zwykłego atrybutu np. 'telephoneNumber’ a jednym z nich jest fakt… że nie wypełnia wizytówki użytkownika. jest niewidzialny.
i teraz taki myk…
tak wygląda użytkownik, który wszedł na portal i wypełnił sobie dane do MFA/SSPR:
PS> get-msoluser -UserPrincipalName testuser01@w-files.pl|select -ExpandProperty strongauthenticationuserdetails ExtensionData : System.Runtime.Serialization.ExtensionDataObject AlternativePhoneNumber : Email : moj@email.com OldPin : PhoneNumber : +48 2323232323 Pin :
i wyświetlmy sobie właściwości w AAD:
PS > Get-AzureADUser -SearchString testuser01@w-files.pl|select othermails,mobile,telephonenumber OtherMails Mobile TelephoneNumber ---------- ------ --------------- {}
a teraz, za artykułem, prepopuluję (dziś super po polsq) atrybuty:
Set-AzureADUser -ObjectId testuser02@w-files.pl -OtherMails @('innymail@wtf.com') -Mobile '+48 666232323' -TelephoneNumber '+48 999999999'
no i output takiej operacji:
PS > Get-AzureADUser -SearchString testuser02@w-files.pl|select othermails,mobile,telephonenumber OtherMails Mobile TelephoneNumber ---------- ------ --------------- {innymail@wtf.com} +48 666232323 +48 999999999 get-msoluser -UserPrincipalName testuser02@w-files.pl|select -ExpandProperty strongauthenticationuserdetails <empty>
co się dzieje dalej? hasło dla testuser02 resetuję i działa. kiedy próbuję dostać się do portalu o365, dostaję standardowe pytanie o uzupełnienie obligatoryjnych pól do zabezpieczenia konta (czyli te do MFA, które zapisują się w StrongAuthenticationUserDetails).
a więc to …’rozwiązanie’ nie działa dla MFA, jest obejściem dla SSPR, i dane 'zabezpieczające’ stają się *publicznie* dostępne dla wszystkich w organizacji ROTFLMAO.
eN.