Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

$issuanceTransformRules '@RuleName = "Send MPASSid Attributes"c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("mpassUserIdentity", "mpassGivenName", "mpassSurname", "mpassAccountName", "mpassCryptID", "mpassLearnerId", "mpassMunicipalityCode", "mpassSchoolCode", "mpassClassLevel", "mpassClassCode", "mpassUserRole"), query = ";objectGuiD,givenName,sn,userPrincipalName,<cryptId>,<learnerId>,<municipalityCode>,<schoolCode>,<classLevel>,<classCode>,<userRole>;{0}", param = c.Value);';
 
$issuanceAuthorizationRules '@RuleTemplate = "AllowAllAuthzRule" => issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = "true");'
 
$name "mpass-proxy"
 
Set-ADFSRelyingPartyTrust -TargetName $name -IssuanceAuthorizationRules $issuanceAuthorizationRules -IssuanceTransformRules $issuanceTransformRules

Useamman koulukoodin lähettäminen

Jos oppilailla tai opettajilla on useita kouluja, voit välittää koulukoodit mpassSchoolCode attribuutissa puolipistein eroteltuna.

ADFS:n tiedot MPASSid:lle

...

# Haetaan käyttäjän rooli AD:n employeeType attribuutista ja lisätään (add) se käyttäjän attribuutteihin
Add Employee Type as Role
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
 => add(store = "Active Directory", types = ("http://schemas.microsoft.com/ws/2008/06/identity/claims/role"), query = ";employeeType;{0}", param = c.Value);
 
# Tutkitaan roolin arvo ja lähetetään eteenpäin (issue) arvoa vastaava tekstimuotoinen rooli
Send mpassUserRole oppilas
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/role", Value =~ "^1" ]
 => issue(Type = "mpassUserRole", Value = "oppilas"); 
 
Send mpassUserRole opettaja
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/role", Value =~ "^2" ]
 => issue(Type = "mpassUserRole", Value = "opettaja");


Roolitiedon lähettäminen OU-rakenteen mukaan.

Tätä voi hyödyntää mikäli opettajat ja oppilaat ovat omissa OU:issaan, eikä heidän käyttäjäobjekteissa ole roolitietoa missään attribuutissa.

Code Block
# Ensimmäinen claim rule - haetaan käyttäjän distinguishedName ja asetetaan se claim:distinguishedName -claimiin.
# Tämä claimia ei lähetetä ADFS:stä eteenpäin (=> add() vs => issue()).
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> add(store = "Active Directory", types = ("claim:distinguishedName"), query = ";distinguishedName;{0}", param = c.Value);

# Toinen claim rule, jossa tutkitaan sisälsikö claim OU=Oppilaat tekstin. Ja mikäli sisälsi, niin palautetaan mpassUserRole:na Oppilas.
c:[Type == "claim:distinguishedName", Value =~ "(OU=Oppilaat)"]
=> issue(Type = "mpassUserRole", Value = "Oppilas");

# Kolmas claim rule, jossa tutkitaan sisälsikö claim OU=Opettajat tekstin. Ja mikäli sisälsi, niin palautetaan mpassUserRole:na Opettaja.
c:[Type == "claim:distinguishedName", Value =~ "(OU=Opettajat)"]
=> issue(Type = "mpassUserRole", Value = "Opettaja");

Windows Server 2019 ADFS

Windows Server 2019 ADFS lisää oletuksena metadataansa contact personin email addressin tyhjänä elementtinä. Jotta metadatan validointi toimii, niin email address tulee olla määriteltynä.

...