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

Compare with Current View Page History

« Previous Version 24 Next »

Tässä dokumentissa kuvataan lyhyesti MPASSid palvelun käyttöönottaminen AzureAD integraatiota hyödyntäen. Ennakkovaatimuksena integraatiolle on että MPASSid tietomallin mukaiset tiedot ovat luettavissa käyttäjähakemistosta. Lisätietoja tietosisällöllisistä vaatimuksista löytyy täältä: https://wiki.eduuni.fi/x/8rMID

AzureAD:n konfigurointi

1. Microsoft Azure portaalissa valitse "App registrations" ja "New registration"


Redirect URI jätetään tässä vaiheessa tyhjäksi. Kun integraatio on MPASSid:n puolelle kytketty, niin saat meiltä redirect URI:n, joka tulee päivittää yllä olevaan kohtaan.

2. Lisää kohtaan "Add an Application ID URI": 

Klikkaa Set:

Application ID URI -kenttään tulee automaattisesti "api://<guid> arvo. Ota se talteen ja paina Save


3. Anna tarvittavat käyttöoikeudet Azure AD:hen. Valitse vasemmasta valikosta "API permissions" ja sen jälkeen "Add a permission"

Valitse Microsoft Graph

Delegated permissions

    • Oletuksena pitäisi olla jo: User.Read (Sign in and read user profile)

 Application permissions

    • User / User.Read.All (Read all users' full profiles)


Hyväksy muutokset painamalla: "Grant admin consent for ...".


4. MPASSid sovellus tarvitsee salasanan päästäkseen integroitumaan AzureAD:n kanssa

Valitse vasemmalta "Certificates & secrets"

Luo uusi client secret.

Anna avaimelle nimi ja valitse haluamasi avaimen voimassaoloaika. Valitse Add ja muista kopioida avain tässä kohtaa talteen, koska et enää pääse näkemään sitä suljettuasi sivun.   

Huom: Ota avaimen voimassaoloaika talteen, koska MPASSid:n kirjautumiset lakkaavat toimimasta mikäli avainta ei uusita Azure AD:n ja MPASSid:n päässä ennen sen vanhenemista. Uusi client secret tulee toimittaa viimeistään viikkoa ennen vanhan vanhenemista MPASSid:n tukeen.


5.  MPASSid tiimi tarvitsee seuraavat tiedot asennuksen viimeistelemiseksi

  • Application (client) ID
  • Directory (tenant) ID 
  • Client secret (avain) ja avaimen voimassaolon päättymisajankohta
  • Application ID URI (api://<guid>)
  • Tiedon mistä Azure AD:n attribuuteista MPASSid:lle välitettävät käyttäjätiedot löytyvät (Kts. Integraation testaaminen).


6. Azure AD attribuuttien nimien varmistaminen

Azure AD:ssa attribuuttien tekniset nimet saattavat poiketa graafisen käyttöliittymän nimistä. MPASSid hakee tiedot Microsoft Graph API:n kautta. Sitä kautta noudettaessa tulee tietää attribuuttien tekniset nimet ja attribuuttien kirjainkoonkin tulee olla oikein (surname vs Surname).

Alla olevan powershell funktion avulla voi varmistaa attribuuttien kirjoitusasun hakemalla esimerkiksi jonkin Azure AD:ssa olevan testitunnuksen tiedot. Onkin suositeltavaa testata ensin sen avulla attribuuttien oikea kirjoitusasu.

Funktio copy-pastetaan powershell ikkunaan ja sen jälkeen sitä kutsutaan getAccountAttributes -komennolla samassa ikkunassa.


function getAccountAttributes {
    param (
        [Parameter()]
        [string] $clientID,
        [Parameter()]
        [string] $clientSecret,
        [Parameter()]
        [string] $tenantID,
        [Parameter()]
        [string] $userPrincipalName,
        [Parameter()]
        [string] $optionalAttributes
    )
 
 
    $ReqTokenBody = @{
        Grant_Type    = "client_credentials"
        Scope         = "https://graph.microsoft.com/.default"
        client_Id     = $clientID
        Client_Secret = $clientSecret
    }
     
    $TokenResponse = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenantID/oauth2/v2.0/token" -Method POST -Body $ReqTokenBody
 
    if ( !$optionalAttributes )
    {
        $apiUrl = "https://graph.microsoft.com/v1.0/users/" + $userPrincipalName
    } else {
        $apiUrl = "https://graph.microsoft.com/v1.0/users/" + $userPrincipalName + "?`$select=displayName,givenName,surname,userPrincipalName,id,$optionalAttributes "
    }
 
    $Data = Invoke-RestMethod -Headers @{Authorization = "Bearer $($Tokenresponse.access_token)"} -Uri $apiUrl -Method Get
 
    return ( $data )
}
 
# Esimerkki funktion käytöstä. 
# Ilman -optionalAttributes parametria komento hakee käyttäjäobjektin perustiedot (näyttönimi, etunimi, sukunimi ja UPN).
# Voit lisätä -optionalAttributes parametriin lisää attribuuttien nimiä pilkulla eroteltuina.
# Vaihda x, y, ja z arvoiksi yllä luomasi App registration:n ja Azure AD tenantin tiedot.

getAccountAttributes -clientID "xxxxxxxxxxxxxxxxxxxxxxx" -clientSecret "yyyyyyyyyyyyyyyyy" -tenantID "zzzzzzzzzzzzzzzzzzzz" -userPrincipalName "<haettavatunnus@domain.onmicrosoft.com>" -optionalAttributes "city,companyName,Department,department,faxNumber,jobTitle,officeLocation,onpremisesextensionattributes,postalCode,state,streetAddress"





Tässä dokumentissa kuvataan lyhyesti MPASSid palvelun käyttöönottaminen AzureAD integraatiota hyödyntäen. Ennakkovaatimuksena integraatiolle on että MPASSid tietomallin mukaiset tiedot ovat luettavissa käyttäjähakemistosta. Lisätietoja tietosisällöllisistä vaatimuksista löytyy täältä: https://wiki.eduuni.fi/x/8rMID

AzureAD:n konfigurointi

1. Microsoft Azure portaalissa valitse "App registrations" ja "New registration"


Redirect URI jätetään tässä vaiheessa tyhjäksi. Kun integraatio on MPASSid:n puolelle kytketty, niin saat meiltä redirect URI:n, joka tulee päivittää yllä olevaan kohtaan.

2. Lisää kohtaan "Add an Application ID URI": 

Klikkaa Set:

Application ID URI -kenttään tulee automaattisesti "api://<guid> arvo. Ota se talteen ja paina Save


3. Anna tarvittavat käyttöoikeudet Azure AD:hen. Valitse vasemmasta valikosta "API permissions" ja sen jälkeen "Add a permission"

Valitse Microsoft Graph

Delegated permissions

    • Oletuksena pitäisi olla jo: User.Read (Sign in and read user profile)

 Application permissions

    • User / User.Read.All (Read all users' full profiles)


Hyväksy muutokset painamalla: "Grant admin consent for ...".


4. MPASSid sovellus tarvitsee salasanan päästäkseen integroitumaan AzureAD:n kanssa

Valitse vasemmalta "Certificates & secrets"

Luo uusi client secret.

Anna avaimelle nimi ja valitse haluamasi avaimen voimassaoloaika. Valitse Add ja muista kopioida avain tässä kohtaa talteen, koska et enää pääse näkemään sitä suljettuasi sivun.   

Huom: Ota avaimen voimassaoloaika talteen, koska MPASSid:n kirjautumiset lakkaavat toimimasta mikäli avainta ei uusita Azure AD:n ja MPASSid:n päässä ennen sen vanhenemista. Uusi client secret tulee toimittaa viimeistään viikkoa ennen vanhan vanhenemista MPASSid:n tukeen.


5.  MPASSid tiimi tarvitsee seuraavat tiedot asennuksen viimeistelemiseksi

  • Application (client) ID
  • Directory (tenant) ID 
  • Client secret (avain) ja avaimen voimassaolon päättymisajankohta
  • Application ID URI (api://<guid>)
  • Tiedon mistä Azure AD:n attribuuteista MPASSid:lle välitettävät käyttäjätiedot löytyvät (Kts. Integraation testaaminen).


6. Azure AD attribuuttien nimien varmistaminen

Azure AD:ssa attribuuttien tekniset nimet saattavat poiketa graafisen käyttöliittymän nimistä. MPASSid hakee tiedot Microsoft Graph API:n kautta. Sitä kautta noudettaessa tulee tietää attribuuttien tekniset nimet ja attribuuttien kirjainkoonkin tulee olla oikein (surname vs Surname).

Alla olevan powershell funktion avulla voi varmistaa attribuuttien kirjoitusasun hakemalla esimerkiksi jonkin Azure AD:ssa olevan testitunnuksen tiedot. Onkin suositeltavaa testata ensin sen avulla attribuuttien oikea kirjoitusasu.

Funktio copy-pastetaan powershell ikkunaan ja sen jälkeen sitä kutsutaan getAccountAttributes -komennolla samassa ikkunassa.


function getAccountAttributes {
    param (
        [Parameter()]
        [string] $clientID,
        [Parameter()]
        [string] $clientSecret,
        [Parameter()]
        [string] $tenantID,
        [Parameter()]
        [string] $userPrincipalName,
        [Parameter()]
        [string] $optionalAttributes
    )
 
 
    $ReqTokenBody = @{
        Grant_Type    = "client_credentials"
        Scope         = "https://graph.microsoft.com/.default"
        client_Id     = $clientID
        Client_Secret = $clientSecret
    }
     
    $TokenResponse = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenantID/oauth2/v2.0/token" -Method POST -Body $ReqTokenBody
 
    if ( !$optionalAttributes )
    {
        $apiUrl = "https://graph.microsoft.com/v1.0/users/" + $userPrincipalName
    } else {
        $apiUrl = "https://graph.microsoft.com/v1.0/users/" + $userPrincipalName + "?`$select=displayName,givenName,surname,userPrincipalName,id,$optionalAttributes "
    }
 
    $Data = Invoke-RestMethod -Headers @{Authorization = "Bearer $($Tokenresponse.access_token)"} -Uri $apiUrl -Method Get
 
    return ( $data )
}
 
# Esimerkki funktion käytöstä. 
# Ilman -optionalAttributes parametria komento hakee käyttäjäobjektin perustiedot (näyttönimi, etunimi, sukunimi ja UPN).
# Voit lisätä -optionalAttributes parametriin lisää attribuuttien nimiä pilkulla eroteltuina.
# Vaihda x, y, ja z arvoiksi yllä luomasi App registration:n ja Azure AD tenantin tiedot.

getAccountAttributes -clientID "xxxxxxxxxxxxxxxxxxxxxxx" -clientSecret "yyyyyyyyyyyyyyyyy" -tenantID "zzzzzzzzzzzzzzzzzzzz" -userPrincipalName "<haettavatunnus@domain.onmicrosoft.com>" -optionalAttributes "city,companyName,Department,department,faxNumber,jobTitle,officeLocation,onpremisesextensionattributes,postalCode,state,streetAddress"





  • No labels