M365 Admin Mailadresse

Für eine sichere Umgebung sollte ihr regulärer und lizenzierter Benutzer keine administrative Rolle innehaben. Das bedeutet aber, dass sie entweder mit PIM (Azure AD P2-Lizenz) arbeiten oder separate Anmeldekonten zur Administration verwenden. Diese haben aber in der Regel keine Lizenz für ein Postfach. Wie kann ich die Mails an den Administrator an eine andere Adresse umleiten?

Ganz einfach: Indem Sie die "mail"-Adresse beim dem AzureAD-Objekt setzen.

Um das zu testen und zu verifizieren, habe ich folgende Testserie durchgeführt:

Admin anlegen

Zuerst lege ich mir im Microsoft 365 Admin Portal unter https://admin.microsoft.com/#/users/:/adduser  einen neuen Benutzer an, der z.B. Global Admin ist. Es wird ein "Cloud-User", damit er nicht mit einem lokalen AD repliziert werden muss und damit eine lokale Kompromittierung nicht auch gleich den Tenant erwischt.

  • Name, Anmeldename und Kennwort
    Ich habe ein Cloud-Only Konto für explizite administrative Zwecke angelegt
  • Keine Produktlizenz
    Als reiner Admin möchte ich gerade nicht, dass diese Konto auch Dienste nutzt. So spare ich zudem auch die Kosten für eine Lizenz
  • Optionale Einstellung: Admin-Rolle zuweisen
    Exemplarisch trage ich den Benutzer hier als "Globaler Administrator" ein. Sie können natürlich auch jede andere administrative Rolle zuweisen.
  • Zusammenfassung
    Das Portal fasst noch mal die gemachten Einstellungen zusammen, ehe ich die Änderungen anwende.

Damit habe ich dann ein Admin-Konto, mit dem ich mich anmelden und anhand der Berechtigungen auch verwalten kann. Aber ich habe keine Mailadresse und diverse "Benachrichtigungen" an mich sind damit erst einmal nicht möglich bzw. werden an den UPN gesendet, der jedoch kein Postfach hat.

Status nach Neuanlage

