Při autentizaci je vyžadováno ze strany Microsoftu vracení hodnoty ImmutableID uživatele v atributu NameID, který posílá 2Element. Každý uživatel z lokálního Active Directory, který je synchronizovaný do Azure, má ImmutableID s hodnotou BASE64 atributu objectGUID z lokálního AD. Pokud je uživatel vytvořen pouze v Azure AD, pak nemá žádné ImmutableID nastaveno, je třeba mu ho nastavit, a potom vracet při autentizaci.
...
Podrobná oficiální dokumentace k SSO je k dispozici na adrese:
https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-fed-saml-idp
Nastavení na straně 2Element
Vytvoříme Je potřeba vytvořit novou chráněnou aplikaci s nastavením:
...
Typ
...
SAML
...
Konfigurační profil
...
Microsoft 365
...
SP entity ID
...
urn:federation:MicrosoftOnline
...
URL pro Assertion Consumer Service (ACS)
...
https://login.microsoftonline.com/login.srf
...
Režim podpisu
...
Assertion/Response
...
Formát elementu NameID
...
Sync GUID (Base64)
2. Nastavení na straně Microsoft 365
Nastavení je třeba provést přes powershell
Code Block | ||
---|---|---|
| ||
# Nainstalujeme modul MSOnline
Install-Module MSOnline
# Připojíme se k Office 365 (vyskočí dialog na přihlášení v prohlížeči)
Connect-MsolService
# Nastavíme proměnné pro autentizaci, které vychází z chráněné aplikace v elementu např.
$domain = "sonpo.eu"
$brandName = "2Element SAML 2.0 IDP"
$logOnUri = "https://2element.sonpo.cz/sso/saml/post"
$logOffUri = "https://2element.sonpo.cz/sso/saml/logout"
$ecpUri = "https://2element.sonpo.cz/sso/saml/post"
$myURI = "https://2element.sonpo.cz"
$mySigningCert = "MIICuzCCAaOgAwIBAgIJAJwETO0CGVijMA0GCSqGSIb3DQEBCwUAMBwxGjAYBgNVBAMMETJFbGVtZW50IFNBTUwgSWRQMCAXDTIyMTAwNTE0NDIwNFoYDzIwNTIwOTI3MTQ0MjA0WjAcMRowGAYDVQQDDBEyRWxlbWVudCBTQU1MIElkUDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL6vNC1h0tGaB9Gjk2U6YHwCv4/lD5cak8T6ekf7ihlOcmPKoROvoM9jZQb2yTp5xbMo9RMkoxRLKOkB8Gpp3In66PSLokhg87Sen2w3XWH1dXoIELPAenctqGNjM2Pmw8jBCa759Xstn33E+rGq10lgZLlme2n52KLyLL0bjVydRCp0ibEmXjMdqJ03T4vGrNkRid85qAaQrRO2sr04p5iGAlZRRXNRMoSA8GeJ62Dp6IIlXHRHhhwGOYl+VM1UJ5A2S5lZ0yCS27RqQRSGwyf/XcSu5zh9wgUsKQ1072dInlfj+tMbuZGY9mT4vJtUxH951+REWfPHYeQv+mXb1E0CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAtrB72hQVxSGyd+l8QGonm3xcIkzSdLnpIlpjW39TJJ3MJiueTvlCu2h92s61uInMDUpMQjJhUQV5NCs+cRAaqHgsjQTqN9JthvN6nBKknLispYumbrONiqCLT1D6WqEQRyjCm3w8C72bPtMpBA0RjMb8/1hEjaiYIF2iPqxgy6JmC9lu+YvbmJCBRjtxDXPu9tpZGPH0ccxcjYOw286l/iG/omDQhq+PIS5b2OClx6iflJDuuEmEnBoGMmdrIwqJyh4GF7S83UBhnB/RLXl4Sg+8EHAvwIK8iUwLcu6PwnN5YJd7pqmLTAuTqEUFElWUNzJRDSFu2ZRrsowIuaI/+Q=="
$uri = "https://2element.sonpo.cz/sso/saml/post"
$protocol = "SAMLP"
# Změníme autentizaci z managed na federation pro doménu
Set-MsolDomainAuthentication -DomainName $domain -FederationBrandName $brandName -Authentication Federated -PassiveLogOnUri $logOnUri -ActiveLogOnUri $ecpUri -SigningCertificate $mySigningCert -IssuerUri $myURI -LogOffUri $logOffUri -PreferredAuthenticationProtocol $protocol |
Nyní by autentizace uživatelů v doméně měla být směrována přes SAML na 2Element aplikaci.
Pro změnu zpět a další informace je možné použít tyto powershell příkazy
...
language | powershell |
---|
...
(Nastavení - Chráněné aplikace - Přidat) typu SAML a vybrat konfigurační profil Microsoft 365. Po vytvoření aplikace je zobrazen její detail.
Nastavení na straně Microsoft 365
V detailu chráněné aplikace v sekci Informace pro integraci zobrazím pomocí tlačítka Zobrazit vzorovou CLI konfiguraci PowerShell skript pro nastavení integrace s 2Element (“federace”).
V zobrazeném dialogovém okně zadáme doménu kterou chceme integrovat s 2Element a výsledný PowerShell skript stáhneme a spustíme v PowerShellu. Pro úspěšnou integraci jsou nutné přístupové údaje administrátora v Azure Active Directory.
V případě potřeby integrace více domén akci opakujeme s jinou doménou.