ADFS Password Change Konfiguration

Seit ADFS 3.0 (Windows Server 2012 R2) ist es möglich, ein Self-Service Portal zur Änderung der Passwörter bereitzustellen. Dies ist besonders dann wichtig, wenn die lokalen Active Directory Konten zu Microsoft Azure AD synchronisiert sind, um Benutzern die Änderung des Passworts zu ermöglichen, die z.B. ausschließlich extern arbeiten und nie im Firmennetzwerk sind. Im folgenden Beitrag zeige ich euch die Schritte, um dies zu konfigurieren.

Endpoint Konfiguration

Als erstes muss der Password Change Endpoint in ADFS aktiviert werden, entweder über die PowerShell oder über die ADFS Management Konsole. Der dafür benötigte Endpoint lautet /adfs/portal/updatepassword. Zusätzlich muss der Endpoint über ADFS Proxy aktiviert werden, wenn die Funktion von extern aus verfügbar sein soll.

Endpoint Konfiguration per PowerShell

Set-AdfsEndpoint -TargetAddressPath "/adfs/portal/updatepassword" -Enabled $true -Proxy $true
Restart-Service -Name adfssrv   # !Service Restart muss auf jedem ADFS-Server und ADFS-Proxy-Server ausgeführt werden!

Endpoint Konfiguration per ADFS Management Konsole

In der ADFS Management Konsole navigiert ihr zu Service\Endpoints und sucht in der Liste der Endpoints unten nach dem o.g. Endpoint.

Der Endpoint wird per Rechtsklick -> Enable aktiviert.

Danach müssen die ADFS Dienste auf allen Servern der ADFS Farm neu gestartet werden.

Im Anschluss daran wird per Rechtsklick -> Enable on Proxy die Proxy-Option aktiviert.

Die ADFS Server und die ADFS Proxies müssen abschließend erneut neu gestartet werden.

Damit ist die generelle Funktion zum Ändern des Passworts gegeben. Die Seite zum Ändern des Passworts lässt sich über folgende URL testen: https://<adfs.domain.com>/adfs/portal/updatepassword.

Password Expiry Claims

Um eine Password Expiry Notification anzuzeigen ist zu prüfen, ob in den Relaying Party Trusts (RPT) für die Password Expiry eine Claims Rule und eine dazugehörige Issuance Policy existiert und falls nicht, diese anzulegen. Ist ADFS für Office 365 bereits in Betrieb, sollte hier ein RPT mit Namen Microsoft Office 365 Identity Platform existieren. Auch die Claims Rule kann per PowerShell oder per ADFS Managment Konsole konfiguriert werden.

Der Inhalt der Regel für die Password Expire Claims muss wie folgt lauten;

c1:[Type == "http://schemas.microsoft.com/ws/2012/01/passwordexpirationtime"]
 => issue(store = "_PasswordExpiryStore",
 types = ("http://schemas.microsoft.com/ws/2012/01/passwordexpirationtime",
 "http://schemas.microsoft.com/ws/2012/01/passwordexpirationdays",
 "http://schemas.microsoft.com/ws/2012/01/passwordchangeurl"),
 query = "{0};",
 param = c1.Value);

Claims Konfiguration per PowerShell

Mit der PowerShell Variante wird zuerst geprüft, ob ein RPT mit einer entsprechenden Claims Rule existiert.

Get-AdfsRelyingPartyTrust -Name 'Microsoft Office 365 Identity Platform' | Select-Object -Property Name, IssuanceTransformRules | Format-List

Ist keine entsprechende Konfiguration vorhanden, wird eine neue Claims Rule definiert und dann mit dem entsprechenden RPT verbunden.

$ClaimRules = @'
@RuleName = "Issue Password Expiry Claims"
c1:[Type == "http://schemas.microsoft.com/ws/2012/01/passwordexpirationtime"]
 => issue(store = "_PasswordExpiryStore",
 types = ("http://schemas.microsoft.com/ws/2012/01/passwordexpirationtime",
 "http://schemas.microsoft.com/ws/2012/01/passwordexpirationdays",
 "http://schemas.microsoft.com/ws/2012/01/passwordchangeurl"),
 query = "{0};",
 param = c1.Value);
'@
Set-AdfsRelyingPartyTrust -TargetName 'Microsoft Office 365 Identity Platform' -IssuanceTransformRules $ClaimRules

Claims Konfiguration per ADFS Management Konsole

In der ADFS Management Konsole navigiert man zu den RPT. Per Rechtsklick auf den RPT Microsoft Office 365 Identity Platform wählt man zur Überprüfung der Rules Edit Claim Issuance Policy aus.

Im folgenden Fenster werden die dazugehörigen Issuance Transformation Rules angezeigt. Im Normalfall existiert bereits eine entsprechende Regel für die Password Expiry Claims, falls nicht kann eine Regel dazu angelegt werden.

Password Reset Link

Zum Thema Customizing und wie man eigene Buttons/Links in die ADFS Seite einbindet, gibt es hier eine ausführliche Doku von Microsoft. Für eine Weiterleitung zur Self-Service Seite eignet sich z.B. die Sign-In Description. Diese lässt sich relativ einfach per PowerShell konfigurieren. Einen einfachen Text mit Link konfiguriert man z.B. wie folgt:

Set-AdfsGlobalWebContent -SignInPageDescriptionText "<p>Click <a href='https://<adfs.domain.com>/adfs/portal/updatepassword'>here</a> to change your password.</p>"

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.