Zuerst schaue ich mir den neuen Benutzer im Azure Portal (https://portal.azure.com) an. Dort sehe ich keinerlei Eintrag im Bereich "Mail". Interessanterweise hat er aber schon einen MailNickName.

Im Exchange Portal erscheint der Benutzer ebenfalls nicht. Das verwundert natürlich nicht, da der Benutzer keine Lizenz hat und auch nicht als MailUser angelegt oder aktiviert wurde.

Per Azure PowerShell sehe ich auch keine Einträge in den Mail-Feldern.

PS C:\> Get-AzureADUser -SearchString admin2@msxfaqdev.onmicrosoft.com | fl *mail*,Proxy*

Mail :
MailNickName : Admin2
OtherMails : {}
ProxyAddresses : {}

Feld "Mail" setzen

Damit Mails an den Administrator nicht verloren gehen, weil er kein Postfach hat und auch kein MailUser mit einer alternativen Zieladresse ist, muss ich dem Konto eine gültige Mailadresse in das Feld "Mail" schreiben. Über Set-AzureADUser ist es nicht möglich, diese Felder zu schreiben. Microsoft schreibt dazu:

The Mail attribute in Azure AD isn't settable by using Azure AD powershell, this is because it's set by O365 Side. Currently, mail is only set by Exchange Online (so yes, with an O365 mailbox), or by syncing from an On-Premises directory solution to Azure AD (e.g. DirSync, Azure AD Sync, Azure AD Connect, etc.).
https://social.msdn.microsoft.com/Forums/en-US/52c9b994-a41f-4072-8974-cbccd699dbd3/set-and-read-primary-email-through-powershell-getazureaduser?forum=WindowsAzureAD#52c9b994-a41f-4072-8974-cbccd699dbd3

Auch über das Microsoft Admin Portal auf https://admin.microsoft.com können Sie das Feld nicht schreiben. Aber über das Azure Portal (https://portal.azure.com) kann ich das Objekt und damit auch das "mail"-Feld editieren.

Nachdem ich den Wert gesetzt habe, erscheint es auch in der AzureAD PowerShell und sogar die ProxyAddresses werden gefüllt:

Ich habe über den Chromium Debugger dem Code auf die Finger geschaut und sie sehen gut, dass hier ein "$Batch"-Update gegen Microsoft Graph erfolgt:

Es gibt also keinen wirklichen Grund, warum das mit Set-AzureADUser nicht auch möglich sein sollte.

Wenn Sie die Mailadresse ändern, werden die alten Adressen aber nicht aus dem Feld "ProxyAddresses" entfernt, sondern zusätzlich addiert.

Solange das Objekte aber keine Exchange-Lizenz hat oder als Exchange kontakt angelegt wurde, konnte ich die Werte nur auslesen aber nicht ändern.

Mail an Admin

Nun muss ich den Erfolg der Änderung natürlich testen. In meinem Tenant kann ich PIM nutzen, da ein DEveloper Tenant ja Microsoft 365 E5-Lizenzen hat. Bei PIMbekommt jeder "Global Admin" eine Mail, wenn ich einem anderen Benutzer eine Adminrolle außerhalb von PIM zuweise. Dazu muss natürlich mein "Admin2" selbst schon die Rolle "Globaler Administrator" haben, damit er über Änderungen informiert wird.

Aber sie sehen oben am rot markierten Empfänger, dass die Mail tatsächlich direkt an die bei Admin2 hinterlegte Mailadresse gegangen ist.

Test: externe Mail

Da es sich nicht um einen validen Exchange Online MailUser handelt, wundert es mich nicht, dass das Admin2-Konto nicht aus dem Internet oder von intern erreichbar ist.

Das funktioniert selbst dann nicht, wenn das Objekt durch eine manuelle Zuweisung von Mail auch ProxyAddresses bekommen hat. Das ist aber sinnvoll, damit niemand mit dem Wissen um einen Admin ihm auch noch eine Mail über die "<tenant>.onmicrosoft.com"-Adresse oder eine andere Adresse senden kann.

Feld: Alternate Mailadresse

Keine Bedeutung hat hier wohl das Feld "OtherMails". Ich kann diese Feld aber z.B. im Microsoft 365 Admin Portal als "Alternative Mailadresse" setzen:

Ich kann das Feld problemlos setzen

Nach dem Speichern schließt sich das Fenster nicht mehr sondern ich sehe dort direkt eine Betätigung.

Im AzureAD Audit Log lässt sich die Änderung nachvollziehen:

Im Hintergrund wird demnach das Feld "Other Email" gefüllt, welches auch im Azure Portal des Benutzers sichtbar wird.

Im AzureAD ist die Mailadresse hinterlegt aber anscheinend wirkt sie sich auf nichts weiter aus.

PS C:\> Get-AzureADUser -SearchString admin2@msxfaqdev.onmicrosoft.com | fl *mail*,Proxy*

Mail :
MailNickName : Admin2
OtherMails : {frank@carius.de}
ProxyAddresses : {}

In dem Zuge interessant, dass ich das Feld auch per PowerShell setzen aber nicht leeren kann.

Es kommt aber auch kein Fehler zurück und auch andere Schreibweisen führen nicht zum Erfolg. Das scheint aber der Graph-API geschuldet zu sein

This is a problem with Graph SDK as the SDK is discarding the null attribute. This is not specific to mobilePhone attribute. If you set any other attribute like Country or City to null, you will experience the same behavior.
Quelle: https://learn.microsoft.com/en-us/answers/questions/964298/not-able-to-update-mobilephone-and-othermails-with.html

Im Exchange Admin Portal ist der Benutzer natürlich nicht sichtbar. Ohne Exchange Lizenz bekommt er kein Postfach aber er wird auch nicht als MailUser sichtbar.

User: Alternative Mailadresse

Wenn ich mit als Admin-Benutzer selbst anmelden, kann ich ebenfalls unter https://mysignins.microsoft.com/security-info eine alternative Anmeldeinformationen eingeben. Diese Adresse ist aber nicht identisch mit der im AzureAD durch den Administrator eingetragenen Adresse. Ich habe hier testweise eine andere Adresse eingetragen.

Aktuell habe ich noch nicht die Stelle gefunden, an der AzureAD diese Kontaktadresse hinterlegt und wie wird wohl auch nicht von anderen Diensten genutzt.

Konflikt mit Kontakt

Bei meinen Test habe ich übersehen, dass es auch noch einen Exchange Kontakt in diesem Tenant gab. Im Regelfall wird es natürlich keinen Kontakt mit der alternativen Adresse gehen, wenn es in dem Tenant ein Postfach des Benutzers gibt.

Konflikt mit Postfach

Auch der Versuch den UPN des Admin-Kontos an ein bestehendes Exchange Online Postfach als "zusätzliche Adresse" zuzuweisen, wird mit einem Fehler abgebrochen:


M365 Admin Center - Versuch eine ProxyAddresse zu addieren.

D.h. auch wenn das Admin-Konto keine Exchange Lizenz und eigentlich keine ProxyAddresses hat, so ist der UPN als Mailadresse schon verbrannt.

Weitere Links