Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

MPASSid lisätään ADFS:ään PowerShell komentojen avulla. Alla esimerkki Powershell-komennot, joilla MPASSid lisätään ADFS:ään. Komennoista on kaksi versiota riippuen siitä, että luetaanko MPASSid:n metadata internetin kautta vai paikallisesta kopiosta. 

MPASSid:n metadata url-osoitteella

$name "mpass-proxy"
$metadataUrl "https://mpass-proxy.csc.fi/Shibboleth.sso/Metadata"
 
Add-ADFSRelyingPartyTrust -MetadataUrl $metadataUrl -Name $name -AutoUpdateEnabled $true -EncryptClaims $true -SignedSamlRequestsRequired $true -EncryptionCertificateRevocationCheck none -SigningCertificateRevocationCheck none

MPASSid:n metadata paikallisesti

Kopioi ensin MPASSid:n metadata ADFS-palvelimelle haluamaasi hakemistoon mpass-proxy-metadata.xml nimellä.

Päivitä alla oleviin komentoihin metadatatiedoston sijainti ja nimi, jos käytit jotain toista tiedostonimeä.

$name "mpass-proxy"
$metadataFile "c:\<hakemisto>\mpass-proxy-metadata.xml"
 
Add-ADFSRelyingPartyTrust -MetadataFile $metadataFile -Name $name -EncryptClaims $true -SignedSamlRequestsRequired $true -EncryptionCertificateRevocationCheck none -SigningCertificateRevocationCheck none
 
 
# MPASSid:n tiedot voi päivittää metadatasta komennolla
Update-AdfsRelyingPartyTrust -TargetName $name -MetadataFile $metadataFile

MPASSid:lle lähetettävien attribuuttien määrittely

ADFS:lle määritellään claim rulejen avulla mitä attribuutteja käyttäjästä välitetään palveluun kirjautumisen yhteydessä. Tarvittavat määritykset voi tehdä joko Powershell-komennoilla, kopioimalla ja tarvittaessa muokkaamalla tämän ohjeen esimerkki claim ruleja tai määrittämällä ne ADFS:n hallintakonsolista. Löydät tarkemmin tietoa claim ruleista tämän ohjeen Claim Rulet kohdasta.

Päivitä alla oleviin komentoihin MPASSid:lle lähetettäviä attribuutteja vastaavat AD:n attribuutit. Types kohdassa määritellään minkä tyyppisenä attribuutit lähetetään MPASSid:lle ja query kohdassa määritellään mistä AD:n attribuutista vastaava attribuutti löytyy. Types ja query kohtien attribuuttien järjestys vastaa toisiaan.

MPASSid:n claim rslejen määritys

$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", "mpassMunicipalityCode", "mpassSchoolCode", "mpassClassLevel", "mpassClassCode", "mpassUserRole"), query = ";objectGuiD,givenName,sn,userPrincipalName,cryptID,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

Claim Rulet

Alla esimerkki claim rule määrityksiä. Näitä voi kopioida ja liittää ADFS:n Relying Partyn määrityksiin ADFS:n hallintakonsolista. Määrityksiin pitää muokata mistä AD:n attribuutista MPASSid:lle lähetettävä attribuutti löytyy.

  • Claim rule tekee kyselyn AD:lle ja hakee kyselyssä määritellyt attribuutit
  • Types -kohdassa on määritelty minkä tyyppisinä attribuutit lähetetään MPASSid:lle ja query kohdassa on määritelty mistä AD:n attribuutista haluttu tieto löytyy.
  • Types ja query kohtien järjestys vastaa toisiaan. Eli esimerkiksi mpassUserIdentity attribuutti haetaan AD:n objectGuid attribuutista.
  • Voit lisätä, muuttaa ja poistaa attribuutteja tarvittessa. Jos esimerkiksi käyttäjän tiedoista AD:lla ei löydy kuntakoodia, niin poista types kohdasta "mpassMunicipalityCode" ja query kohdasta vastaava attribuuttti

Send MPASSid Attributes
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
 => issue(store = "Active Directory", types = ("mpassUserIdentity""mpassAccountName""mpassGivenName""mpassSurname""mpassCryptID""mpassMunicipalityCode""mpassSchoolCode""mpassClassLevel""mpassClassCode""mpassUserRole"), query = ";objectGuiD,userPrincipalName,givenName,sn,<cryptID>,<municipalityCode>,<schoolCode>,<classLevel>,<classCode>,<userRole>;{0}", param = c.Value);

Esimerkkejä erilaisista claim ruleista

Jos määrittelet MPASSid:lle lähetettäviä attribuutteja erillisillä claim ruleilla, niin varmista ettei niitä lähetä myös jossain toisessa attribuutissa.

Kuntakoodin lähettäminen kiinteänä arvona

Send mpassMunicipalityCode
=> issue(Type = "mpassMunicipalityCode", Value = "123");


Numeerisen roolitiedon muuttaminen tekstimuotoiseksi

# 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 henklökunta
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/role", Value =~ "^0" ]
 => issue(Type = "mpassUserRole", Value = "henkilökunta");
 
 
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");

  • No labels