Azure MFA met ADFS integratie en meerdere voorwaarden

Microsoft Azure MFA met ADFS integratie is bij het gebruik van de on-premises software mogelijk met de AD FS adapter. Binnen de ADFS-omgeving komt daarmee de WindowsAzureMultiFactorAuthentication provider beschikbaar zoals te zien is in de volgende afbeelding:

ADFS MFA Provider

Op ditzelfde tabblad kunnen er instellingen worden gemaakt onder welke condities gebruikers van de diensten wel of geen multi factor authenticatie vraag krijgen.

De eerste mogelijkheid is het toevoegen van een groep uit de Active Directory. Hiermee kan worden gespecificeerd dat alle leden van de betreffende groep multi factor moeten authenticeren.

ADFS-MFA-Groep

Hierbij kan ook onderscheid gemaakt worden tussen Registered en Unregistered devices:

ADFS-MFA-Devices

Dit betekent:
Registered devices: is een workplace-joined apparaat.
Unregistered devices: is een niet-geregistreerd apparaat.

Als laatste kan hier worden aangegeven of multi factor ingelogd dient te worden afhankelijk van intranet of extranet.

ADFS-MFA-Location

Dit betekent:
Intranet: Voor intranetbronnen is standaard geïntegreerde Windows-authenticatie vereist.
Extranet: Voor extranetbronnen is standaard authenticatie op basis van formulieren vereist

In sommige situaties zou je, om een bepaald doel te bereiken, een combinatie van deze opties willen gebruiken. Dit is helaas niet mogelijk vanuit de console, maar zal er via powershell een nieuwe additionele authenticatie regel ingesteld moeten worden waarbij het wel mogelijk is om de combinaties te maken.

In onderstaand voorbeeld is de wens voor de combinatie aanwezig en zal deze gezet worden.

Case Azure MFA met ADFS voor Citrix-omgeving

Een klant heeft een on-premises omgeving met daarin een ADFS-omgeving die meerdere federaties heeft met externe partijen waaronder Office 365. Daarnaast is er een Citrix omgeving beschikbaar. Alle gebruikers beschikken over een Office 365 licentie, hebben een mailbox in de cloud en werken samen in SharePoint online.

Wens voor Authenticatie: alle gebruikers worden beschouwd als extern behalve als men vanaf Citrix komt. Alle externe gebruikers dienen middels Multi Factor te authenticeren. Vanaf Citrix is Multi Factor niet nodig. Daarnaast wil men een geleidelijke invoering zodat er per gebruikers groep geïnstrueerd kan worden.

Het onderscheidt tussen een gebruiker welke via Citrix komt en welke niet via Citrix komt is relatief eenvoudig. De gebruikers op de Citrix omgeving worden naar de interne kant van AD FS geleid en authenticeren middels de gebruikelijke windows authenticatie. Alle overige gebruikers worden via DNS naar de AD FS Proxies geleid en authenticeren dus altijd form-based.

Om daarnaast een gefaseerde invoering te kunnen doen zullen we in dit voorbeeld een groep toevoegen.

Om te voldoen aan deze criteria zetten we middels powershell de condities op de betreffende relaying party waarbij deze gecombineerd worden middels het volgende powershell commando:

$relyingparty = Get-AdfsRelyingPartyTrust –Name "Microsoft Office 365 Identity Platform"
Set-AdfsRelyingPartyTrust –TargetRelyingParty $relyingparty –AdditionalAuthenticationRules 'c: [Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == <<HIER KOMT DE SID VAN DE BETREFFENDE GROEP>>"] &amp;&amp; [Type ==&nbsp; "http://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", Value == "false"] =&gt; issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", Value = "http://schemas.microsoft.com/claims/multipleauthn");'

Let er op dat je bovenstaande powershell commando aanpast met de juiste RelyingPartyTrust en de juiste SID van de betreffende groep.

Om op relaying party niveau de gezette additionele authenticatie regel weer te verwijderen kan het volgende commando worden gebruikt:

$newMFARule = ""
Set-AdfsRelyingPartyTrust -TargetName "Microsoft Office 365 Identity Platform" -AdditionalAuthenticationRules $newMFARule

Eventueel kan dit ook op globaal niveau gezet worden met het volgende commando in powershell:

Set-AdfsAdditionalAuthenticationRule –AdditionalAuthenticationRules 'c: [Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == "<<HIER KOMT DE SID VAN DE BETREFFENDE GROEP>>"] &amp;&amp; [Type ==&nbsp; "http://schemas.microsoft.com/ws/2012/01/insidecorporatenetwork", Value == "false"] =&gt; issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", Value = "http://schemas.microsoft.com/claims/multipleauthn");'

Let er op dat je bovenstaande powershell commando aanpast met de juiste RelyingPartyTrust en de juiste SID van de betreffende groep.

Om op globaal niveau de gezette additionele authenticatie regel weer te verwijderen kan het volgende commando worden gebruikt:

Set-AdfsAdditionalAuthenticationRule -AdditionalAuthenticationRules $NULL

Wanneer je via powershell de additionele authenticatie regels toevoegt, verdwijnt daarmee ook de mogelijkheid om deze te bekijken en/of aan te passen via de console.

ADFS-MFA-Manage

Uiteraard zijn deze wel eenvoudig via powershell op te vragen.

De mogelijkheid om op deze manier combinaties te maken is wat ons betreft een erg sterke functionaliteit welke zeker van pas komt en gaat komen. Opmerkingen of andere wensen? Reageer hieronder.

Bron: o.a. MSDN

mm

Over René Berendsen

Team Lead (Techniek) van het Moderne Werkplek team bij Winvision

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *