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.
1. Nastavení na straně 2Element
Vytvoříme 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) | |
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
# 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
# Zobrazení nastavení pro doménu $domain = "sonpo.eu" Get-MsolDomainFederationSettings -DomainName $domain # Vypnutí nastavení federace pro doménu $domain = "sonpo.eu" Set-MsolDomainAuthentication -DomainName $domain -Authentication managed # Zobrazení uživatelských ImmutableID Get-MsolUser -All | Select-Object UserprincipalName,ImmutableID # Změna uživatelských ImmutableID Set-MsolUser -UserPrincipalName testuser@sonpo.eu -ImmutableId testuser@sonpo.eu